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

 

 

Avez-vous un exercice a proposer?Cliquez-ici