2 Chap2 Structures
2 Chap2 Structures
2 Chap2 Structures
OBJECTIFS
Ø Maitriser les instructions d’affectation
RECONNAITRE et les instructions d’entrée/Sortie
LES BASES Ø Reconnaitre les différents types de
traitement des instructions dans un
algorithme
CHAPITRE 2
1-Traitement séquentiel (affectation,
lecture et écriture)
RECONNAITRE 2-Traitement alternatif(conditions)
LES BASES
3-Traitement itératif (boules)
CHAPITRE 2
1-Traitement séquentiel
Partie 1 (affectation, lecture et écriture)
Instruction d’affectation
n Une instruction est une action que l'ordinateur est
capable d'exécuter
n Les instructions de base sont:
Ø L’instruction d’affectation
Ø Opérateurs et expressions
Remarque
§ Les instructions d'un algorithme sont habituellement exécutées une à la
suite de l'autre, en séquence (de haut en bas et de gauche à droite).
§ L'ordre est important 4
Instruction d’affectation
Ø L’affectation consiste à attribuer une valeur à une
variable.
Ø Symbolisée en algorithmique par « ", elle précise le
sens de l’affectation.
Syntaxe :
Variable expression
expression peut être soit :
§ Constante
§ Identificateur (nom d’une variable)
§ Expression arithmétique
§ Expression logique
Ø Variable et expression doivent être de même type ou de
types compatibles l’affectation ne modifie que ce qui est à
gauche de la flèche
5
Instruction d’affectation
Les opérateurs arithmétiques et relationnels
+ Somme
- Soustraction
Opérateurs * Multiplication
arithmétiques / Division
Div La division entière
Mod (Modulo) Le reste de la division
= Egal
<> Différent
< Strictement inférieur
Opérateurs
<= Inférieur ou égal
relationnels
> Strictement supérieur
>= Supérieur ou égal
6
Instruction d’affectation
n Exemple valide :
Algorithme Calcul
Variables A, B, C, D : entier
Début
A 10
B 30
C A+B
D C*A
Fin
7
Instruction d’affectation
Exemple valides :
Algorithme Exemple_Valide_affectation
Variables
i, j,k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
Début
i ←1
j ←i
k ←i+j
x ←10.3
OK ←FAUX
ch1 ←"TDI"
ch2 ←ch1
x ←4
x ←j 8
Instruction d’affectation
Exemple non valides :
Algorithme Exemple_Valide_affectation
Variables
i, j,k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
Début
i ←10.3
OK ←"TDI"
j ←x
Fin 9
Exercices d’affectation
Exercice1
Quelles seront les valeurs des variables après exécution des programmes ci-
dessous :
Algorithme Exemple 1
Variables A, B, C : Entier
Début
A←3
B ← 10
C ← A+B
B ← B+A
A←C
Fin
10
Exercices d’affectation
Exercice 2
Quelles seront les valeurs des variables après exécution des
programmes ci-dessous :
Exercice 2
11
Exercices d’application
Exercice 3
12
Exercices d’application
Exercice 4
Quelles seront les valeurs des variables après exécution des programmes ci-
dessous, corrigez s’il y a des erreurs :
13
Les instructions de lecture et écriture
14
Instruction de lecture
n L’instruction d’entrée :
L’instruction d’entrée ou de lecture permet à l’utilisateur
de saisir des données au clavier.
En pseudo-code, on note :
Lire (variable)
Ø La machine met la valeur entrée au clavier dans la zone mémoire
nommée variable
Ø Le programme s'arrête lorsqu'il rencontre une instruction Lire et
ne se poursuit qu'après la frappe d’une valeur au clavier et de la
touche Entrée
15
Instruction de lecture
Exemple :
Lire (nom)
Cette instruction permet à l’utilisateur de saisir une
valeur au clavier qui sera affectée à la variable nom.
Remarque :
Ø Lorsque le programme rencontre cette instruction,
l’exécution s’interrompt et attend que l'utilisateur
tape une valeur.
Ø Cette valeur est rangée en mémoire dans la variable
désignée
16
Les instructions d’écriture
n L’instruction de sortie:
L'instruction de sortie (d’écriture) permet d’afficher des
informations à l'utilisateur à travers l'écran.
En pseudo-code, on note :
Ecrire (expression)
Expression peut être un message, le contenu d'une
variable...
17
Les instructions d’écriture
Exemple :
Ecrire("bonjour")
Cette instruction permettra d’afficher « bonjour » à l’écran
Ecrire (A)
Cette instruction permet d’afficher à l’écran la valeur de la
variable A.
ou bien
Ecrire ("la valeur de A est: " , A)
Conseil
Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran,
afin de prévenir l’utilisateur de ce qu’il doit frapper.
Exemple: ecrire(« entrez votre nom »)
lire (nom)
18
Exercices d’application
Exercice 5
Quel résultat produit le programme suivant ?
VARIABLES V, D : ENTIERS
Début
V ← 231
D←V*2
ECRIRE (V)
ECRIRE (D)
Fin
19
Exercices d’application
Exercice 6
Écrire un algorithme qui demande le nom et l’année de
naissance à l’utilisateur. Ensuite, il calcule son âge et l’affiche
à l’écran
Exemple :
Donner votre nom : Ali
Donner votre date de naissance : 1990
Bonjour Ali, vous avez 33 ans
20
Exercices d’application
Exercice 7
Ecrire un algorithme qui permet de saisir deux
nombres réels et de calculer leur somme, leur
produit, leur différence, leur moyenne et puis les
afficher.
Exercice 8
Ecrire un programme qui lit une valeur différente à
0 et qui nous calcule l’inverse de cette valeur
21
Exercices d’application
Exercice 9
Écrire un algorithme qui lit deux variables A et B et les
permute.
Afficher les valeurs de A et B avant et après la
permutation.
Exemple,
Si A = 2 et B = 5, le programme donne A = 5 et B = 2.
22
Exercices d’application
Exercice 10
Ecrire un programme qui lit
--le prix HT d’un article,
--le nombre d’articles
--et le taux de TVA,
et qui fournit le prix total TTC correspondant.
Faire en sorte que des libellés apparaissent
clairement
23
Exercices d’application
Exercice 11
24
Solution
VARIABLES mat, phy, ang, fra, hg, moyenne : REELS
Début
ECRIRE “Entrez la note de math : ’’
LIRE mat
ECRIRE “Entrez la note de physique :”
LIRE phy
ECRIRE “Entrez la note de français :”
LIRE fra
ECRIRE “Entrez la note d’anglais :”
LIRE ang
ECRIRE “Entrez la note d’histoire-Géo :”
LIRE hg
moyenne ← ((mat + phy) * 5 + fra * 4 + (ang+ hg) * 2) / 18
ECRIRE “La moyenne est : ”, moyenne
Fin
25
CHAPITRE 2
28
La structure alternative
Si (Condition) Alors
Instructions 1
[Sinon
Instructions 2]
Finsi
n si la condition est vraie, se sont les instructions1 qui seront
exécutées
n si la condition est fausse, se sont les instructions2 qui seront
exécutées
n la condition peut être une condition simple ou une condition
composée de plusieurs conditions
29
La structure alternative
30
Qu’est ce qu’une condition ?
Les conditions simples
• Une condition simple est une comparaison entre deux expressions du
même type.
• Cette comparaison s'effectue avec des opérateurs de comparaison
• Voici la liste de ces opérateurs accompagnés de leur signification dans
le cas des types numérique ou chaîne :
ü égal à =
ü différent de <>
ü strictement plus petit que <
ü strictement plus grand que >
ü plus petit ou égal à <=
ü plus grand ou égal à >=
• L’évaluation d’une condition est un booléen
31
La structure alternative
Les conditions simples
§ Pour la comparaison du type chaîne c'est l'ordre alphabétique qu'est
utilisé dans le cas où l'on compare deux lettres majuscules ou
minuscules.
§ Mais si l'on compare majuscules et minuscules, il faut savoir que les
majuscules apparaissent avant les minuscules. Ainsi, par exemple :
"M" < "m"
n Exemple:
¨ 10<20 VRAI
¨ ‘a’>’b’ FAUX
32
Exemple
Bloc d’instructions 1 Ecrire(‘’Bonjour’’)
Ecrire(‘’Donner le jour de la semaine’’)
Si (Condition) Alors Lire(j)
Instructions 2 Si(j = ‘’Dimanche’’) alors
Finsi ecrire(‘’bon weekend’’)
Bloc d’instructions 3 FinSi
Ecrire(‘’Merci et au revoir’’)
Cas 1 :
Bonjour
Cas 1 : condition vraie Donner le jour de la semaine
Bloc d’instructions 1 Dimanche
Instructions 2 Bon weekend
Bloc d’instructions 3 Merci et au revoir
35
Solution 1
Algorithme AffichageValeurAbsolue
Variable x,y : réel
Début
Ecrire (“Entrez un réel : ")
Lire (x)
Si (x >= 0) alors
y←x
Sinon
y ← -x
Finsi
Ecrire ("la valeur absolue de ", x, "est:",y)
Fin
36
Solution 1
Algorithme AffichageValeurAbsolue
Variable x,y : réel
Début
Ecrire (“Entrez un réel : ")
Lire (x)
y← x
Si (x < 0) alors
y ← -x
Finsi
Ecrire ("la valeur absolue de ", x, "est :", y)
Fin
37
Exercice 2
Ecrire un algorithme qui demande à
l’utilisateur de saisir une valeur entière et de
vérifier si cette valeur est paire ou impaire
38
Solution 2
Variable n : Entier
Début
Ecrire ("Entrez la valeur entière : ")
Lire (n)
Si ( n mod 2 = 0 ) Alors
Ecrire (« cette valeur est paire")
Sinon
Ecrire (" cette valeur est impaire ")
Finsi
Fin
39
Exercice : (Si…Alors…Sinon)
n Ecrire un algorithme qui demande l’heure
à l’utilisateur et affiche le texte « bonjour »
si l’heure est entre 8h et 18h
condition composée
(heure > 8) ET (heure < 18)
40
Conditions composées
n Une condition composée est une condition formée de plusieurs
conditions simples reliées par des opérateurs logiques:
ET, OU, OU exclusif (XOR) et NON
n Exemples :
¨ x compris entre 2 et 6 : (x > 2) ET (x < 6)
41
Tables de vérité
C1 C2 C1 ET C2 C1 C2 C1 OU C2
VRAI VRAI VRAI VRAI VRAI VRAI
VRAI FAUX FAUX VRAI FAUX VRAI
FAUX VRAI FAUX FAUX VRAI VRAI
FAUX FAUX FAUX FAUX FAUX FAUX
C1 C2 C1 XOR C2 C1 NON C1
VRAI VRAI FAUX VRAI FAUX
VRAI FAUX VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX
42
Exercice 3
Ecrire un algorithme qui demande trois
lettres minuscules à l’utilisateur et
l’informe ensuite s’ils sont rangés ou non
dans l’ordre alphabétique.
43
Solution 3
n Variables a, b, c : Caractère
Début
Ecrire “Entrez successivement trois noms : ”
Lire a, b, c
Si a < b et b < c Alors
Ecrire “Ces noms sont classés alphabétiquement”
Sinon
Ecrire “Ces noms ne sont pas classés”
Finsi
Fin
44
Exercice 4
Ecrire un algorithme qui demande deux
nombres à l’utilisateur et l’informe ensuite
si leur produit est négatif ou positif (on
laisse de côté le cas où le produit est nul).
Attention toutefois : on ne doit pas calculer
le produit des deux nombres.
45
Solution 4
Variables m, n : Entier
Début
Ecrire ("Entrez deux nombres : ")
Lire (m, n)
Si (
( (m > 0) ET (n > 0) )
OU
( (m < 0) ET (n < 0) )
) Alors
Ecrire ("Leur produit est positif")
Sinon
Ecrire ("Leur produit est négatif")
Finsi
Fin
46
CHAPITRE 2
Partie 2
1- La structure alternative
Structures 2- La structure alternative
alternatives imbriquée
3- Schéma conditionnel
généralisé ou multiple
Structures alternative imbriquée
n Il peut arriver que l'une des parties d'une structure alternative
contienne à son tour une structure alternative. Dans ce cas, on dit
qu'on a des structures alternatives imbriquées les unes dans les
autres.
n Les tests peuvent avoir un degré quelconque d'imbrications
Si condition1 alors
instructions1
Sinon
Si condition2 alors
instructions2
Sinon
instructions3
Finsi
Finsi
48
Structures alternative imbriquée
49
Structures alternative imbriquée
Exemple (version 2):
Variable n : entier
Début
Ecrire ("entrez un nombre : ")
Lire (n)
Si (n < 0) alors
Ecrire ("Ce nombre est négatif")
Sinon
Si (n = 0) alors
Ecrire ("Ce nombre est nul")
Sinon
Ecrire ("Ce nombre est positif")
Finsi
Finsi
Fin 50
Structures alternative imbriquée
51
Structures alternative imbriquée
Exemple:
Ecrire un programme qui donne l’état de l’eau selon sa
température.
54
n Variables m, n en Entier
Début
Ecrire ("Entrez deux nombres : ")
Lire (m, n)
Si ((m = 0) OU (n = 0)) Alors
Ecrire ("Le produit est nul")
Sinon // m<>0 et n<>0
Si ((m < 0 ET n < 0) OU (m > 0 ET n > 0)) Alors
Ecrire ("Le produit est positif")
Sinon
Ecrire ("Le produit est négatif")
Finsi
Finsi
Fin
55
Exercice 7
Ecrire un algorithme qui permet de lire le salaire
d’un employé, et d’augmenter sa valeur selon les
cas suivants :
<4000 : 30%
Entre 4000 et 6000 : 25%
>6000 : 20%
56
Exercice 8
Ecrire un algorithme qui demande l’âge d’un
enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
- « Poussin » de 6 à 7 ans
- « Pupille » de 8 à 9 ans
- « Minime » de 10 à 11 ans
- « Cadet » après 12 ans
57
Solution 8
Variable age : Entier
Début
Ecrire “Entrez l’âge de l’enfant : ”
Lire age
Si age >= 12 Alors
Ecrire “Catégorie Cadet”
Sinon
Si age >= 10 Alors
Ecrire “Catégorie Minime”
Sinon
Si age >= 8 Alors
Ecrire “Catégorie Pupille”
Sinon
Si age >= 6 Alors
Ecrire “Catégorie Poussin”
Finsi
Finsi
Finsi
Finsi
Fin
58
Exercice 9
Ecrire un algorithme qui lit au clavier les valeurs
a et b et qui résous l’équation du premier degré
ax+b=0
NB:
Il faut isoler le terme en x dans un membre et le terme indépendant dans
l'autre.
On obtient: a * x = -b.
Ø Si a est égal à 0, on se retrouve avec l'équation 0 * x = -b
§ si b est égal à 0, on se retrouve avec l'équation 0 * x = 0
qui est indéterminée
§ si b n'est pas égal à 0, on se retrouve avec l'équation 0 * x = b non
nul ce qui est impossible
Ø Si a est différent de 0, on divise les 2 membres par a et on obtient
la solution: x = -b/a
59
Solution 9
réel a, b
écrire "Résolution de ax + b = 0"
écrire "Introduisez a:"
lire a
écrire "Introduisez b:"
lire b
si a=0 alors
si b=0 alors
écrire "Equation indéterminée."
sinon
écrire "Equation impossible."
fsi
sinon
écrire "x = ", -b/a
fsi
60
Exercice 10
Écrire l’algorithme qui demande
l’heure et les minutes et affiche l’heure
qu’il sera 30 minutes plus tard
61
Solution 10
Variables h,m : Entier
62
Exercice 11
Un patron décide de calculer le montant de sa participation au
prix des repas de ses employés de la façon suivante :
- Si il est célibataire Participation de 20%
- Si il est marié Participation de 25%
- Si il a des enfants Participation de 10%
supplémentaire par enfant
64
Exercice 12
Un organisme de location de voiture propose deux formules de location :
n Location au kilomètre :
• pour les 100 premiers kilomètres : tarif t1 au km,
• pour les kilomètres de 101 à 1000 : tarif t2 au km,
• au delà de 1000 kilomètres : tarif t3 au km.
n Forfait journalier : kilométrage illimité au prix t4 par jour.
n Dans les deux cas, il convient d’ajouter une assurance comptabilisée par
jour et dont le montant est donné.
1) lister les entrées du problème ainsi que leurs types
2) lister les résultats calculés pour la résolution du problème ainsi que leurs
types
3) Donner les formules permettant de déterminer ces résultats
4) Ecrire un algorithme qui lit le nombre total de kilomètres et le nombre
de jours de location ainsi que les tarifs t1, t2, t3 et t4 calcule les coûts
totaux des deux tarifications, affiche les 2 coûts et indique au client la
solution la plus avantageuse
Solution 12
66
67
n Algorithme: CalculTarif
n Var t1, t2, t3, t4, ass, km, tarif1, tarif2 : réel si tarif1 = tarif2 alors
Jour : entier écrire(‘’Les 2 formules ont le même coût’’)
Début sinon si tarif1 < tarif2 alors
Lire(t1,t2,t3,t4 ,ass,km,jour) écrire(‘’La formule 1 est plus
Si km ≤ 100 Alors avantageuse’’)
tarif1 km * t1 sinon écrire(‘’La formule 2 est plus
Sinon avantageuse’’)
tarif1 100*t1 fsi
si km ≤ 1000 alors fsi
tarif1 tarif1 + (km-100)*t2 Fin
sinon
tarif1 tarif1 + 900*t2 + (km-1000)*t3
fsi
fsi
tarif1 tarif1 + (jour * ass)
tarif2 jour * (t4+ass)
écrire(‘’Le coût selon la formule 1 est :’’, tarif1)
écrire(‘‘Le coût selon la formule 2 est :’’, tarif2)
68
Exercice 13
Ecrire un algorithme permettant de
résoudre une Equation du second
degré (ax2 + bx + c = 0)
69
Solution 13
Variable a, b, c Delta: réel
écrire "Introduisez le coefficient de x2:" sinon
lire a écrire "2 racines complexes conjuguées:"
écrire "Introduisez le coefficient de x:" écrire "x1=",-b/(2*a)," + i",-Delta/(2*a)
lire b écrire "x2=",-b/(2*a)," - i",-Delta/(2*a)
écrire "Introduisez le terme indépendant:" fsi
lire c fsi
si a=0 alors
fsi
écrire "Equation du premier degré."
sinon
Delta <-- b*b-4a*c
si Delta>0 alors
écrire "2 racines réelles distinctes:"
écrire "x1=",(-b+ racine Delta)/(2*a)
écrire "x2=",(-b-Delta)/(2*a)
sinon
si Delta=0 alors
écrire "2 racines réelles égales:"
écrire "x1=x2=",-b/(2*a)
70
CHAPITRE 2
Partie 2
1- La structure alternative
Structures 2- La structure alternative
alternatives imbriquée
3- Schéma conditionnel
généralisé ou multiple
Structure conditionnelle à choix
multiple : Selon … cas
n La structure sélective ou structure conditionnelle à choix
multiples ou encore structure Selon (appelée parfois
structure Cas) est une représentation simplifiée
des conditions imbriquées (Si – Sinon)
n En effet, quand on a affaire à beaucoup de conditions à
traiter dans un algorithme (ou programme informatique),
alors la structure sélective semble la solution la plus
appropriée car elle est plus facile à représenter (au lieu
d'exprimer beaucoup d'imbrications de conditions Si -
Sinon).
72
Structure conditionnelle à choix
multiple : Selon … cas
Syntaxe :
SELON expression
valeur1 : action1
valeur2 : action2
…
valeurN : actionN
[SINON : action]
FIN SELON
n Syntaxe générale :
74
Structure conditionnelle à choix multiple
75
Exercice 14
Donner l algorithme qui saisit et affiche le
libellé jour correspondant au rang du jour
dans la semaine qui est compris entre 1 et 7.
76
Solution 14 (version si impriquée)
Algorithme jour de la semaine
Variable n:entier
début
Lire (n)
Si n = 1 Alors écrire ( ‘lundi’ )
Sinon Si n = 2 Alors écrire ( ‘mardi’ )
Sinon Si n = 3 Alors écrire ( ‘mercredi’ )
Sinon Si n = 4 Alors écrire ( ‘jeudi’ )
Sinon Si n = 5 Alors écrire ( ‘vendredi’ )
Sinon Si n = 6 Alors écrire ( ‘samedi’ )
Sinon Si n = 7 Alors écrire ( ‘dimanche’ )
Sinon écrire ( ‘le numéro doit être compris entre 1 et 7’ )
FinSi FinSi FinSi FinSi FinSi FinSi FinSi
Fin
77
Solution 14 (Selon cas)
Algorithme jour de la semaine
Variable n:entier
début
Lire (n)
Selon (n) :
n = 1 : écrire ( ‘lundi’ )
n = 2 : écrire ( ‘mardi’ )
n = 3 : écrire ( ‘mercredi’ )
n = 4 : écrire ( ‘jeudi’ )
n = 5 : écrire ( ‘vendredi’ )
n = 6 : écrire ( ‘samedi’ )
n = 7 : écrire ( ‘dimanche’ )
sinon
écrire ( ‘le numéro doit être compris entre 1 et 7’ )
Fin Selon
Fin
78
Exercice 15
n On dispose d’un ensemble de tâches que l’on
souhaite exécuter en fonction de la valeur d’une
variable choix de type entier, conformément au
tableau suivant :
79
80
Exercice 16
n Écrire un algorithme qui étant donnés deux entiers représentant un mois et
une année affiche le nombre de jours du mois de cette année.
ةنسلا ةنيبكسا كيكي اكيف ريش ابشةكش28 كةنسلا ةنبسكلا كيكي اكيف ريش ابشةكش ككي29 ككي
نيبكسل366 ككي كهو هشم يك ةشبا سلكةس
ةنبسكلل365 ككي
81
Exercice 16
n Écrire un algorithme qui étant donnés deux entiers représentant un mois et
une année affiche le nombre de jours du mois de cette année.
ةنسلا ةنيبكسا كيكي اكيف ريش ابشةكش28 كةنسلا ةنبسكلا كيكي اكيف ريش ابشةكش ككي29 ككي
نيبكسل366 ككي كهو هشم يك ةشبا سلكةس
ةنبسكلل365 ككي
82
Exercice 16
Écrire un algorithme qui étant donnés deux entiers
représentant un mois et une année affiche le nombre
de jours du mois de cette année.
n On prendra en considération l’année bissextile si cet année :
Ø divisible par 4 (A mod 4 = 0) et ne se termine pas par 00 (A
mod 100 <>0)
Ou
Ø elle se termine par 00 et son quotient par 100 est divisible par 4
(càd elle est divisible également par 400).
83
Exercice
84
algorithme: Nb-jours
Var m , a , j: entier
Debut 2 : si (a mod 4 = 0) ET ( (a mod 100 <> 0)
Ecrire (« entrer le numéro du mois de 1 à 12 ») OU (a mod 400 = 0))
lire( m ) alors j 29
Ecrire (« entrer l année») sinon j28
lire( a ) fsi
fin selon
selon cas m écrire(« Le nombre de jours est : », j)
1 : j <-- 31 Fin
3 : j <-- 31
5 : j <-- 31
7 : j <-- 31
8 : j <-- 31
10 : j <-- 31
12 : j <-- 31
4 : j <-- 30
6 : j <-- 30
9 : j <-- 30
11 : j := 30
85
86
CHAPITRE 2
96
Solution 1
Algorithme Affichage
Variables n,i : Entier
Début
Ecrire ("Donner un nombre entier positif:")
Lire(n)
Pour i De 0 A n Faire
Ecrire(i)
FinPour
Fin
97
Exercice 2
Ecrire un algorithme qui demande un
nombre et qui ensuite affiche les dix
nombres suivants
Par exemple
Si l utilisateur saisit le nombre 17, le
programme affiche les nombres 18 19 20 21
22 23 24 25 26 27
98
Solution 2
Algorithme Affichage
Variables n,i : Entier
Début
Ecrire ("Donner un nombre entier positif:")
Lire(n)
Pour i =1 A 10 Faire
Ecrire(n+i)
FinPour
Fin
99
Exercice 3
Ecrire un algorithme qui demande un nombre
de départ, et qui calcule la somme des entiers
jusqu’à ce nombre.
100
Solution 3
101
Exercice 4
102
Solution 4
n Le programme est :
Variables i , valeur , factoriel : Entiers
DEBUT
Lire valeur
factoriel ← 1
POUR i = 1 A valeur
factoriel ← factoriel * i
FIN POUR
Ecrire “Le factoriel de ” & valeur & “ est : ” &
factoriel
Fin
103
Exercice 5
Exemple
5
Entrez un nombre
6
Entrez un nombre
Entrez un nombre
159
96 Entrez un nombre
Entrez un nombre 25
55 Entrez un nombre
Entrez un nombre 6
5 Entrez un nombre
Entrez un nombre 6
6 La plus grande valeur est 159 et sa position est 7 106
Solution 6
Variables i , a , max , pmax : Entiers
DEBUT
Ecrire « Entrez le nombre numéro 1 »
Lire a
max ← a
pmax ← 1
POUR i = 2 A 20
Ecrire « Entrez le nombre numéro » , i
Lire a
SI a > max ALORS
max ← a
pmax ← i
FIN SI
FIN POUR
Ecrire « Le plus grand nombre est : » , max
Ecrire « Sa position est : » , pmax
FIN
107
Exercice 7
Ecrire un algorithme qui lit un nombre a et ensuite il va
lire successivement 10 nombres, et qui va déterminer
ensuite combien de fois le premier nombre a été saisi
(sans compter la première saisie)
n Exemple
Entrez un nombre
Entrez la première valeur à compter 5
6 Entrez un nombre
6
Entrez un nombre Entrez un nombre
96 59
Entrez un nombre Entrez un nombre
55 25
Entrez un nombre
Entrez un nombre
6
5 Entrez un nombre
Entrez un nombre 6
6 La première valeur a été saisi 4 fois
Solution 7
Variables i , a , b, cpt : Entier
DEBUT
Ecrire «Entrez la première valeur à compter»
Lire a
POUR i = 1 A 10
Ecrire «Entrez un nombre»
Lire b
SI a = b ALORS
cpt ← cpt + 1
FIN SI
FIN POUR
Ecrire «La première valeur a été saisi » , cpt , « fois »
FIN
109
Les instructions d'une boucle peuvent etre des
instructions iteratives. Dans ce cas, on aboutit a des
boucles imbriquées.
Pour i =1 à 8
Pour j =1 à 8
Ecrire("x")
FinPour
FinPour
110
Exercice 8
111
Solution 8
112
Exercice 9
1) Ecrire un algorithme qui demande un nombre
de départ, et qui ensuite écrit la table de
multiplication de ce nombre
n Par exemple
le nombre 7
Table de 7 :
7x1=7
7 x 2 = 14
7 x 3 = 21
…
7 x 10 = 70
114
Solution 9
Le programme est :
Variables i , valeur : Entiers
DEBUT
POUR i = 1 A 10
POUR j = 1 A 10
Ecrire i & “ X ” & j & “ = ” & i * j
FIN POUR
FIN POUR
FIN
115
CHAPITRE 2
Partie 3
1- Structure POUR
Traitement
itératif(boules) 2- La structure (TANT QUE)
3- La structure (Répéter )
La structure répétitive (TANT QUE)
Tant que la condition est vraie Répéter une suite d’instructions
n Remarque : la vérification de la
condition s’effectue avant les actions.
Celles-ci peuvent donc ne jamais être
exécutées
117
La structure répétitive (TANT QUE)
Remarques
n Le nombre d'itérations dans une boucle TantQue n'est pas connu au moment
d'entrée dans la boucle. Il dépend de l'évolution de la valeur de condition.
FinTantQue
La structure répétitive (TANT QUE)
Exemple 1
Variable A : entier Début
A ¬ 10
TantQue (A > 0)
A ¬ A-2
FinTantQue
Ecrire (" La valeur de A est : ", A)
Fin
La structure répétitive (TANT QUE)
Exemple 2: un algorithme permettant de lire une suite d’entiers positifs, de
calculer et d’afficher leur moyenne.
moyenne
var i, x, s : entier
Début
lire( x )
s 0
i0
tant que x > 0 faire
ii+1
ss+x Condition obligatoire pour éviter de
lire( x ) diviser par 0 si le premier entier lu
FTQ est 0
si i <> 0 aors
écrire( “la moyenne est :”, s / i )
fsi
Fin
Lien entre Pour et TantQue
q La boucle Pour est un cas particulier de Tant Que (cas où le
nombre d'itérations est connu et fixé) .
q Tout ce qu'on peut écrire avec Pour peut être remplacé avec
TantQue (la réciproque est fausse)
123
Solution 2
Variables n,s : Entier
Début
Ecrire ("Donner un nombre entier positif:")
Lire(n)
s 0
TantQue (n<>0) Faire
s s + n
Ecrire ("Donner un nombre entier positif:")
Lire(n)
FTQ
Ecrire (« la somme est :« , s)
Fin
124
Exercice 2
Réécrire l’algorithme suivant en utilisant la
boucle Tant que
126
Exercice 3
Ecrire 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.
127
Solution 3
Variable a : Réel
Début
Lire a
Tant Que a < 10 OU a > 20
Si a < 10 Alors
Ecrire « Plus grand ! »
Sinon
Ecrire « Plus petit ! »
Fin Si
Lire a
Fin Tant Que
Fin
128
Exercice 4
Ecrire un algorithme qui demande à l utilisateur une
valeur
Le programme doit vérifier si le nombre est premier
NB
Un nombre premier est un entier naturel qui admet exactement deux
diviseurs distincts entiers et positifs. Ces deux diviseurs sont 1 et le nombre
considéré
pour tester N, on vérifie s'il est divisible par l'un des entiers compris
au sens large entre 2 et N −1. Si la réponse est négative, alors N est
premier, sinon il est composé .
Solution 4
Algo: premier
Variable n, div : Réel
premier : booleen
Début
Ecrire(« entrez une valeur »)
Lire n
Div2
premier vrai
Pour i de 2 à n −1
Tant Que (n/2)>div et premier = vrai Si i divise n alors
si n mod div = 0 alors premier False
premier = faux
sinon Fin Pour
div div + 1
FSI
Fin Tant Que
Si premier = vrai alors
Ecrire(n,« est premier »)
Sinon
Ecrire(n,« n est pas premier »)
Fsi
CHAPITRE 2
Partie 3
1- Structure POUR
Traitement
itératif(boules) 2- La structure (TANT QUE)
3- La structure (Répéter)
La structure répétitive (Répéter )
Cette structure sert à répéter des instructions jusqu’à ce
qu’une condition soit réalisée.
Sa syntaxe est :
actions
REPETER
Instructions à répéter
Faux
JUSQU'A (condition) condition
Vrai
Remarque :
n la vérification de la condition s’effectue après les actions.
n Celles-ci sont donc exécutées au moins une fois.
132
La structure répétitive (Répéter )
Exemple 1: Calcul du produit de c jusquà la saisie de 0
Variables c : entier
Début
Répéter
Lire( c)
c←c*c
Ecrire(c)
Jusqu' à (c= 0)
Ecrire ("Fin")
Fin
La structure répétitive (Répéter )
Exemple 2: calcul de la moyenne , on arrête avec 0
Variables a , somme , moyenne , compteur : entier Début
compteur ← 0
somme ← 0
Répéter
Ecrire (" Entrez un nombre : " )
Lire (a)
compteur ← compteur + 1
somme ← somme + a
Jusqu' à (a = 0)
Si compteur <> 1 alors
Moyenne ← somme / (compteur-1)
Finsi
Ecrire (" La moyenne de valeurs saisies est : " , moyenne)
Fin
Exercice 1
Algorithme qui demande à l’utilisateur
de saisir un nombre entier positif et
après il affiche tous les nombres
entiers positifs inferieurs ou égale au
nombre saisi
135
Solution 1
Algorithme Affichage
Variables n , i : Entier
Début
Ecrire ("Donner un nombre entier positif:")
Lire(n)
i0
in répéter
répéter i i+1
i i-1 Ecrire(i)
Ecrire(i) juqua(i =n)
juqua(i =0)
136
Exercice 2
Ecrire un algorithme qui demande
successivement des nombres à
l’utilisateur, et qui calcule leur somme et
leur moyenne.
La saisie des nombres s’arrête lorsque
l’utilisateur entre un zéro.
137
Solution 2
Variables a , somme , moyenne , compteur : Entiers
DEBUT
compteur ← 0
somme ← 0
REPETER
Ecrire « Entrez un nombre : »
Lire a
compteur ← compteur + 1
somme ← somme + a
JUSQU'A a = 0
Moyenne ← somme / compteur
Ecrire « La moyenne de valeurs saisies est : » , moyenne
FIN
138
Exercice 3
Ecrire un algorithme qui lit les caractères saisies par l’utilisateur.
Et à la fin ce programme nous affichera la phrase saisie.
La saisie des caractères s’arrête lorsqu’on tape point « . ».
Pour l’utilisateur veut insérer un espace il lui suffit de tapez sur
0.
Par exemple si l’utilisateur tape successivement les
caractères « b » , « o », « n », « j », « o », « u », « r » , « t »,
« o », « u », « s », « . » , il nous affichera la chaîne
« bonjourtous ».
Mais si il tape « b » , « o », « n », « j », « o », « u », « r » , « 0
», « t », « o », « u », « s », « . » , le programme affichera «
bonjour tous ».
Solution 3
Variables caractere , phrase : Chaînes
DEBUT
phrase ← « »
REPETER
Ecrire « Entrez une caractère : »
Lire caractère
SI caractere = « 0 » ALORS
caractere ← « »
FIN SI
phrase ← phrase +caractere
JUSQU'A caractere = « . »
Ecrire « La phrase résultante est : » , phrase
FIN
La structure répétitive (boucle)
Choisir Pour…TantQue…répéter JUSQU’A
141
La structure répétitive (boucle)
Choisir Pour…TantQue…répéter JUSQU’A
142
La structure répétitive (boucle)
Choisir Pour…TantQue…répéter JUSQU’A
(*) : Le passage d’une boucle « répéter » ou « tantque » à une boucle « pour » n’est
possible que si le nombre de parcours est connu à l’avance
(**) : Lors du passage d’une boucle « pour » ou « tantque » à une boucle « répéter », faire
attention aux cas particuliers (le traitement sera toujours exécuté au moins une fois)
143
La structure répétitive (boucle)
Le problème d’une boucle : il faut en sortir
tant que (A) faire B
Faire B tant que (A)
Quelque chose dans la suite d’instructions B doit
amener la condition A à prendre la valeur Faux
val1 2
val2 3
TantQue (val1 < 100) faire Boucle infinie
val2 val2 ×val1
FTQ
144
Exercice 4
S = 1 + 3 + 5 + 7 + ……… + N
145
Solution 4
Variables N , s , i : Entiers
Variables N , s , i : Entiers DEBUT
DEBUT Ecrire ("Donner N:")
s←0 Lire(N) Pour i de 1 à N pas de 2
I←1 s←0 s s+ i
Ecrire ("Donner N:") i1 Fin pour
Lire(N)
Tant que ( i <=n) Répéter
s←s+i s←s+i
i←i+2 i←i+2
Fintantque Jusqua ( i > n)
Ecrire « La somme de la suite
est : » , s Ecrire « La somme de la suite
FIN est : » , s
FIN
146
Exercice 5
FIN
Exercice 6
Variables n , i : Entier
u : reel
DEBUT