SlideShare a Scribd company logo
1 of 3
Dans l'instruction while…do, l'expression est un, le bloc <instruction> représente soit une
instruction simple, soit une instruction composée (begin ..... end).
Sémantique
C'est une instruction de boucle.
Tant que l'expression reste vraie, le bloc d'instruction est réexécuté.
Dès que l'expression est fausse le while…do s'arrête.
C'est une boucle non finie (s'arrêtera après un nombre fini d'exécution).
Exemple
program WhileDo ;
var
x, y : integer ;
begin
x := 1 ;
y := 0 ;
while x<4 do
begin
x := x+1 ;
y := y +x
end;
writeln ('x=', x , 'y=', y)
end.

Le programme écrit :
x=4 y=9

Exécution pas à pas :
x vaut 1
y vaut 0
x<4 est true
donc x vaut x+1 soit 2
et y vaut y+x soit 2
x<4 est true
donc x vaut x+1 soit 3
et y vaut y+x soit 5
x<4 est true
donc x vaut x+1 soit 4
et y vaut y+x soit 9
x<4 est false donc arrêt
(à la fin : x=4, y=9)

Dans l'instruction repeat…until, l'expression est un prédicat, le bloc<instruction>
représente soit une suite d'instructions simple.
Sémantique
C'est une instruction de boucle.
1
Tant que l'expression reste fausse, le bloc d'instruction est réexécuté.
Dès que l'expression est vraie le repeat…until s'arrête.
C'est une boucle non finie .
La différence avec le while ..do réside dans le fait que le repeat ... until exécute
toujours au moins une fois le bloc d'instructions avant d'évaluer l'expression booléenne
alors que le while ... do évalue immédiatement son expression booléenne avant d'exécuter
le bloc d'instructions.
Exemple
program RepeatUntil ;
var
x, y : integer ;
begin
x := 1 ;
y := 0 ;
repeat
x := x+1 ;
y := y +x
until x>=4;
writeln ('x=', x , 'y=', y)
end.

Le programme écrit :
x=4 y=9

// Exécution pas à pas :
// x vaut 1
// y vaut 0

// on entre dans le repeat
donc x vaut x+1 soit 2
// et y vaut y+x soit 2
// x>=4 est false
donc x vaut x+1 soit 3
// et y vaut y+x soit 5
// x>=4 est false
donc x vaut x+1 soit 4
et y vaut y+x soit 9
// x>=4 est true donc arrêt
(à la fin : x=4, y=9)

Ce programme fournit le même résultat que celui de la boucle while…do, car il y a une
correspondance sémantique entre ces deux boucles :
repeat <instruction> until <expr>

<instruction> ;
while not<expr> do

C'est une instruction de boucle, il y a deux genres d'instructions for
(for...to et for...downto)

2

<instruction>
Version for <identificateur> := <Expr1>to <Expr2> do <Instruction> :

identificateur est une variable qui se dénomme indice de boucle.
<Expr1> et <Expr2> sont obligatoirement des expressions du même type que la
variable d'indice de boucle identificateur.
< Instruction > est un bloc d'instruction simple ou composée (begin ..... end).
Version for <identificateur> := <Expr1> downto <Expr2> do <Instruction> :
même signification des constituants que pour la version précédente, seul le
sens de parcours différe (par valeurs croissantes pour un for...to, par
valeurs décroissantes pour un for...downto).
Sémantique
L'indice de boucle prend toutes les valeurs (par ordre croissant ou décroissant selon le
genre de for) comprises entre <Expr1> et <Expr2> bornes inclues.
Tant que la valeur de l'indice de boucle ne dépasse pas
par valeur supérieure dans le cas du for...to,
ou par valeur inférieure dans le cas du for...downto
La valeur de <Expr2>, le bloc d'instruction est réexécuté
C'est une boucle finie (c-à-dire que l'on connaît à l'avance le nombre de tours de boucle).
Exemple
program ForDo ;
var x, y : integer ;
begin
y :=0 ;
for x := 1 to 3 do
y := y +x
end.

Exécution de chaque tour de
boucle :
y vaut 0
x vaut 1 => y vaut 0+1=1
x vaut 2 => y vaut 1+2=3
x vaut 3 => y vaut 3+3=6
x vaut 4 => arrêt
(à la fin : x=4, y=6)

3

More Related Content

What's hot

Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage c
Ebrima NJIE
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
Caml intro
Caml introCaml intro
Caml intro
zan
 
Les instructions simples en pascal p2
Les instructions simples en pascal p2Les instructions simples en pascal p2
Les instructions simples en pascal p2
دليل الحياة
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
borhen boukthir
 
Turbo6procédure et vfonction
Turbo6procédure et vfonctionTurbo6procédure et vfonction
Turbo6procédure et vfonction
Matisi Mansour
 

What's hot (20)

Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Exercices pascal tous les chapitres
Exercices pascal tous les chapitresExercices pascal tous les chapitres
Exercices pascal tous les chapitres
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage c
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)PHP : les fondamentaux (1ère partie)
PHP : les fondamentaux (1ère partie)
 
