« Initiation à la programmation/Généralités » : différence entre les versions

Contenu supprimé Contenu ajouté
Page créée avec « {{Chapitre | idfaculté = sciences de l'ingénieur | niveau = 12 | numéro = 1 | suivant = ../L'algorithm/ }} == Introduction == Un programme... »
 
Aucun résumé des modifications
Ligne 23 :
 
== La programmation structurée ==
 
{{multiple image
| footer = Représentation graphique symbolique d'un programme et de ses sous fonctions.
 
| image1 = Graphical representation of software 01.jpg
| width1 = 150
 
| image2 = Graphical representation of software 02.jpg
| width2 = 150
}}
 
Un programme doit être construit, du point de vue le plus générale jusqu'au point de vue le plus spécifique. C'est ce que l'on nomme une analyse descendante.
 
Si le rectangle (ci-dessous) le plus grand représente le programme global et que les plus petits représentent les blocs fonctionnels dont il est constitué, on a d'une part :
 
# Une structure de programme mal écrit où tous les blocs fonctionnels sont interdépendants. Avec des efforts de bord, où le programme sollicite des ressources qui n'ont pas été définis auparavant.
# Une structure d'un programme bien écrit, chaque fonction est décomposée en fonction plus petite et indépendante.
 
== L'analyse descendante ==
 
La programmation est avant tout une méthode d’analyse et non d'apprentissage d'un langage.
 
Une fois la méthode assimiler et mise en place, il suffit de la traduire dans le langage approprié pour avoir son programme qui fonctionne sous divers systèmes d'exploitation (''operating system'', ''OS'').
 
L'analyse descendante permet d'avoir :
 
* une conception plus aisée ;
* une meilleure efficacités du programme (moins d'erreurs) ;
* une maintenance plus aisée par la suite.
 
Un programme est un système complexe qu'il n'est pas possible d'aborder dans son ensemble. C'est pourquoi, on décompose les programmes en blocs fonctionnels indépendants. Ces blocs fonctionnels indépendants sont plus simples à étudier et misent bout à bout, ils résolvent le problème global.
 
Ce programme sera constituer du '''programme principal''' qui ordonnera de façon général les opérations a mener en faisant appel à des sous-programmes plus petits ('''fonctions''').
 
Imaginons le programme qui calcul les racines d'une équation du second degré ''ax''<sup>2</sup> + ''bx'' + ''c'' = 0, à discriminant positif.
 
'''Début'''
'''Instruction''' de déclaration des valeurs : ''a'', ''b'', ''c'' {entre les valeurs utiles en mémoire}
'''Instruction''' de calcul du discriminant {''D'' = ''b''<sup>2</sup> &minus; 4''ac''}
'''Instruction''' de calcul de la 1<sup>ère</sup> racine {''r''<sub>1</sub> = {{sfrac|&minus;''b'' &minus; ''D''<sup>{{sfrac|2}}</sup>|2''a''}}}
'''Instruction''' de calcul de la 2<sup>nd</sup> racine {''r''<sub>1</sub> = {{sfrac|&minus;''b'' + ''D''<sup>{{sfrac|2}}</sup>|2''a''}}}
Appel à la '''fonction''' d'affichage de : 1<sup>ère</sup> et 2<sup>nd</sup> racines {affiche le résultat sur le module de dialogue}
'''Fin'''
 
Programmer c'est :
 
* définir précisément le problème à résoudre ;
* décrire peu à peu la solution par un algorithme ;
* enfin, traduire l'algorithme en un langage de programmation quelconque.