Introduction Les variables Expressions bool´eennes Les tests Boucles
0-M02 – Introduction ` a la programmation Introduction ` a l’algorithmique
Cours n
◦1
Variables, tests et structures de contrˆ ole
Camille Coti
camille.coti@iutv.univ-paris13.fr
IUT de Villetaneuse, d´epartement R&T
2011 – 2012
Introduction Les variables Expressions bool´eennes Les tests Boucles
Site web
Slides des cours, versions ´ electroniques des polys, TD, TP...
http://www.lipn.fr/~coti/cours
Introduction Les variables Expressions bool´eennes Les tests Boucles
Introduction
´ Etymologie du mot ”informatique”
Form´ e de la contraction des mots information et automatique.
L’informatique est un outil de traitement automatique de l’information.
On doit alors d´ efinir comment des informations vont ˆ etre trait´ ees (automatiquement) par l’ordinateur.
La science informatique n’est pas plus la science des ordinateurs que l’astronomie n’est celle des t´ elescopes – Edsger Dijkstra
L’ordinateur est un outil qui traite l’information comme le programme lui
dit de la traiter.
Introduction Les variables Expressions bool´eennes Les tests Boucles
Pourquoi l’algorithmique
Qu’est-ce qu’un algorithme ?
Un algorithme d´ efinit ce que fait un programme
Il d´ efinit quel comportement suivre selon la situation rencontr´ ee Algorithme : d´ efinition
S´ erie d’instructions qui doit ˆ etre ex´ ecut´ ee par un programme.
D´ efinition de Wikipedia :
Processus syst´ ematique de r´ esolution d’un probl` eme permettant de d´ ecrire les ´ etapes vers le r´ esultat;
Suite finie et non-ambigu¨ e d’instructions permettant de donner la r´ eponse
`
a un probl` eme.
Introduction Les variables Expressions bool´eennes Les tests Boucles
Comment d´ ecrire un algorithme
D´ efinition de Wikipedia :
L’algorithmique est l’ensemble des r` egles et des techniques qui sont impliqu´ ees dans la d´ efinition et la conception d’algorithmes.
Algorithmique
Formalisme permettant de d´ ecrire la s´ erie d’instructions ex´ ecut´ ee par un programme ind´ ependamment d’un langage de programmation en particulier.
Les algorithmes sont d´ ecrits en pseudo-code, compr´ ehensible par le lecteur
humain mais assez pr´ ecis pour transcrire les structures et les instructions de
l’algorithme.
Introduction Les variables Expressions bool´eennes Les tests Boucles
Par quoi est constitu´ e un algorithme
Un algorithme permet d’obtenir un r´ esultat ` a partir de donn´ ees d’entr´ ee. Il est donc constitu´ e des ´ el´ ements suivants :
Un d´ ebut et une fin ; Un nom ;
Des donn´ ees d’entr´ ee ; Des donn´ ees de sortie, qui sont le r´ esultat du calcul effectu´ e par l’algorithme ; Un ensemble d’instructions ex´ ecut´ ees par l’algorithme.
Exemple : algorithme de calcul d’une valeur absolue
d´ ebut fonction abs( i: Entier ): Entier
1
si i > 0 alors
2
r ←− i
3
sinon
4
r ←− −i
5
finsi
6
retourner r
7
fin fonction
8
Introduction Les variables Expressions bool´eennes Les tests Boucles
Importance d’un bon algorithme
Compr´ ehension et mod´ elisation du probl` eme
L’algorithme mod´ elise le comportement du programme Correction du r´ esultat
Algorithme faux → r´ esultat du calcul faux Efficacit´ e du calcul
Coˆ ut d’un calcul = nombre d’op´ erations et quantit´ e d’information manipul´ ee
Ces quantit´ es sont d´ efinies par l’algorithme
Algorithme efficace → calcul efficace (et inversement) L’´ etude algorithmique d’un probl` eme est indispensable
La bonne conception d’un algorithme est fondamentale et absolument
n´ ecessaire pr´ ealablement ` a l’´ ecriture d’un programme informatique.
Introduction Les variables Expressions bool´eennes Les tests Boucles
G´ en´ ericit´ e des algorithmes
Les algorithmes sont ´ ecrits dans un langage de descriptions des algorithmes (pseudo-code)
Ind´ ependant du langage de programmation
→ Un algorithme peut ˆ etre impl´ ement´ e dans n’importe quel langage
Probleme Algorithme Programme Resultats
Analyse Codage Execution
Introduction Les variables Expressions bool´eennes Les tests Boucles
Repr´ esentation des donn´ ees
D´ efinition
Une variable correspond ` a l’emplacement m´ emoire d’une donn´ ee. Elle sert ` a stocker une valeur d’un certain type ` a un instant donn´ e de l’ex´ ecution du programme.
Les variables d’un algorithmes sont :
D’entr´ ee : donn´ ees d’entr´ ee de l’algorithme
De sortie : r´ esultat du calcul effectu´ e par l’algorithme
Interne ` a l’algorithme : ni d’entr´ ee ni de sortie mais utilis´ ee ` a l’int´ erieur de
l’algorithme
Introduction Les variables Expressions bool´eennes Les tests Boucles
Type de variables
D´ efinition
Le Type d’une variable est le type de donn´ ee qui pourra ˆ etre contenu dans cette variable.
Exemples :
Entier : tout nombre entier Bool´ een : vrai ou faux Caract` ere
Nombre r´ eel Chaˆıne de caract` eres Tableau...
On ne peut pas mettre une donn´ ee d’un type dans une variable d’un autre type
Exception : un transtypage est parfois possible (entier dans r´ eel...)
Introduction Les variables Expressions bool´eennes Les tests Boucles
Affectation
Affectation d’une valeur ` a une variable
Pour ´ ecrire une valeur dans une variable, on dit que l’on affecte cette valeur ` a la variable. On le note de la fa¸ con suivante :
variable ←− valeur d´ ebut
1
maV ariable : Entier
2
maV ariable ←− 42
3
fin
4
On d´ eclare le type de la variable avant de l’utiliser
Les d´ eclarations sont g´ en´ eralement rassembl´ ees au d´ ebut de l’algorithme
Introduction Les variables Expressions bool´eennes Les tests Boucles
Les tableaux
Tableaux
Un tableau est un type particulier de variable. Il contient un ensemble de variables de mˆ eme type, stock´ ees de fa¸ con contigu¨ e en m´ emoire.
Exemple : tableau d’entiers 3 5 2 1 12 5 2 9
Caract´ eristiques d’un tableau Un tableau a une taille fixe
Il contient un certain type de donn´ ees D´ eclaration d’un tableau
On le d´ eclare avec le type de donn´ ees qu’il contient et sa taille d´ ebut
1
monT ableau[10] :
2
T ableau d
0Entiers fin
3
Introduction Les variables Expressions bool´eennes Les tests Boucles
Les tableaux (suite)
Tableau ` a plusieurs dimensions
On donne la taille dans chaque dimension
Exemple en 2D (ordre C) : d’abord le nombre de lignes, puis le nombre de colonnes
Acc` es aux donn´ ees d’un tableau
Les cases du tableau sont num´ erot´ ees de 0 ` a N − 1 (si N est la taille du tableau)
On acc` ede aux donn´ ees d’un tableau en utilisant l’indice dans ce tableau
d´ ebut
1
/* Variables d’entree */
2
maM atrice[10][10] : T ableau d
0Entiers
3
/* Variables de sortie */
4
i : entier
5
/* Affectation */
6
i ←− maM atrice[2][3]
7
fin
8
Introduction Les variables Expressions bool´eennes Les tests Boucles
Bool´ een
Bool´ een
Un bool´ een est une variable ` a deux ´ etats : Vrai ou Faux. On repr´ esente aussi parfois ces deux ´ etats par 1 et 0.
Les op´ erateurs de comparaison renvoient un bool´ een. Exemple : 1 > 0 renvoie Vrai
1 == 0 renvoie Faux
Lorsqu’une condition est ´ evalu´ ee, on regarde sa valeur (bool´ een). Exemple : d´ ebut
1
maV ar : Entier
2
maV ar ←− 0
3
si maV ar < 5 alors
4
maV ar ←− maV ar + 1
5
finsi
6
fin
7
maV ar est initialis´ e ` a 0 On teste maV ar < 5
´ Equivalent ` a tester 0 < 5 La condition vaut Vrai
Donc on ex´ ecute le bloc d’instruction
apr` es le mot-cl´ e alors
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole
On peut ´ evaluer des expressions bool´ eennes en utilisant des op´ erateurs : Op´ erateurs logiques
ET logique : . OU logique : + OU exclusif : ⊕ N´ egation : ¯ ou !
Exemples : a.b a + b a ⊕ b
a + b =!(a + b) a + b = a+!b
Tables de v´ erit´ e :
. 0 1
0 0 0
1 0 1
+ 0 1
0 0 1
1 1 1
⊕ 0 1
0 0 1
1 1 0
La n´ egation transforme un Vrai en Faux et inversement : V rai = F aux
F aux = V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Un peu d’alg` ebre de Boole (suite)
Prenons a = V rai et b = F aux.
Exemples d’expressions bool´ eennes : a + b = V rai + F aux = V rai
a + b = V rai + F aux = V rai + V rai = V rai a.b = V rai.F aux = V rai.V rai = V rai = F aux
Attention aux parenth` eses ! (a + b).(c + d)
Exemples de compositions d’expressions bool´ eennes sur des variables en algorithmique :
(a > b)ET (a > 0)
Si a = 1 et b = 2 : (a > b) = F aux donc l’expression vaut F aux Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression vaut V rai
(a > b)OU(a > 0)
Si a = 1 et b = 2 : (a > b) = F aux et (a > 0) = V rai donc l’expression vaut V rai
Si a = 3 et b = 2 : (a > b) = V rai et (a > 0) = V rai donc l’expression
vaut V rai
Introduction Les variables Expressions bool´eennes Les tests Boucles
Les tests
Un test est une structure conditionnelle : les instructions ex´ ecut´ ees d´ ependent de la r´ ealisation ou non d’une condition.
D´ efinition
Un test d´ efinit une condition et un comportement ` a suivre si elle est r´ ealis´ ee.
Optionnellement, il peut d´ efinir un comportement ` a suivre dans le cas contraire.
Syntaxe :
La condition est donn´ ee entre les mot-cl´ es si et alors
L’action r´ ealis´ ee si la condition est v´ erifi´ ee est donn´ ee apr` es le mot-cl´ e alors
Si on donne une action ` a r´ ealiser si la condition n’est pas v´ erifi´ ee, elle est introduite par le mot-cl´ e sinon Le test est termin´ e par le mot-cl´ e finsi
si condition alors
1
action1
2
sinon
3
action2
4
finsi
5
Introduction Les variables Expressions bool´eennes Les tests Boucles
Condition d’un test
La condition d’un test est une expression bool´ eenne Valeurs possibles : VRAI ou FAUX
Elle est ´ evalu´ ee pour d´ ecider quel bloc d’instructions ex´ ecuter.
On peut tester :
l’´ egalit´ e entre deux variables : var1 == var2
la non-´ egalit´ e entre deux variables : var1! = var2
une relation d’ordre entre deux variables : var1 > var2
ou toute expression renvoyant V rai ou F aux
d´ ebut
1
maV ar : Entier
2
maV ar ←− 0
3
si maV ar < 5 alors
4
maV ar ←− maV ar + 1
5
finsi
6
fin
7
On peut combiner des expressions bool´ eennes en utilisant les op´ erateurs logiques ET et OU (attention aux parenth` eses) :
((var1 == var2) ET (var1 > 0)) OU (var2 < 0).
Introduction Les variables Expressions bool´eennes Les tests Boucles
Blocs d’instructions
Un algorithme est structur´ e par blocs d’instructions contenant plusieurs instructions ` a ex´ ecuter s´ equentiellement.
Exemple : les instructions ` a ex´ ecuter si la condition d’un test est r´ ealis´ ee
Les lignes 5 et 6 sont un bloc La ligne 8 est un bloc
Des blocs peuvent ˆ etre imbriqu´ es Un bloc d’instructions peut ˆ etre inclus dans un autre bloc.
Les lignes 2 ` a 9 sont un bloc Les deux blocs dans la condition sont des blocs imbriqu´ es dans ce bloc
d´ ebut
1
maV ar : Entier
2
maV ar ←− 0
3
si maV ar < 5 alors
4
maV ar ←− maV ar + 1
5
afficher( mavar )
6
sinon
7
maV ar ←− 0
8
finsi
9
fin
10
Des instructions d’un bloc sont d´ ecal´ ees vers la droite au mˆ eme niveau
Un bloc est indiqu´ e par une ligne verticale sur la gauche
Introduction Les variables Expressions bool´eennes Les tests Boucles
Tests imbriqu´ es
On peut imbriquer des tests, c’est-` a-dire qu’un test peut ˆ etre effectu´ e dans le corps d’un autre test.
On effectue un test ligne 4
Si la condition est r´ ealis´ ee, on ex´ ecute le bloc situ´ e entre les lignes 5 et 8
On effectue alors un autre test ligne 6
Si la condition est r´ ealis´ ee, on ex´ ecute le bloc ligne 7
Sinon, on ex´ ecute le bloc ligne 10.
Le test situ´ e entre les lignes 6 et 8 est imbriqu´ e dans le test situ´ e entre les lignes 4 et 11.
d´ ebut
1
maV ar : Entier
2
maV ar ←− 0
3
si maV ar < 5 alors
4
maV ar ←− maV ar + 1
5
si maV ar > 2 alors
6
afficher( mavar )
7
finsi
8
sinon
9
maV ar ←− 0
10
finsi
11
fin
12
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Les boucles
Condition d’arrˆ et
La condition d’arrˆ et d’une boucle est une condition (une expression bool´ eenne) qui d´ etermine le moment o` u une boucle doit arrˆ eter d’ex´ ecuter le bloc
d’instructions.
Une boucle sert ` a r´ ep´ eter un bloc d’instructions tant qu’une condition de continuation est satisfaite ou que la condition d’arrˆ et n’est pas satisfaite.
Exemples d’utilisation :
Parcours d’un tableau, calcul it´ eratif...
Une boucle utilise un bloc d’instructions : c’est tout le bloc d’instructions correspondant qui est r´ ep´ et´ e.
Il est possible que le bloc d’instructions ne soit pas ex´ ecut´ e du tout (si la
condition d’arrˆ et est d´ ej` a satisfaite) ou un nombre infini de fois (souvent un
bug).
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Boucle Pour
On d´ efinit un compteur et :
Une initialisation de ce compteur i ← 0
Une condition d’arrˆ et pour sortir de la boucle
` a 9
Un pas qui modifie le compteur ` a la fin de chaque it´ eration
pas 1
On termine le bloc avec finpour
Exemple : algorithme de remplissage d’un tableau de 10 cases.
d´ ebut
1
tab[10] : T ableau d
0entiers
2
pour i ←− 0 ` a 9 pas 1 faire
3
tab[i] = 2 ∗ i
4
finpour
5
fin
6
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Boucle Pour (suite)
Le pas est n’importe quel modificateur sur le compteur : il peut ˆ etre n´ egatif, non lin´ eaire...
d´ ebut
1
pour i ←− 10 ` a 0 pas −2 faire
2
afficher( i )
3
finpour
4
fin
5
Affichage par le programme : 10
8 6 4 2 0
d´ ebut
1
pour i ←− 1 ` a 35 pas ∗2 faire
2
afficher( i )
3
finpour
4
fin
5
Affichage par le programme : 1
2 4 8 16 32
La boucle s’ex´ ecute tant que i est
inf´ erieur ` a 35 : on s’arrˆ ete ` a 32.
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Boucle Tant que... faire
La boucle Tant que ex´ ecute un bloc d’instructions tant qu’une condition est vraie : c’est la condition de boucle.
La condition de boucle est d´ efinie apr` es le mot-cl´ e Tant que
L’action ` a effectuer est donn´ ee entre les mot-cl´ es faire et fintq : on d´ efinit un bloc d’instructions qui est r´ ep´ et´ e
Attention aux boucles infinies !
Il faut que la condition de boucle finisse par ˆ etre invalid´ ee...
Exemple : algorithme de calcul des puissances de 2 inf´ erieures ` a 50.
d´ ebut
1
puissance : Entier
2
puissance ←− 1
3
tant que puissance < 50 faire
4
afficher( puissance )
5
puissance ←− puissance ∗ 2
6
fintq
7
fin
8
Affichage : 1
2
4
8
16
32
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Boucle Tant que... faire (suite)
d´ ebut
1
puissance : Entier
2
puissance ← 1
3
tant que puissance < 50 faire
4
afficher( puissance )
5
puissance ← puissance ∗ 2
6
fintq
7
fin
8
D´ etail de l’ex´ ecution : puissance vaut 1
puissance est-il inf´ erieur ` a 50 ? oui donc on ex´ ecute le bloc
Affichage : 1 puissance vaut 2
Retour ` a la ligne 4 : puissance est-il inf´ erieur ` a 50 ? oui donc on ex´ ecute le bloc
Affichage : 2 puissance vaut 4 ...
Lorsque puissance prend la valeur 64 :
la condition ligne 4 n’est plus satisfaite
et on sort de la boucle
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Equivalence entre les boucles ´ for et tant que ... faire
On peut ´ ecrire une boucle faire ... tant que ´ equivalente ` a une boucle for : Le compteur est initialis´ e avant d’entrer dans la boucle faire ... tant que La condition de boucle est la mˆ eme que la condition d’arrˆ et de la boucle for
Le compteur est modifi´ e ` a la fin du bloc d’instruction ex´ ecut´ e par la boucle faire ... tant que
d´ ebut
1
pour i ←− 0 ` a 9 pas 1 faire
2
tab[i] = 2 ∗ i
3
finpour
4
fin
5
d´ ebut
1
i : entier
2
i ←− 0
3
tant que i < 10 faire
4
tab[i] = 2 ∗ i
5
i ←− i + 1
6
fintq
7
fin
8
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Boucle Faire ... tant que
La boucle Faire ... tant que ex´ ecute un bloc d’instructions puis ´ evalue une condition de boucle
Le bloc d’instructions est r´ ep´ et´ e si la condition de boucle est satisfaite
d´ ebut
1
puissance : Entier
2
puissance ← 1
3
faire
4
afficher( puissance )
5
puissance ← puissance ∗ 2
6
tant que puissance < 20 ;
7
fin
8
D´ etail de l’ex´ ecution : puissance vaut 1 Affichage : 1 puissance vaut 2
puissance est-il inf´ erieur ` a 20 ? oui donc on r´ e-ex´ ecute le bloc : retour ` a la ligne 4
Affichage : 2 puissance vaut 4 ...
Lorsque puissance a pris la valeur 32 :
la condition ligne 7 n’est plus satisfaite
et on sort de la boucle
Introduction Les variables Expressions bool´eennes Les tests Boucles Boucle Pour Boucle Tant que ... faire Boucle Faire ... tant que
Diff´ erence entre les boucles Faire ... tant que et Tant que ... faire
La boucle Faire ... tant que commence par ´ evaluer la condition de boucle
Puis elle ex´ ecute le bloc d’instructions si la condition de boucle est valid´ ee La boucle Tant que ... faire ex´ ecute le bloc d’instructions puis elle
´
evalue la condition de boucle
Algorithme d’attente ` a un stop : d´ ebut
1
vitesse : Entier
2
faire
3
vitesse ←− 0
4
tant que voituresArrivent == V rai ;
5
vitesse ←− 50
6
fin
7
Algorithme d’attente ` a un feu rouge : d´ ebut
1
vitesse : Entier
2
tant que couleurF eu == rouge faire
3
vitesse ←− 0
4
fintq
5
vitesse ←− 50
6
fin
7