Cours c#
Cours c#Cours c#
Cours c#
 
Caml intro
Caml introCaml intro
Caml intro
 
Les instructions simples en pascal p2
Les instructions simples en pascal p2Les instructions simples en pascal p2
Les instructions simples en pascal p2
 
Ns algo 2
Ns algo 2Ns algo 2
Ns algo 2
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 3
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Theme2
Theme2Theme2
Theme2
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Fiche1 ex-sous-programme
Fiche1 ex-sous-programmeFiche1 ex-sous-programme
Fiche1 ex-sous-programme
 
DCT1 4SI
DCT1  4SIDCT1  4SI
DCT1 4SI
 
Turbo6procédure et vfonction
Turbo6procédure et vfonctionTurbo6procédure et vfonction
Turbo6procédure et vfonction
 

Viewers also liked

Questionnement du sujet
Questionnement du sujetQuestionnement du sujet
Questionnement du sujet
courgette
 
Aspects de la vente v 1.0
Aspects de la vente v 1.0Aspects de la vente v 1.0
Aspects de la vente v 1.0
Klubschule
 
Gestion des ressources humaines (prise de notes)
Gestion des ressources humaines (prise de notes)Gestion des ressources humaines (prise de notes)
Gestion des ressources humaines (prise de notes)
Taha Can
 
Questionnaires results
Questionnaires resultsQuestionnaires results
Questionnaires results
Omaridx2
 
Practiques fisica 2n batx gener 2011
Practiques fisica 2n batx gener 2011Practiques fisica 2n batx gener 2011
Practiques fisica 2n batx gener 2011
Natzaret
 
Etude psychologique sur l'infanticide
Etude psychologique sur l'infanticideEtude psychologique sur l'infanticide
Etude psychologique sur l'infanticide
JN
 
Livret propositions
Livret propositionsLivret propositions
Livret propositions
WKTL-Agency
 
Equipo4 semana2
Equipo4 semana2Equipo4 semana2
Equipo4 semana2
suhany17
 
Monnaie et politique monétaire (suite)
Monnaie et politique monétaire (suite)Monnaie et politique monétaire (suite)
Monnaie et politique monétaire (suite)
Taha Can
 
Prueba de lenguaje grado 9 calendario A
Prueba de lenguaje   grado 9 calendario APrueba de lenguaje   grado 9 calendario A
Prueba de lenguaje grado 9 calendario A
INDEIPCO LTDA
 

Viewers also liked (20)

Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la web
 
Web 2.0 per a entidades deportivas
Web 2.0 per a entidades deportivasWeb 2.0 per a entidades deportivas
Web 2.0 per a entidades deportivas
 
Presentacion1 alberto villar
Presentacion1 alberto villarPresentacion1 alberto villar
Presentacion1 alberto villar
 
Convocatorias IMJUVE
Convocatorias IMJUVEConvocatorias IMJUVE
Convocatorias IMJUVE
 
Questionnement du sujet
Questionnement du sujetQuestionnement du sujet
Questionnement du sujet
 
Aspects de la vente v 1.0
Aspects de la vente v 1.0Aspects de la vente v 1.0
Aspects de la vente v 1.0
 
Gestion des ressources humaines (prise de notes)
Gestion des ressources humaines (prise de notes)Gestion des ressources humaines (prise de notes)
Gestion des ressources humaines (prise de notes)
 
Questionnaires results
Questionnaires resultsQuestionnaires results
Questionnaires results
 
L2 - sojennie
L2 - sojennieL2 - sojennie
L2 - sojennie
 
Practiques fisica 2n batx gener 2011
Practiques fisica 2n batx gener 2011Practiques fisica 2n batx gener 2011
Practiques fisica 2n batx gener 2011
 
Diaporama Nuit des Cathédrales 2014
Diaporama Nuit des Cathédrales 2014 Diaporama Nuit des Cathédrales 2014
Diaporama Nuit des Cathédrales 2014
 
Etude psychologique sur l'infanticide
Etude psychologique sur l'infanticideEtude psychologique sur l'infanticide
Etude psychologique sur l'infanticide
 
Livret propositions
Livret propositionsLivret propositions
Livret propositions
 
Pratiques numériques des jeunes européens - information et internet : observe...
Pratiques numériques des jeunes européens - information et internet : observe...Pratiques numériques des jeunes européens - information et internet : observe...
Pratiques numériques des jeunes européens - information et internet : observe...
 
PAA Africa Programme Inception Workshop - Programme d'achat d'aliments
PAA Africa Programme Inception Workshop - Programme d'achat d'alimentsPAA Africa Programme Inception Workshop - Programme d'achat d'aliments
PAA Africa Programme Inception Workshop - Programme d'achat d'aliments
 
Programa completo job day 1º jornada de innovación en el empleo y talento en...
Programa completo job day 1º jornada de innovación en el empleo y talento en...Programa completo job day 1º jornada de innovación en el empleo y talento en...
Programa completo job day 1º jornada de innovación en el empleo y talento en...
 
