Initiation à la programmation/Généralités
Introduction
[modifier | modifier le wikicode]Un programme est le contexte (matériel et logiciel, y compris l'espace mémoire) qui englobe, et donc définit la frontière dans laquelle se situera l’application.
Il permet d'effectuer une suite d'opérations de façon automatique. Il comporte généralement des instructions de saisie destinés à demander la valeur de différentes données, puis des instructions de traitement de ces données, et enfin des instructions d'affichage des résultats obtenus.
Même s'il est possible d'écrire un programme petit à petit par touches successives,
- le résultat est souvent décevant
- la mise au point délicate
- la maintenance difficile (voire impossible)
Ces trois problèmes venant surtout du manque de lisibilité découlant d'une écriture faite sans vision globale.
Il est donc nécessaire d'avoir et d'appliquer un minimum de méthode et de rigueur.
La programmation structurée
[modifier | modifier le wikicode]Un programme doit être construit, du point de vue le plus général 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éfinies auparavant.
- Une structure d'un programme bien écrit, chaque fonction est décomposée en fonction plus petite et indépendante.
L'analyse descendante
[modifier | modifier le wikicode]La programmation est avant tout une méthode d’analyse et non d'apprentissage d'un langage.
Une fois la méthode assimilée 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é 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 mis bout à bout, ils résolvent le problème global.
Ce programme sera constitué du programme principal qui ordonnera de façon générale les opérations à mener en faisant appel à des sous-programmes plus petits (fonctions).
Imaginons le programme qui calcule les racines d'une équation du second degré ax2 + 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 = b2 − 4ac} Instruction de calcul de la 1re racine {r1 = −b − D122a} Instruction de calcul de la 2nd racine {r2 = −b + D122a} Appel à la fonction d'affichage de : 1re et 2nd 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.