Vous êtes sur la page 1sur 13

La structure : Tant que faire

Dfinition :
La structure itrative condition darrt : tant que faire est utilis lorsque la
condition doit tre teste avant lexcution du traitement rpter et le nombre
de traitement nest pas connu lavance.

Chapitre : Structure Itrative Tantque Faire

Vocabulaire et syntaxe :

LPS

Au niveau pascal

Chapitre : Structure Itrative Tantque Faire

Au niveau de lanalyse
et lalgorithme
Tant que (condition) faire
Instruction 1

Instruction n
Fin tant que

LPS

While (condition) do
Begin
Instruction 1 ;

Instruction n;
End;

Chapitre : Structure Itrative Tantque Faire

Les instructions seront excutes au moins zro fois


Si la valeur de la condition est vraie, l'ordinateur doit excuter les instructions
1 n.
Si la valeur de la condition est fausse, l'excution des instructions 1 n
s'arrte et l'ordinateur passe l'excution de l'instruction qui se trouve juste
aprs fin tant que
La boucle tant que peut ne pas tre utilis si la condition nest pas vrifie
de la premire fois.

LPS

Activit 1.
Ecrire une analyse un algorithme puis un programme pascal intitul SOMME qui
permet dafficher la somme dune liste dentiers saisie. La liste se termine par 0
qui ne fera pas partie de la somme.
Exemple :
5, -3, 7, 0 => S = 9

Chapitre : Structure Itrative Tantque Faire

program somme;
uses wincrt;

LPS

Chapitre : Structure Itrative Tantque Faire

var
som, n:integer;
begin
writeln('Donner un nombre:');
readln(n);
som:=0;
while(n<>0) do
begin
som:=som+n;

LPS

writeln('Donner un nombre:');
readln(n);
end;
writeln('La somme =');
end.

Chapitre : Structure Itrative Tantque Faire

Activit 2.
Ecrire une analyse, un algorithme et sa traduction en PASCAL d'un programme qui
permet de :

LPS

Chapitre : Structure Itrative Tantque Faire

_ Saisir un entier N ( avec 2<N<20 )


_ Charger un tableau T par N entiers.
_Afficher lindice ind du premier nombre pair.

LPS

Chapitre : Structure Itrative Tantque Faire

program pair;
uses wincrt;
var
t:array[1..20]of integer;
som, n,i, ind:integer;
begin
repeat
writeln('Donner n la taille du
tableau entre 2 et 2:');

LPS

Chapitre : Structure Itrative Tantque Faire


LPS

readln(n);
until n in [2..20];
for i:=1 to n do
begin
writeln('T[',i,']=');
readln(t[i]);
end;
i:=1;
ind:=0;
while (ind=0) and (i<=n) do

Chapitre : Structure Itrative Tantque Faire

rsultat : ecrire("Le PGCD est : ", A)


A=[ ] Tantque A B faire
Si A > B alors
A <-- A - B
sinon
B <-- B - A
Finsi
Fin Tantque
(A,B) = [ ] Rpter
A,B=donne("taper deux entiers

LPS

program PGCD;
uses wincrt;
var
a,b:integer;
begin
repeat
writeln('Donner deux entiers positifs
A et B :');
readln(a, b);
until (a>0) and (b>0);

Chapitre : Structure Itrative Tantque Faire


LPS

program palindrome;
uses wincrt;
var
ch:string;
ig,id:integer;
palind:boolean;
begin
writeln('Donner
le
readln(ch);
palind:=true; ig:=1;

mot

:');

Chapitre : Structure Itrative Tantque Faire


LPS

program narcissique;
uses wincrt;
var
n,temp, r, som:integer;
begin
writeln('Donner un entier :');
readln(n);
temp:=n;
som:=0;
while n<>0 do

LPS
Chapitre : Structure Itrative Tantque Faire