Cours 3
Décomposition et paramétrage des
algorithmes
Algorithme trop long, trop complexe décomposition en plusieurs
algorithmes, chacun résolvant une partie du problème posé.
(Ces algorithmes « s’appellent » entre eux)
1 - Introduction
Jusqu’ici, nous avons vu 2 types d’instructions :
• celles qui traitent directement l’information :
l’affectation ( =)
la lecture/écriture vers écran/clavier (lire, écrire)
celles qui commandent le déroulement du programme :
structures de contrôle (si…alors…fsi)
boucles(tant que, répéter, pour …)
Nous verrons dans ce chapitre un troisième type d’instruction :
l’appel depuis un algorithme (l’appelant) d’un autre algorithme (l’appelé)
1 Appel simple
Exemple : un algorithme Appelant réalise deux séries de calculs, et fait toujours
précéder et suivre ces calculs par deux lignes de 60 étoiles.
Pour cela, il fait appel à un algorithme étoile qui affiche ces deux lignes d ’étoiles.
2 - Décomposition
Algorithme étoile()
// affiche 2 lignes de 60 étoiles
aux i,j: entier;
début
pour i de 1 à 2 faire
pour j de 1 à 60 faire
écrire(’*’);
fait;
écrire("\n");
fait
fin étoile
Algorithme Appelant()
//…
début
étoile();
//calculs
étoile();
//calculs
étoile();
fin Appelant
Remarque : peu importe comment a été conçu et écrit l’algorithme étoile:
Pour l’utiliser, il suffit de connaître ses spécifications (son en-tête).
On modifie donc étoile en conséquence:
On ajoute à étoile un paramètre : un identificateur +son type
2 Passage de paramètre(s)
Rappel: un paramètre est une variable reçue en entrée par un algorithme.
Même exemple que précédemment mais:
on souhaite préciser à étoile la largeur de la ligne à afficher.
Dans Appelant, lors de l’appel de étoile, on précise dorénavant la valeur
que l’on souhaite attribuer au paramètre nb.
Sinon étoile ne peut pas fonctionner.
Lors de l'exécution de l'appel, cette valeur est copiée dans nb.
distinguer paramètre formel et paramètre effectif
Un paramètre formel est une variable formelle - sans valeur -
déclarée dans l'en-tête d'un algorithme.
Un paramètre effectif est une variable ou une valeur qui est copiée dans le
paramètre formel correspondant au moment de l'appel.
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !