Programmation structurée : les répétitives
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Objectif :
comment répéter des traitements similaires
?
1. Présentation : effectuer des traitements
itératifs pour éviter le code redondant dans
les applications
Rappel : la démarche de programmation
structurée est composée de trois
constructeurs : séquence, alternative et
itération permettant le développement des
différentes applications informatiques.
L'itération, appelée aussi répétition ou répétitive (éventuellement boucle), permet de développer des applications qui permettront la répétition de traitements similaires (exemple : afficher la table de multiplication d'un nombre de 1 à 10, gérer les notes d'un élève pour calculer sa moyenne, imposer la saisie d'une valeur dans une fourchette déterminée).
L'itération, appelée aussi répétition ou répétitive (éventuellement boucle), permet de développer des applications qui permettront la répétition de traitements similaires (exemple : afficher la table de multiplication d'un nombre de 1 à 10, gérer les notes d'un élève pour calculer sa moyenne, imposer la saisie d'une valeur dans une fourchette déterminée).
2. Les types d'itération
a. Présentation
Il existe 3 d'itérations différentes :
l'itération bornée « Pour
» et les itérations conditionnelles «
Répéter » et « Tant
que ».
b. Itération bornée
Itération bornée : pour un indice
d'une borne de départ à une borne
d'arrivée, permet d'effectuer un traitement
itératif pour chaque valeur que prend l'indice de
la borne de départ jusqu'à la borne
d'arrivée ; ce qui détermine le nombre
de fois où le traitement répétitif
sera exécuté.
La forme d'une itération bornée est :
L'indice d'itération est un outil fonctionnel (variable de travail).
- On ne doit jamais modifier la valeur de l'indice à l'intérieur de l'itération.
- On utilise pas la valeur de l'indice à l'extérieur de l'itération.
• Programmation d'une itération bornée : POUR :
La forme d'une itération bornée est :
Pour INDICE de DEBUT à FIN faire Traitements Fin pour INDICE |
L'indice d'itération est un outil fonctionnel (variable de travail).
- On ne doit jamais modifier la valeur de l'indice à l'intérieur de l'itération.
- On utilise pas la valeur de l'indice à l'extérieur de l'itération.
• Programmation d'une itération bornée : POUR :
c. Itération conditionnelle
(répéter jusqu'à)
Itération conditionnelle : répéter
traitements jusqu'à conditions permet d'effectuer
un traitement de une à plusieurs fois.
La forme d'une itération conditionnelle « répéter » est :
Remarque : il est impératif de gérer les éléments de la condition à l'intérieur de l'itération (sortie de l'itération).
• Programmation d'une itération conditionnelle : REPETER :
La forme d'une itération conditionnelle « répéter » est :
Répéter Traitements gestion de la relance des éléments des conditions Jusqu'à conditions |
Remarque : il est impératif de gérer les éléments de la condition à l'intérieur de l'itération (sortie de l'itération).
• Programmation d'une itération conditionnelle : REPETER :
d. Itération conditionnelle (tant que)
Itération conditionnelle : tant que conditions
faire traitements permet d'effectuer un traitement de
zéro à plusieurs fois.
La forme d'une itération conditionnelle « tant que » est :
Remarque : il est impératif d'initialiser les éléments de la condition avant l'itération (entrée dans l'itération) et de gérer les éléments de la condition à l'intérieur de l'itération (sortie de l'itération).
• Programmation d'une itération conditionnelle : TANT QUE :
La forme d'une itération conditionnelle « tant que » est :
initialisation des
éléments des conditions Tant que conditions faire Traitements gestion de la relance des éléments des conditions Fin tant que |
Remarque : il est impératif d'initialiser les éléments de la condition avant l'itération (entrée dans l'itération) et de gérer les éléments de la condition à l'intérieur de l'itération (sortie de l'itération).
• Programmation d'une itération conditionnelle : TANT QUE :
3. Illustrations
a. Itération bornée
• Spécification (énoncé du
problème)
On veut afficher la table de multiplication d'un nombre de 1 à 10
• Conception abstraite (réflexion sur les constituants du problème)
• Conception concrète (approche algorithmique du problème)
• Eléments de codification (programmation en Visual Basic pour ACCESS)
On veut afficher la table de multiplication d'un nombre de 1 à 10
• Conception abstraite (réflexion sur les constituants du problème)
Résultat Afficher la table de multiplication du nombre Données le nombre NOMBR Traitement pour chaque valeur de 1 à 10 on affichera : NOMBR * valeur |
• Conception concrète (approche algorithmique du problème)
Lexique Variable NOMBR (réel) le nombre I (entier) indice d’itération Début Lire(NOMBR) Pour I de 1 à 10 faire Ecrire(I * NOMBR) Fin pour Fin |
• Eléments de codification (programmation en Visual Basic pour ACCESS)
b. Itérations conditionnelles
• Spécification (énoncé du
problème)
On veut calculer la moyenne d’un élève à partir de la connaissance des ses notes (toutes comprises entre 0 et 20) ; on ne connaît pas le nombre des notes (d’aucune à plusieurs).
• Conception abstraite (réflexion sur les constituants du problème)
• Conception concrète (approche algorithmique du problème)
• Eléments de codification (programmation en Visual Basic pour ACCESS)
On veut calculer la moyenne d’un élève à partir de la connaissance des ses notes (toutes comprises entre 0 et 20) ; on ne connaît pas le nombre des notes (d’aucune à plusieurs).
• Conception abstraite (réflexion sur les constituants du problème)
Résultat La moyenne de l’élève MOY Données Les notes de l’élève NOTE Traitement On va devoir CUMULer et COMPTEr les NOTEs de l’élève puis on pourra calculer la MOYenne = CUMUL / COMPTE il faut utiliser un traitement qui demande à l’utilisateur s’il veut commencer puis s’il veut continuer |
• Conception concrète (approche algorithmique du problème)
Lexique Variable MOY (réel) la moyenne de l’élève NOTE (réel) les notes de l’élève CUMUL (réel) le cumul des notes de l’élève COMPTE (entier) le nombre des notes obtenues par l’élève REP (chaîne)) variable de gestion d’itération Début {initialisation des variables récurrentes} CUMUL ← 0 COMPTE ← 0 Lire(REP) {l’utilisateur veut commencer le traitement OUI ou NON} Tant que REP = ‘OUI’ faire répéter Lire(NOTE) {gestion d’une note comprise entre 0 et 20 } jusqu’à NOTE > 0 et NOTE < 20 CUMUL ← CUMUL + NOTE {cumul des notes} COMPTE ← COMPTE + 1 {comptage des notes} Lire(REP) {l’utilisateur veut continuer le traitement OUI ou NON } Fin tant que Si COMPTE = 0 Alors Ecrire(‘aucune note pour cet élève’) Sinon MOY ← CUMUL / COMPTE Ecrire(MOY) Fin si Fin |
• Eléments de codification (programmation en Visual Basic pour ACCESS)
4. Notion de suite récurrente
De très nombreux traitements itératifs sont
des suites récurrentes ; c'est-à-dire que
le résultat itératif se construit à
partir de lui-même.
Caractérisé algorithmiquement ou en programmation par le fait d'avoir dans une itération une variable égale à un traitement qui utilise la variable.
Exemple : CUMUL = CUMUL + NOTE ou COMPTE = COMPTE + 1
ou encore AFFICH = AFFICH & CStr(i * NOMBR) & vbCrLf
On doit alors penser à initialiser la variable à l'élément neutre correspondant au traitement itératif (de la suite récurrente) avant l’instruction de l’itération ; soit à :
Caractérisé algorithmiquement ou en programmation par le fait d'avoir dans une itération une variable égale à un traitement qui utilise la variable.
Exemple : CUMUL = CUMUL + NOTE ou COMPTE = COMPTE + 1
ou encore AFFICH = AFFICH & CStr(i * NOMBR) & vbCrLf
On doit alors penser à initialiser la variable à l'élément neutre correspondant au traitement itératif (de la suite récurrente) avant l’instruction de l’itération ; soit à :
L'essentiel
L'itération ou répétition est un
traitement de la programmation structurée qui se
décline en trois instructions distinctes :
• l'itération bornée « pour » qui permet d'effectuer un traitement un nombre de fois déterminé compris entre une borne de départ et de bornes d'arrivée,
• l'itération conditionnelle « tant que » qui permet d'effectuer un traitement de zéro à plusieurs fois,
• l'itération conditionnelle « répéter jusqu'à » qui permet d'effectuer un traitement de une à plusieurs fois.
Une suite récurrente observable algorithmiquement ou en programmation par le fait qu'une variable itérative se construise à partir d'elle même (VARIABLE = VARIABLE traitement …) doit être initialisée avant le début de l'itération.
• l'itération bornée « pour » qui permet d'effectuer un traitement un nombre de fois déterminé compris entre une borne de départ et de bornes d'arrivée,
• l'itération conditionnelle « tant que » qui permet d'effectuer un traitement de zéro à plusieurs fois,
• l'itération conditionnelle « répéter jusqu'à » qui permet d'effectuer un traitement de une à plusieurs fois.
Une suite récurrente observable algorithmiquement ou en programmation par le fait qu'une variable itérative se construise à partir d'elle même (VARIABLE = VARIABLE traitement …) doit être initialisée avant le début de l'itération.
Vous avez obtenu75%de bonnes réponses !