Beruflich Dokumente
Kultur Dokumente
Exercice (suite …)
© Chafik Aloulou 41
© Chafik Aloulou 1
Les structures en
algorithmique
Plan:
Les structures conditionnelles
Les structures répétitives
© Chafik Aloulou 42
La structure conditionnelle
On a besoin parfois de choisir entre deux ou plusieurs
traitements selon la réalisation ou non d’une certaine condition,
d’où la notion de traitement CONDITIONEL
Décision
= 10 ADMIS
OY>
MOY M
Condition
Décision
ECHEC
© Chafik Aloulou 43
© Chafik Aloulou 2
La structure conditionnelle
Les conditions sont basées sur les tests en utilisant les opérateurs
relationnels et sont reliées par les opérateurs logiques.
La syntaxe de l'instruction conditionnelle de base est la suivante :
La condition peut être élémentaire ou
Si (condition) alors composée.
Les Actions représentent des instructions de
action1;
différents types (affectation, lecture, écriture,
[sinon conditionnelle, …).
Chacune d'elles peut être élémentaire ou
action2;] composée.
Si l'action est composée de plusieurs
finsi instructions, il faut ajouter des accolades {}.
© Chafik Aloulou 44
Les structures
conditionnelles imbriquées
Il s'agit d'utiliser une ou Décision
plusieurs instructions
conditionnelles dans le bloc "si"
10 ADMIS
ou "sinon" d'une autre Y >=
instruction conditionnelle. O
MOY M
Cette technique d'imbrication Décision
permet d'analyser 9
minutieusement une situation M
OY Y >= Contrôle
O
compliquée d'un problème < 10 M
donné.
Décision
Aucune limite n'est imposée
concernant les niveaux
Échec
d'imbrication identifiés.
© Chafik Aloulou 45
© Chafik Aloulou 3
Les structures
conditionnelles imbriquées (suite …)
si (condition1) alors
si (condition2) alors
si (condition3) alors
instruction1;
instruction2;
finsi
instruction3;
sinon
si (condition4) alors
instruction4;
finsi
finsi
finsi
© Chafik Aloulou 46
Exercices
Écrire un algorithme, qui pour une année et un mois donné
affiche le nombre de jours de ce mois.
Exp : ( An = 2000 Mo =2 le nbre de jours est nbjour =29)
© Chafik Aloulou 47
© Chafik Aloulou 4
Les Instructions répétitives
(les boucles)
Écrire un algorithme qui permet d’afficher 3 fois le texte
"Je suis un étudiant à l’FSEG"
Modifier cet algorithme pour afficher 1000 fois le même
texte.
© Chafik Aloulou 48
© Chafik Aloulou 5
Les Instructions répétitives
(les boucles) (suite …)
© Chafik Aloulou 50
© Chafik Aloulou 51
© Chafik Aloulou 6
La boucle pour … faire
L’action à répéter
peut être une
instruction unique
ou un ensemble
d’instructions.
Dans ce cas, les
instructions sont à
mettre entre
accolades {}.
© Chafik Aloulou 52
Exemple
Écrire un algorithme qui permet de calculer la factoriel de 5
© Chafik Aloulou 7
La boucle tant que … faire
Le nombre d’itérations de cette boucle n’est pas connu d'avance.
Le traitement de la boucle ne s’arrête que si la condition n’est
plus vérifiée (ou satisfaite).
La syntaxe de la boucle tant que … faire est la suivante :
tant que (condition) faire
action;
fin faire
La condition de la boucle peut être composée et l’action à
répéter peut être une instruction unique ou un ensemble
d’instructions. Dans ce cas, les instructions sont à mettre entre
accolades {}.
© Chafik Aloulou 54
Si Si non vérifiée
vérifiée
Exécuter
Exécuter les
les Terminer
Terminer la
la
instructions
instructions boucle
boucle
boucle
boucle
© Chafik Aloulou 55
© Chafik Aloulou 8
La boucle tant que … faire
Suite …
© Chafik Aloulou 56
Exemple
Écrire un algorithme qui demande à l’utilisateur un nombre compris
entre 1 et 3 jusqu’à ce que la réponse convienne.
Algorithme Lire_Nombre
Variables
N : Entier
Début
N←0
Écrire ("Entrez un nombre entre 1 et 3")
TantQue ((N < 1) ou (N > 3)) faire
Lire (N)
Si ((N < 1) ou (N > 3)) Alors
Écrire ("Saisie erronée. Recommencez")
FinSi
Fin faire
Fin
© Chafik Aloulou 57
© Chafik Aloulou 9
Comment transformer une boucle pour …
faire en une boucle tant que … faire ?
Compteur Å ValDébut;
tant que (Compteur ≤ ValFin) faire
pour Compteur de ValDébut à ValFin {
[par pas de ValPas] faire
action;
action;
Compteur Å Compteur + ValPas;
fin faire }
fin faire
Exercices
Écrire un algorithme qui demande un nombre compris entre 10 et 20,
jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20,
on fera apparaître un message : « Plus petit ! », et inversement, « Plus
grand ! » si le nombre est inférieur à 10.
Écrire un algorithme qui demande un nombre de départ, et qui ensuite
écrit la table de multiplication de ce nombre, présentée comme suit (cas
où l'utilisateur entre le nombre 7) :
Table de 7 :
7x1=7
7 x 2 = 14
7 x 3 = 21
…
7 x 10 = 70
Écrire un algorithme qui demande un nombre de départ, et qui calcule
la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le
programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat, pas le détail de calcul.
© Chafik Aloulou 59
© Chafik Aloulou 10
La boucle répéter … jusqu’à
Terminer
Terminer la
la
boucle
boucle
Attention aux boucles infinies
© Chafik Aloulou 61
© Chafik Aloulou 11
Exemple
Écrire un algorithme qui permet de lire la moyenne d’algoritmique (M_Algo) et la
moyenne des mathématiques (M_Math) et de calculer la moyenne générale
(M_generale). Les lectures doivent être contrôlées.
Algorithme moyenne
Peut-on remplacer les
variables
boucles Répéter par des
M_Algo, M_Math, M_generale : Réel
boucles tant que ?
Début
Répeter Peut-on remplacer les
ecrire ("donner la moyenne d’algorithmique") boucles Répéter par des
lire (M_Algo) boucles Pour ? Expliquer
Jusqu’à ((M_Algo>=0) ET (M_Algo<=20))
Si la moyenne générale est
Répeter
fonction de 20 notes
ecrire ("donner la moyenne des mathématiques")
différentes. Comment doit-
lire (M_Math)
on changer notre
Jusqu’à ((M_Math>=0) ET (M_Math<=20))
… algorithme ?
Fin
© Chafik Aloulou 62
© Chafik Aloulou 12
Les Tableaux
Plan:
Utilité des tableaux
Notation et utilisation des tableaux
Tableaux Multidimensionnels
Tri de tableaux
© Chafik Aloulou 64
© Chafik Aloulou 65
© Chafik Aloulou 13
Aperçu général sur les
tableaux
Le besoin (solution attendue) :
Pouvoir regrouper toutes les données ayant une sémantique
commune dans une seule représentation (avec une
déclaration unique)
Distinguer entre les données
Faciliter le traitement
© Chafik Aloulou 66
© Chafik Aloulou 67
© Chafik Aloulou 14
Définition d’un tableau
Suite …
Traitements possibles
dans un Tableau
Avec ce type de structure on peut :
Créer des tableaux
Ranger des valeurs dans un tableau
Récupérer et consulter des valeurs rangées dans un tableau
Rechercher si une valeur est dans un tableau
Mettre à jour des valeurs dans un tableau
Modifier la façon dont les valeurs sont rangées dans un tableau
Effectuer des opérations entre tableaux : comparaison, etc.
© Chafik Aloulou 69
© Chafik Aloulou 15
Déclaration d’un tableau
Pour déclarer un tableau de 10 cases et dont le nom est TAB
et dont le contenu est de type entier, il suffit de mettre dans
la partie de déclaration des variables :
Variables
TAB : Tableau(10) d’entier
Ou TAB(10) : entier
Avec cette déclaration, nous avons créer un tableau TAB de
10 entiers.
Attention : Avec cette déclaration le tableau est non encore
initialisé
TAB ? ? ? ? ? ? ? ? ? ?
© Chafik Aloulou 70
Accès à un tableau
Accès en lecture :
Écrire(TAB(4))
© Chafik Aloulou 71
© Chafik Aloulou 16
Exercices
Écrire un algorithme qui déclare et remplisse un tableau de 7
valeurs numériques en les mettant toutes à zéro.
© Chafik Aloulou 72
Solution
Algorithme Rem_tableau
Variables
tab : Tableau (7) d’entier
i : Entier
Début
Pour i de 1 à 7 faire
tab(i) ← 0
fin faire
Fin
© Chafik Aloulou 73
© Chafik Aloulou 17
Solution
Algorithme Rem_tableau_voy
Variables
T : Tableau (6) d’entier
Début
T(1) ← "a"
T(2) ← "e"
T(3) ← "i"
T(4) ← "o"
T(5) ← "u"
T(6) ← "y"
Fin
© Chafik Aloulou 74
Exercice
Écrire un algorithme constituant un tableau, à partir de deux
tableaux de même longueur préalablement saisis. Le nouveau
tableau sera la somme des éléments des deux tableaux de départ.
Tableau 1 : 4 8 7 9 1 5 4 6
Tableau 2 :
7 6 5 2 1 3 7 4
Tableau à constituer : 11 14 12 11 2 8 11 10
© Chafik Aloulou 75
© Chafik Aloulou 18
Exercices
Suite …
© Chafik Aloulou 76
© Chafik Aloulou 19
Les tableaux à deux
dimensions
L lignes
C colonnes
On appelle L le nombre de lignes du tableau et C le nombre de
colonnes du tableau. L et C sont alors les deux dimensions du
tableau. Un tableau à deux dimensions contient donc L*C
composantes (variables).
On dit qu'un tableau à deux dimensions est carré, si L est égal à C.
En faisant le rapprochement avec les mathématiques, on peut dire que
"A est une matrice de dimensions L et C".
Dans notre exemple, Dans une ligne nous retrouvons les notes de tous
les étudiants dans un module. Dans une colonne, nous retrouvons
toutes les notes d'un étudiant.
© Chafik Aloulou 78
Exercice
(Les tableaux à deux dimensions)
© Chafik Aloulou 20
Solution
Algorithme Rem_tableau
Variables
T (5,20):entier
i,j : entier
Début
Pour i de 1 à 5 faire
Écrire ("donner les notes du module",i)
Pour j de 1 à 20 faire
Écrire ("donner la note de l’étudiant",j, "dans le module",i)
lire(T(i,j))
fin faire
fin faire
Fin
© Chafik Aloulou 80
© Chafik Aloulou 21