0% ont trouvé ce document utile (0 vote)
55 vues15 pages

Cours-3 SM PPT

Ce cours traite des structures répétitives en algorithmique, notamment les boucles 'Tant que', 'Répéter' et 'Pour' en Pascal. Il explique leur fonctionnement, leur syntaxe, ainsi que des exemples pratiques pour calculer la somme d'une suite de nombres. Les concepts de conditions et d'itérations sont également abordés pour éviter les boucles infinies.

Transféré par

fxzvw7bdkc
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues15 pages

Cours-3 SM PPT

Ce cours traite des structures répétitives en algorithmique, notamment les boucles 'Tant que', 'Répéter' et 'Pour' en Pascal. Il explique leur fonctionnement, leur syntaxe, ainsi que des exemples pratiques pour calculer la somme d'une suite de nombres. Les concepts de conditions et d'itérations sont également abordés pour éviter les boucles infinies.

Transféré par

fxzvw7bdkc
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours 3

Réalisé par: Mr MERCHICHI Mohammed


E-MAIL: [email protected]
Section: SM_S2
2021/2022
Cours 3
Les boucles
Objectifs du cours: Ce cours devrait pouvoir
vous permettre de comprendre les
structures répétitives (boucles):

 Tant que (While en Pascal)

 Répéter (Repeat en Pascal)

 Pour (For en Pascal)


Nous avons vu dans les cours précédents que la partie
traitement d'un programme (/ou algorithme ) implique
un ensemble d’opérations qui peuvent être :
1. Des opérations de base ou encore élémentaires qui
permettent une exécution séquentielle d’un
programme (/algorithme)

2. Des structures de contrôle qui permettent le saut


dans un programme( /algorithme)
▣ Les structures de contrôle sont classées en
deux catégories: les structures
conditionnelles et les boucles.

▣ Dans ce cours, nous allons nous focaliser


sur les boucles.
▣ Lorsqu’on veut répéter une opération ou un bloc
d’opérations plusieurs fois dans un programme
(/algorithme), il est possible d’utiliser des structures
répétitives (itératives) appelées les boucles.

Sortie de
la boucle
une opération
ou un bloc
d’opérations à
répéter
▣ Il existe trois types de boucles: plusieurs fois,

◾ Tant que (while en Pascal)


◾ Répéter (repeat en Pascal)
◾ Pour (for en Pascal)
▣ Format général en algorithmique:
◾ tant que <condition> faire
<séquence>
▣ Format général en Pascal:
◾ while (condition) do
begin
< séquence>
end ;
▣ Fonctionnement:
◾ Cette structure permet la répétition d’une séquence
d’opérations tant que la condition est satisfaite (= VRAI).
◾ Quand la condition devienne fausse, la boucle est terminée.
▣ La condition est une expression logique.

▣ Il faut alors que cette expression puisse changer de


valeur (avoir la valeur FAUX) pour sortir de la
boucle et éviter le cas de la "boucle infinie".

◾ Ex: while (x>10) / while (A<B) / while (a<>b and a<2)


▣ La séquence est une ou plusieurs opérations.

▣ Pour plusieurs opérations, le début et fin (begin et


end) sont obligatoires.

▣ Dans le cas d'une seule opération le début et fin


sont optionnels.
2 opérations dans
While (i<10) do While (i<10) do
la séquence donc
▣ Exemples: i:=i+1; begin begin et end sont
Write (i) obligatoires.
Une seule opération
dans la séquence i:=i+1;
donc begin et end ne end ;
sont pas obligatoire
Programme permettant de calculer la program somme_suite1 ; Programme
somme de la suite des nombres 1, 2, 3, … , n var
Pascal
(n est un entier lu à partir du clavier) i, n, somme : integer ;
Algorithme somme_suite1 ; algorithme
Variables i, n, somme : entier ; begin
Début writeln('Donnez un nombre') ;
Ecrire (‘Donnez un nombre’) ; readln(n) ;
Lire (n) ; if (n > 0) then
Si (n > 0) Alors begin
début somme := 0;
somme ← 0 ; i := 1 ;
i ← 1; while (i <= n) do
Tant que (i <= n) Faire begin
début somme := somme + i ;
somme ← somme + i ; i := i + 1 ;
i ← i + 1; end ;
fin ; writeln('La somme de la suite = ',
Ecrire (‘La somme de la suite = ’, somme) ; somme) ;
fin end
Sinon
else
Ecrire (‘Le nombre doit être positif’) ;
writeln ('Le nombre doit être positif') ;
Fin.
end.
▣ Format général en algorithmique:
◾ répéter
<Séquence>
Jusqu’à <Condition>

▣ Format général en Pascal:


◾ repeat
<Séquence>
until (Condition)

▣ Fonctionnement:
◾ Cette structure permet la répétition d’une séquence jusqu’à ce
qu’une condition soit vérifiée (= VRAI).

◾ Pour éviter la boucle infinie, il faut que la condition puisse


changer de valeur (avoir la valeur VRAI).

◾ La séquence peut contenir une ou plusieurs opérations. Dans les


deux cas, début et fin sont facultatifs (non obligatoires).
Début

Sortie de
la boucle
▣ Algorithm permettant d’afficher les valeurs de 1 à 10 :

i ← 1; initialisation de i
Répéter
Ecrire (i);
i ← i + 1;
Jusqu’à (i > 10) ;
Ces 2 opérations s’exécutent 10 fois

▣ En Pascal, la boucle répéter s’exprime comme suit :


i := 1 ; initialisation de i
repeat
write (i);
i := i + 1 ;
until (i > 10) Ces 2 opérations s’exécutent 10 fois
▣ Format général en algorithmique:
Pour <Compteur> ← <Valeur initiale> à <Valeur finale> pas de <Incrément>
Faire
<Séquence>
▣ Format général en Pascal:
for <Compteur> := <Valeur initiale> to <Valeur finale> do
<Séquence>

▣ Fonctionnement:
◾ Cette structure permet la répétition d’une séquence un certain
nombre de points (de valeur initial à valeur finale)

◾ la boucle for permet d’incremeter le compteur automatiquement de 1 à


chaque itération , ce qui permet au compteur d’atteindre la valeur finale.

◾ La séquence peut contenir une ou plusieurs opérations. Dans le cas de


plusieurs opérations, le début et fin sont obligatoires comme pour le
while.
Programme permettant de calculer la somme de la suite des
nombres 1, 2, 3, … , n (n est un entier lu à partir du clavier)

Algorithme somme_suite3; program somme_suite3;


Variables i, n, somme : entier ; var i, n, somme : integer ;
Début begin
Ecrire (‘Donnez un nombre’) ; writeln ('Donnez un nombre') ;
Lire (n) ; readln (n) ;
Si (n > 0) Alors if (n > 0) then
début begin
somme ← 0 ; somme := 0;
Pour i ← 1 à n Faire for i := 1 to n do
somme ← somme + i ; somme := somme + i ;
Ecrire (‘La somme de la suite = ’, writeln ('La somme de la suite = ',
somme) ; somme) ;
fin end
Sinon else
Ecrire (‘Le nombre doit être positif’) ; write ('Le nombre doit être positif') ;
Fin. end.
FIN DE COURS
QUESTION ?????

Vous aimerez peut-être aussi