UTILISATION DES STRUCTURES ALTERNATIVES ET ITERATIVES
STRUCTURES CONDITIONNELLES (ou alternatives)
On appelle condition, toute expression logique
dont l’évaluation donne VRAI ou FAUX. En algorithmique, on rencontre les
conditions faisant intervenir des valeurs prises par une ou plusieurs
variables : opérations arithmétiques, relationnelles ou logiques.
Syntaxe :
SI condition ALORS
Traitement
FinSi
Logigramme :
Structure conditionnelle complète (deux choix)
Syntaxe :
SI condition
ALORS
// Traitements1
SINON
// Traitemants2
FinSi
Illustration: Indiquez
la route qui mène à la maison à un touriste
SI la rue à droite est autorisée
à la circulation ALORS
-tourner à
droite
-prendre la deuxième rue à gauche
SINON
-continuer
jusqu’à la prochaine rue à droite
-prendre cette rue
-prendre la deuxième à droite
FinSi
|
STRUCTURES ITERATIVES
On
utilise les schémas itératifs lorsqu’on veut exécuter une liste d’actions
plusieurs fois. Le nombre d’itérations peut être connu ou non. Dans certains
cas, on utilise certaines conditions pour contrôler le déroulement des
itérations ; on distingue entre autres :
·
La
structure itérative complète ou la structure POUR … FAIRE …
·
Les
structures répétitives à condition d’arrêt, composées de deux structures :
_ la structure REPETER … JUSQU’A …
_ la
structure TANT QUE … FAIRE …
Ainsi
quand on a à écrire une répétitive, on doit d’abord poser la question
suivante : est- ce qu’on connait le nombre d’itérations à faire dans la
boucle ? Après analyse si la réponse est affirmative on utilise ‘’ POUR ‘’ sinon on utilise ‘’TANT QUE’’ ou REPETER
Instruction
d’incrémentation/décrémentation.
L’incrémentation (tout
comme la décrémentation) est beaucoup rencontrée dans les structures à boucle.
C'est-à-dire dans les structures répétitives. En effet, on peut les assimiler à
des compteurs qui, à chaque cycle augmentent ou diminue de 1.Les
variables les plus impliquées à cette opération sont les variables de contrôle.
On les représente par :
i ← i+1 incrémentation veut dire ’’Ajouter 1 à la
valeur actuelle de i’’.
j← j-1
décrémentation veut dire ‘’Retrancher 1 à la valeur actuelle de j’’.
Attention : Il faut généralement initialiser i et j appelés souvent
compteurs. Exemple i=0
Structure
itérative complète (POUR...FAIRE)
Une structure
itérative est dite complète si le nombre de répétition est connu d’avance.
Cette structure est caractérisée par :
-l’initialisation automatique du compteur à une
valeur initiale Vi
-l’incrémentation/décrémentation du compteur à
chaque répétition
-vérification du compteur pour qu’il ne dépasse
pas la valeur finale Vf
Syntaxe :
POUR Cp de Vi à Vf PAS de 1 FAIRE
Instruction 1
Instruction 2
….
Instruction n
FinPOUR
Cp ; compteur ;
Vi =Valeur initiale ;
Vf=Valeur finale
PAS= valeur de l’incrémentation
Logigramme :
Une structure itérative est dite à condition d’arrêt si le
nombre d’itérations n’est pas connu d’avance, mais il dépend d’une condition.
Structure ‘’TANT
QUE …FAIRE ‘’
Avec la structure « TANT
QUE », le nombre d’itérations n’est pas à priori connu : Soit c la
condition qui prend la valeur « VRAIE » ou « FAUSSE »,
chaque itération commence par l’évaluation de la condition. Une condition est
une comparaison. Elle est composée de 3 éléments : une valeur, un
opérateur de comparaison et une autre valeur :
-si la valeur de la condition est
vraie, alors on exécute la liste d’action. Les itérations se poursuivent
jusqu’à ce que la condition c deviennent fausse :
-si la valeur de la condition est
fausse, on n’exécute pas les actions de
tant que
Syntaxe :
TANT QUE condition(s) FAIRE
// Traitements
Fin
TANT QUE
Logigramme :
Illustration: Consignes
de l’Inspecteur au professeur à la fin de la séquence.
TANT QUE moyenne générale de la
classe est inférieure à 10 FAIRE
-reprendre
les leçons de la séquence
-organiser
des cours de rattrapage
-réévaluer
les élèves
FIN TANT QUE
Exemple :
Structure
« REPETER…JUSQU'A »
La structure REPETER…JUSQU'A… est utilisée quand il s’agit de répéter un
traitement un nombre de fois inconnu à l’avance et qu’on est sûr que le
traitement itératif s’exécutera au moins une fois. Dès que la condition
d’arrêt devient vraie, la boucle est abandonnée et le programme continue en
séquence.
La structure
« REPETER » commence par l’exécution de la liste d’actions. On évalue
ensuite la condition :
- si la valeur est fausse, alors, on continue le
processus d’itérations
-si par contre,
après évaluation de la condition, on trouve qu’elle a pour valeur VRAIE, on
sort de la boucle.
Syntaxe :
REPETER
Instruction 1
Instruction 2
….
….
Instruction n
JUSQU'A condition(s)
d’arrêt
Illustration : Consignes du médecin au malade diabétique
REPETER
- Le traitement prescrit
- Injecter l’insuline
- Pratiquer le sport
JUSQU'A ce que le taux de
glycémie baisse à 1,26g/l
Exemple : Ecrire un algorithme
qui dit plusieurs fois « bonjour Monsieur ».
Propriétés
1- Quelle que soit la valeur initiale des
conditions, la liste d’action est exécutée
au moins une fois
2- Il doit avoir au moins une action
qui met à jour la valeur de la condition.
EXERCICES
EXERCICE I :
1.Algorithme
2.Variable A, B, Max : réel ;
3.Début
4.Ecrire ('Entrez les valeurs de A et de B: ') ;
5.Lire (A, B) ;
6.Max ←A ;
7.Si Max < B Alors
8.Max ← B ;
9.Fin si
10. Ecrire (' Le maximum est égale à :', Max) ;
11.Fin.
Questions
1.Identifier dans cet algorithme 01 variable.
2’Identifier dans cet algorithme 03
instructions simples.
3.Identifier dans cet algorithme 01 structure
de contrôle
4.Decompter le nombre d’instructions que
comporte cet algorithme.
5.Que fait cet algorithme ?
EXERCICE II ;
1.Algorithme
2.Variable n : Entier ;
3.Début
4.Ecrire ('Entrez un nombre : ') ;
5.Lire(n) ;
6.Si n > 0 Alors
7. Ecrire ('Ce nombre est positif' ) ;
8.Sinon
9. Ecrire ('Ce nombre est négatif' ) ;
10.Fin si
11.Fin.
Questions
1.Quel est le type de la variable n ?
2’Nommez la structure de contrôle qui se trouve
dans cet algorithme.
3.Identiier les parties de cet algorithme.
4.. Décompter le nombre d’instructions que
comporte cet algorithme.
5.Que fait cet algorithme ?
EXERCICE III ;
1.Algorithme SommeEntiers
2.Variable Somme :
entiers ;
3.Début
4.Somme ←
0 ;
/* initialisation*/
5.POUR i=1 à 9 FAIRE
6.Somme ←
Somme +i ;
7.
i ← i + 1
8.FinPour
5.ECRIRE (‘’ La somme est :’’, Somme) ;
6.Fin
Questions
1. Nommez la structure de contrôle des lignes 5
a 8
2’ Que fait la ligne 4 ?
3.Identiier une instruction d’incrémentation.
4.Donner la valeur de la variable somme.
5.Construire un algorigramme pour cet
algorithme.
EXERCICE
IV : Observer et
analyser l’algorithme écrit ci-dessous et répondre aux questions
suivantes :
Algorithme
quotient Variable
N, D , Q :
entier ; Ecrire
(‘’entrez le numérateur ‘’) ; Ecrire
( entrez le dénominateur’) ; lire (D) ; |
Si(D égal valeur 0) alors Ecrire (‘’ je ne peux pas calculer le
quotient’’) ; Sinon Affecter à Q le quotient de N
divisé par D ; Ecrire (‘’le quotient est ‘’Q) ; FinSi fin |
1.
Définir
le mot « algorithme »
2.
Identifier
le nom de cet algorithme et écrire ce nom sur votre copie.
3.
Identifier
le nom de cet algorithme quatre instructions différents et copier les sur votre
copie
4. Votre camarade a écrit un algorithme
pour reconnaitre les nombres pairs dans la liste suivantes : « 2, 8, 3, 9, 6, 7, 18, 21, 12,
1 ». Cet algorithme utilise une
boucle parcourt la liste des nombres, pour un nombre donné, vérifié s’il est
pair ou pas et passe au nombre suivant.
Citer deux boucles qu’on peut utiliser pour
parcourir cette liste.
EXERCICE
V :
Observer attentivement l’algorithmique
suivant :
Algorithme
Comparaison
Variable, nombre : entier ;
Début
Ecrire (‘’entrer un nombre’’)’ ;
Lire (nombre) ;
Si (nombre<10) alors
Écrire (‘ce nombre est plus petit que 10’’) ;
Sinon
Ecrire (‘’ce nombre est plus grand que
10) ;
FinSi
A
l’aide de vos connaissances en algorithmique, répondre aux questions
suivantes :
1.Identifier
dans cet algorithme et recopier sur votre feuille de composition :
a) Une instruction d’entrée des données
b) Une variable
c)Un type de données
d) Une structure alternative.
2.
Donner le nombre d’instructions contenues dans cet algorithme.
CORRIGES
EXERCICE I :
1. Max
2. Lire (A, B) ;
Max ← B ;
Ecrire (' Le maximum est égale à
:', Max) ;
3. Si Max < B Alors
Max ← B ;
Fin si
4.04 instructions
5.Cet algorithme donne le maximum de
deux nombres.
EXERCICE II ;
1.Type Entier ;
2. Structure conditionnelle complète.
3.ligne2 : déclaration des
variables.
4 04 instructions’
5.Cet algorithme demande de donner un
nombre, il dit si le nombre est positif ou négatif’
EXERCICE III ;
1. Structure itérative complète
2. Initialisation
3. i ← i + 1
4.S=45
5.
EXERCICE IV :
1.
Un algorithme est une suite d’instructions finies qui doivent être
exécutées dans un ordre bien déterminé pour résoudre un problème ( ou
réaliser une tache ) en un temps précis.
2. QUOTIENT.
3. -Instructions de lecture : Lire (N), lire(D)
- instructions d’écriture: Écrire (‘’
entrez le numérique), Écrire (‘’ entrez le dénominateur), Écrire (‘’je ne peux
pas calculer le dénominateur), Écrire (‘’ le quotient est’’, Q)
- instruction d’affectation : Affecter à Q le quotient de N
divisé par D (Q¬ N/D)
4. -La boucle itérative complète : pour …. Faire
-la boucle conditionnelle : si…. Alors
EXERCICE V :
1.a) lire (nombre) ;
b) nombre
c)entier
d) Si (nombre<10) alors
Écrire (‘ce nombre est plus petit
que 10’’) ;
Sinon
Ecrire (‘’ce nombre est plus grand
que 10) ;
FinSi
2. 04 Instructions