INTRODUCTION A LA PROGRAMMATION ORIENTEE OBJET ET AU LANGAGE C++
Principes généraux de la programmation
Choix du langage de programmation
Plusieurs possibilités :
- le langage peut être imposé à priori (disponibilité, stratégie d’entreprise, connaissance préalable du programmeur, etc.). La méthode de résolution choisie devra alors tenir compte de ces caractéristiques.
- le choix du langage est ouvert. Il devra être fait en fonction du type du problème (calcul scientifique, gestion , application système, etc.).
Un autre point de vue est qu’un langage de programmation n’est que le support de la pensée et le programme obtenu doit être, si possible, indépendant du langage choisi.
Dans tout ce qui suit, le langage utilisé pour illustrer les exemples sera le C++.
Méta langage
Un métalangage est un langage utilisé pour décrire un algorithme. Des conventions sont utilisées pour décrire les différentes opérations autorisées (affectation, boucle, etc.).
Commentaires
Un programme est destiné à être lu. C’est pourquoi il est indispensable de le commenter.
Þ Exemple
// Ceci est un commentaire
Þ Situation
Une analyse de la situation du programme est nécessaire. Dans tout ce qui suit, les situations seront décrites entre les délimiteurs // .
Règles d’or de la programmation
Þ Clarté
La lisibilité d’un programme est essentielle à sa maintenance et à son développement. Il faut toujours se rappeler qu’un programme est destiné avant tout à être utilisé par d’autres et qu’il est appelé à évoluer. Dans une entreprise, tout programmeur devra, en principe, être capable de comprendre sa structure et de le modifier.Le programme devra être présenté de telle sorte qu’on puisse comprendre, rien qu’en le voyant, sa structure globale. Il doit être clair, lisible, bien présenté.
Þ Contre‑exemple
x = a; y = b;
x = x‑y; y = y‑x; x = y‑x; y = x‑y; // que valent (x,y,z) après exécution de l’instruction
Þ Nom des objets
Les noms des objets (variables, fonctions, procédures) doivent être appropriés.
Þ Exemple
float r; // que représente r ?
float rayon // c’est mieux
Þ Identification des procédures
Chaque procédure ou fonction doit être identifiée par une en tête qui spécifie son action, ses arguments et leur domaine de validité, ses effets de bord et ses limitations. Ces entêtes doivent respecter un format uniforme permettant l’extraction automatique d’un manuel de référence à partir du texte du programme.
Les variables devront être regroupées par type, thèmes, etc.
Des commentaires devront indiquer :
- la méthode de résolution choisie,
- la description des conventions utilisées pour nommer les variables,
- les fonctions et les procédures utilisées,
- les bibliothèques appelées,
- les éventuelles astuces de programmation (à éviter en principe).
Þ Exemple
// programme de résolution d’une équation du 2° degré
// coefficients de l’équation a, b ,c à valeurs réelles
// solution réelles et complexes
// Programmeur : tartempion le 10 Janvier 2018
// variables utilisées
// float a, b ,c ;
// etc.
Grammaire
Langage et grammaire
Tout langage de programmation est défini par l’utilisation de règles très précises que le programmeur devra respecter de façon impérative. Certains langages sont très rigoureux de telle sorte que le programmeur n’ait aucun choix possible à part le bon (langage PASCAL).D’autres sont plus permissifs (langage C).Chaque langage a ses propres règles de grammaire.
Syntaxe et sémantique
Þ Syntaxe
La syntaxe d’une instruction est son mode d’emploi. Elle est vérifiée par le compilateur ou l‘interprète de commandes qui procède à une analyse syntaxique préalablement à toute exécution.
Þ Sémantique
Sa sémantique correspond à l’action qu’elle exécute.
Pour qu’un programme fonctionne correctement, les deux conditions suivantes sont nécessaires et non suffisantes : il doit être correct sur les plans syntaxique et sémantique car certaines instructions peuvent être correctes sur le plan syntaxique et fausses sur le plan sémantique.
Þ Exemple
En C, l’instruction
if (i = 1)
est syntaxiquement correcte et sémantiquement fausse.
Mots clés
Le langage est constitué par un ensemble de mots clés qui représentent les instructions autorisées. Ils ont une syntaxe d’utilisation définie par sa grammaire.
Þ Exemple
La liste ci-dessous récapitule pratiquement la totalité des mots clés du langage C.
Þ Déclarations de type
char double enum float int long short signed sizeof struct typedef union unsigned void
Þ Déclarations de la classe de mémorisation
auto extern register static const volatile
Þ Structures de contrôle
break case continue default do else for goto if return switch while
Représentation interne des objets
Les différents objets que l’on manipule peuvent être (liste non exhaustive) :
- des nombres (entiers, relatifs, réels, complexes),
- des caractères (français, allemand, russes, etc.),
- du son,
- de l’image,
- etc.
Ils ont une représentation digitale interne en fonction des déclarations de type qui la masquent.
Objets de base du langage
Tout langage de programmation permet de manipuler des objets dits « de base ». Ainsi, le C permet de manipuler des objets scalaires (entiers, réels, caractères), des vecteurs sous forme de tableaux. A chacun de ces objets est associé un ou plusieurs types :
objet déclaration de type
entier naturel int, short, unsigned
entier relatif int, short, signed
rationnel float, double
réel float, double
caractère char
vecteur tableau
etc.