Equipo4 semana2
Equipo4 semana2Equipo4 semana2
Equipo4 semana2
 
Urdu 48
Urdu 48Urdu 48
Urdu 48
 
Monnaie et politique monétaire (suite)
Monnaie et politique monétaire (suite)Monnaie et politique monétaire (suite)
Monnaie et politique monétaire (suite)
 
Prueba de lenguaje grado 9 calendario A
Prueba de lenguaje   grado 9 calendario APrueba de lenguaje   grado 9 calendario A
Prueba de lenguaje grado 9 calendario A
 

Similar to Instructions d'itérations (les boucles)

Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
C00LiMoUn
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
BenacerLeila
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
PGambette
 

Similar to Instructions d'itérations (les boucles) (12)

Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
langage C++
langage C++langage C++
langage C++
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Les bases du javascript
Les bases du javascriptLes bases du javascript
Les bases du javascript
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
Cours javascript v1
Cours javascript v1Cours javascript v1
Cours javascript v1
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 

Instructions d'itérations (les boucles)

  • 1. Dans l'instruction while…do, l'expression est un, le bloc <instruction> représente soit une instruction simple, soit une instruction composée (begin ..... end). Sémantique C'est une instruction de boucle. Tant que l'expression reste vraie, le bloc d'instruction est réexécuté. Dès que l'expression est fausse le while…do s'arrête. C'est une boucle non finie (s'arrêtera après un nombre fini d'exécution). Exemple program WhileDo ; var x, y : integer ; begin x := 1 ; y := 0 ; while x<4 do begin x := x+1 ; y := y +x end; writeln ('x=', x , 'y=', y) end. Le programme écrit : x=4 y=9 Exécution pas à pas : x vaut 1 y vaut 0 x<4 est true donc x vaut x+1 soit 2 et y vaut y+x soit 2 x<4 est true donc x vaut x+1 soit 3 et y vaut y+x soit 5 x<4 est true donc x vaut x+1 soit 4 et y vaut y+x soit 9 x<4 est false donc arrêt (à la fin : x=4, y=9) Dans l'instruction repeat…until, l'expression est un prédicat, le bloc<instruction> représente soit une suite d'instructions simple. Sémantique C'est une instruction de boucle. 1
  • 2. Tant que l'expression reste fausse, le bloc d'instruction est réexécuté. Dès que l'expression est vraie le repeat…until s'arrête. C'est une boucle non finie . La différence avec le while ..do réside dans le fait que le repeat ... until exécute toujours au moins une fois le bloc d'instructions avant d'évaluer l'expression booléenne alors que le while ... do évalue immédiatement son expression booléenne avant d'exécuter le bloc d'instructions. Exemple program RepeatUntil ; var x, y : integer ; begin x := 1 ; y := 0 ; repeat x := x+1 ; y := y +x until x>=4; writeln ('x=', x , 'y=', y) end. Le programme écrit : x=4 y=9 // Exécution pas à pas : // x vaut 1 // y vaut 0 // on entre dans le repeat donc x vaut x+1 soit 2 // et y vaut y+x soit 2 // x>=4 est false donc x vaut x+1 soit 3 // et y vaut y+x soit 5 // x>=4 est false donc x vaut x+1 soit 4 et y vaut y+x soit 9 // x>=4 est true donc arrêt (à la fin : x=4, y=9) Ce programme fournit le même résultat que celui de la boucle while…do, car il y a une correspondance sémantique entre ces deux boucles : repeat <instruction> until <expr> <instruction> ; while not<expr> do C'est une instruction de boucle, il y a deux genres d'instructions for (for...to et for...downto) 2 <instruction>
  • 3. Version for <identificateur> := <Expr1>to <Expr2> do <Instruction> : identificateur est une variable qui se dénomme indice de boucle. <Expr1> et <Expr2> sont obligatoirement des expressions du même type que la variable d'indice de boucle identificateur. < Instruction > est un bloc d'instruction simple ou composée (begin ..... end). Version for <identificateur> := <Expr1> downto <Expr2> do <Instruction> : même signification des constituants que pour la version précédente, seul le sens de parcours différe (par valeurs croissantes pour un for...to, par valeurs décroissantes pour un for...downto). Sémantique L'indice de boucle prend toutes les valeurs (par ordre croissant ou décroissant selon le genre de for) comprises entre <Expr1> et <Expr2> bornes inclues. Tant que la valeur de l'indice de boucle ne dépasse pas par valeur supérieure dans le cas du for...to, ou par valeur inférieure dans le cas du for...downto La valeur de <Expr2>, le bloc d'instruction est réexécuté C'est une boucle finie (c-à-dire que l'on connaît à l'avance le nombre de tours de boucle). Exemple program ForDo ; var x, y : integer ; begin y :=0 ; for x := 1 to 3 do y := y +x end. Exécution de chaque tour de boucle : y vaut 0 x vaut 1 => y vaut 0+1=1 x vaut 2 => y vaut 1+2=3 x vaut 3 => y vaut 3+3=6 x vaut 4 => arrêt (à la fin : x=4, y=6) 3