Les structures algorithmiques de contrôle
Page 1 sur 7
LES STRUCTURES ALGORITHMIQUES
DE CONTROLES
A. LES STRUCTURES DE CONTROLES CONDITIONNELLES :
I. INTRODUCTION
Une structure est dite conditionnelle si l’exécution de son action dépend d’une ou de plusieurs
conditions.
Ces structures sont de trois types :
Les structures conditionnelles simples,
La structure conditionnelle généralisée,
La structure conditionnelle à choix multiples.
II. LES STRUCTURES CONDITIONNELLES SIMPLES :
1) Forme simple réduite :
Activité :
Ecrire un programme nommé EQUAT1 qui permet de résoudre l’équation a * x + b =0 lorsqu’elle est
permise, et dans le cas contraire ne faire aucune action.
Analyse du problème :
Résultat : Ecrire (x)
Traitements : Si a 0 alors x -b /a
Données : a = donnée
b = donnée
Algorithme & Pascal :
Algorithme Pascal
0) début EQUAT1
1) Ecrire ("introduire le 1 coefficient ")
lire (a)
2) Ecrire ("introduire le 2 coefficient ")
lire (b)
3) Si a <> 0 Alors x
- b / a
Fin si
4) Ecrire (" la solution est = ", x)
5) Fin EQUAT 1
Program EQUAT1 ;
Uses wincrt ;
Var a, b, x : real ;
Begin
Write (‘ introduire le 1 coefficient ‘) ;
Read (a) ;
Write ( ‘ introduire le 2 coefficient ‘) ;
Read (b) ;
If a <> 0 Then x := - b / a ;
Write (‘ la solution est = ‘, x) ;
End .
Remarques :
Tableau de déclaration des objets
Objet Type / nature
a
b
x
réel
réel
réel
LYCEE Moknine
DISCIPLINE :
PROGRAMMATION
PROFESSEUR
PROFESSEURPROFESSEUR
PROFESSEUR :
Mr Grich
Mourad
Les structures algorithmiques de contrôle
Page 2 sur 7
- Ré Exécuter votre programme en mettant a = 0. Que remarquez-vous ? pourquoi cette solution ?
- Rajouter « Begin » et « End ; » entre l’affectation et la lecture. Que remarquez-vous ?
a) Définition :
Une structure conditionnelle est dite simple réduite si on restreint à l’exécution d’un traitement quand
une condition donnée est VRAIE
b) Syntaxe : Pascal
Algorithme Cas d’un trait. composé d’une
seule instruction Cas d’un trait. composé d’une
suite d’instructions
[ ] SI condition ALORS
Trait
FINSI
IF condition THEN
Instr ; IF condition THEN
BEGIN
Instruction1 ;
…………..;
Instruction n ;
END ;
2) Forme simple complète :
Activité 2 :
Reprendre l’activité 1 mais en affichant cette fois « la solution est le vide » lorsque l’opération n’est pas
permise (a = 0, on considéra b 0)
Quelles sont les modifications à faire dans le programme ?
Les instructions de saisie restent inchangées mais l’affichage va être modifié (notion de bloc
d’instructions)
Solution activité 2 :
Algorithme Pascal
0) début EQUAT1
1) Ecrire (" introduire le 1 coefficient ")
lire (a)
2) Ecrire (" introduire le 2 coefficient ")
lire (b)
3) Si a 0 Alors
x
- b / a
Ecrire (" la solution est = ", x)
Si non
Ecrire (" la solution est le vide")
Fin si
4) Fin EQUAT 1
Program EQUAT1 ;
Uses wincrt ;
Var a, b, x : real ;
Begin
Write (‘ introduire le 1 coefficient ‘) ;
Read (a) ;
Write (‘ introduire le 2 coefficient ‘) ;
Read (b) ;
If a <> 0 Then
Begin
x := - b / a ;
Write (‘la solution est = ‘, x) ;
End
Else Write(‘la solution est le vide’) ;
End.
a) Définition :
Vrai
Faux
Condition
Action
Les structures algorithmiques de contrôle
Page 3 sur 7
Une structure conditionnelle est dite simple complète si selon le résultat de la condition, on exécute soit
l’action 1 soit l’action 2.
Faux
b) Syntaxe : Pascal
Analyse / Algorithme Cas d’un trait. composé d’une
seule instruction Cas d’un trait. composé d’une
suite d’instructions
[ ] SI condition ALORS
Trait 1
SINON
Trait 2
FINSI
IF condition THEN
Instr 1
ELSE
Inst 2 ;
IF condition
THEN
BEGIN
Instr 1
……..;
Instr n
END
ELSE
BEGIN
Instr 1
……..;
Instr m ;
END;
III. La structure conditionnelle généralisée:
Activité 3 :
Reprendre l’activité 2 mais en discutant cette fois tous les cas mathématiquement.
Solution activité 3 :
Algorithme Pascal
0) début EQUAT1
1) Ecrire ( " introduire le 1 coefficient "), lire (a)
2) Ecrire ( " introduire le 2 coefficient "),lire (b)
3) Si a 0 Alors
x
- b / a
Ecrire ( " la solution est = ", x)
Si non
Si b = 0 Alors
Ecrire ( " la solution est IR")
Si non
Ecrire ( " la solution est le vide")
Fin si
4) Fin EQUAT 1
Program EQUAT1 ;
Uses wincrt ;
Var a, b, x : real ;
Begin
Write ( ‘ introduire le 1 coefficient ‘) ; Read (a) ;
Write ( ‘ introduire le 2 coefficient ‘) ; Read (b) ;
If a <> 0 Then
Begin
x := - b / a ;
Write ( ‘ la solution est = ‘, x) ;
End
Else If b = 0 Then
Write (‘ la solution est IR’)
Else
Write (‘ la solution est le vide’) ;
End .
Condition
Action 1
Vrai
Action 2
Les structures algorithmiques de contrôle
Page 4 sur 7
a) Définition :
b) Syntaxe :
Analyse / Algorithme Pascal
[ ] SI cond 1 ALORS Trait 1
SINON SI cond 2 ALORS Trait 2
…………………………….
SINON SI cond n-1 ALORS Trait n-1
SINON Trait n
FINSI
IF cond 1 THEN Trait 1
ELSE IF cond 2 THEN Trait 2
…………………………….
ELSE IF cond n-1 THEN Trait n-1
ELSE Trait n ;
IV. La structure conditionnelle à choix multiples :
Activité 4 :
Écrire un programme qui permet de saisir un entier d’un seul chiffre puis afficher sa nature (zéro, pair ou
impair) sans utiliser la fonction MODE
Solution 1 : Algorithme
0) Début nature
1) Ecrire ( " introduire un chiffre : "), lire (x)
2) Si x = 0 Alors Ecrire ( " chiffre zéro ")
Si non
Si (x = 1) ou (x = 3) ou (x = 5) ou (x = 7) ou (x = 9) Alors
Ecrire ( " chiffre impair ")
Si non si (x = 2) ou (x = 4) ou (x = 6) ou (x = 8) alors
Ecrire ( " chiffre pair")
Si non Ecrire ( " n’est pas un chiffre")
FIN si
3) Fin nature
On peut résoudre ce programme en utilisant une nouvelle forme de structure conditionnelle : structures à
choix multiples.
Analyse du problème :
Résultat : solution
Traitement : Selon x Faire
0 : Ecrire (" chiffre zéro ")
Cond 1 Cond 2
Action 2
Vrai
Action n-1
Cond n-1
Action n
Action 1
Vrai
Vrai
Faux
Faux
Faux
Les structures algorithmiques de contrôle
Page 5 sur 7
1, 3, 5, 7, 9 : Ecrire (" chiffre impair ")
2, 4, 6, 8 : Ecrire (" chiffre pair")
Si non Ecrire (" n’est pas un chiffre")
Fin Selon
Données : x = donnée (" introduire un chiffre : ")
Algorithme
0) Début nature
1) Ecrire (" introduire un chiffre : "), lire (x)
2) Selon x Faire
0 : Ecrire (" chiffre zéro ")
1, 3, 5, 7, 9 : Ecrire (" chiffre impair ")
2, 4, 6, 8 : Ecrire (" chiffre pair")
Si non Ecrire (" n’est pas un chiffre")
Fin Selon
3) Fin nature
Cette structure permet de faire un choix parmi plusieurs possibilités
Le choix du traitement à effectuer dépend de la valeur que prendra le sélecteur (x est un sélecteur dans
l’exemple)
Ce sélecteur est une variable qui est comparée à une série de valeurs
En cas d’égalité l’instruction qui lui est associée sera exécutée, les autres ne seront pas exécutées
Cette structure évite l’utilisation d’une longue structure conditionnelle généralisée et permet une meilleure
lisibilité de la solution.
a) Syntaxe :
Pascal
Analyse / Algorithme Cas d’un trait. composé
d’une seule instruction Cas du trait 1. composé
d’une suite d’instructions
[ ] SELON sélecteur FAIRE
V 1 : trait 1
V 2 : trait 2
……………
V n : trait n
SINON Trait n+1
FIN SELON
CASE sélecteur OF
V 1 : Instr 1 ;
V 2 : Instr 2 ;
…………… ;
V n : Instr n
ELSE Trait n+1 ;
END ;
CASE sélecteur OF
V 1 : Begin
trait 1 ;
End ;
V 2 : Instr 2 ;
…………… ;
V n : Instr n
ELSE Trait n+1 ;
END ;
Remarques:
Sélecteur : doit être de type scalaire (entier, caractère)
V : peut être Une seule valeur, exp : 8 ou "a"
Une liste de valeurs de même type, exp : 2, 5, 10 ou "k", "s", "p", "w"
Un intervalle, exp : 5..40 ou "f".."r"
B. LES STRUCTURES DE CONTROLES ITERATIVES :
I. INTRODUCTION :
Il est souvent nécessaire d’exécuter plusieurs fois une ou plusieurs instructions, non pas indéfiniment
mais un certain nombre de fois, pas forcement connu d’avance. C’est la notion très importante de BOUCLE.
Les boucles sont un des éléments fondamentaux des langages de programmation. Elles donnent une
grande puissance de calcul en exécutant, un grand nombre de fois, un nombre d’instructions données.
On distingue :
1 / 7 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 !