• Aucun résultat trouvé

Conditions et boucles

N/A
N/A
Protected

Academic year: 2022

Partager "Conditions et boucles"

Copied!
53
0
0

Texte intégral

(1)

Conditions et boucles

Alexandre Benoit

BCPST

(2)

2 / 13

Notion d’algorithme

Un algorithme est une procédure permettant de résoudre un problème, écrite de façon suffisamment détaillée pour être suivie sans posséder de compétence particulière ni même comprendre le problème que l’on est en train de résoudre.

Les Instructions de base de l’algorithme sont :

1 La déclaration et l’affectation de variable ;

2 la séquence, qui exécute deux instructions l’une à la suite de l’autre.

3 le test, ou instruction conditionnelle, qui sert à n’exécuter une instruction que dans certains états ;

4 la boucle, qui exécute plusieurs fois la même instruction dans un programme.

(3)

Notion d’algorithme

Un algorithme est une procédure permettant de résoudre un problème, écrite de façon suffisamment détaillée pour être suivie sans posséder de compétence particulière ni même comprendre le problème que l’on est en train de résoudre.

Les Instructions de base de l’algorithme sont :

1 La déclaration et l’affectation de variable ;

2 la séquence, qui exécute deux instructions l’une à la suite de l’autre.

3 le test, ou instruction conditionnelle, qui sert à n’exécuter une instruction que dans certains états ;

4 la boucle, qui exécute plusieurs fois la même instruction dans un programme.

(4)

2 / 13

Notion d’algorithme

Un algorithme est une procédure permettant de résoudre un problème, écrite de façon suffisamment détaillée pour être suivie sans posséder de compétence particulière ni même comprendre le problème que l’on est en train de résoudre.

Les Instructions de base de l’algorithme sont :

1 La déclaration et l’affectation de variable ;

2 la séquence, qui exécute deux instructions l’une à la suite de l’autre.

3 le test, ou instruction conditionnelle, qui sert à n’exécuter une instruction que dans certains états ;

4 la boucle, qui exécute plusieurs fois la même instruction dans un programme.

(5)

Notion d’algorithme

Un algorithme est une procédure permettant de résoudre un problème, écrite de façon suffisamment détaillée pour être suivie sans posséder de compétence particulière ni même comprendre le problème que l’on est en train de résoudre.

Les Instructions de base de l’algorithme sont :

1 La déclaration et l’affectation de variable ;

2 la séquence, qui exécute deux instructions l’une à la suite de l’autre.

3 le test, ou instruction conditionnelle, qui sert à n’exécuter une instruction que dans certains états ;

4 la boucle, qui exécute plusieurs fois la même instruction dans un programme.

(6)

2 / 13

Notion d’algorithme

Un algorithme est une procédure permettant de résoudre un problème, écrite de façon suffisamment détaillée pour être suivie sans posséder de compétence particulière ni même comprendre le problème que l’on est en train de résoudre.

Les Instructions de base de l’algorithme sont :

1 La déclaration et l’affectation de variable ;

2 la séquence, qui exécute deux instructions l’une à la suite de l’autre.

3 le test, ou instruction conditionnelle, qui sert à n’exécuter une instruction que dans certains états ;

4 la boucle, qui exécute plusieurs fois la même instruction dans un programme.

(7)

Instructions conditionnelles

If

Else

(8)

3 / 13

Instructions conditionnelles

If

Else

(9)

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2; la ligne x=x+1 n’est exécuté que si le nombre x est pair. la ligne x=x/2n’est exécuté que si le nombre x est impair.

(10)

4 / 13

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2; la ligne x=x+1 n’est exécuté que si le nombre x est pair. la ligne x=x/2n’est exécuté que si le nombre x est impair.

(11)

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2; la ligne x=x+1 n’est exécuté que si le nombre x est pair. la ligne x=x/2n’est exécuté que si le nombre x est impair.

(12)

4 / 13

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2;

la ligne x=x+1 n’est exécuté que si le nombre x est pair. la ligne x=x/2n’est exécuté que si le nombre x est impair.

(13)

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2; la ligne x=x+1 n’est exécuté que si le nombre x est pair.

la ligne x=x/2n’est exécuté que si le nombre x est impair.

(14)

4 / 13

Instructions conditionnelles : Exemple

Une instruction conditionnelle n’est exécutée que si une condition donnée est vérifiée par l’état courant.

i f x%2 == 1 : x=x /2 e l s e:

x=x+1

Pour identifier sans ambiguïté les instructions appartenant au bloc du if, il est nécessaire de les indenter ;

ifvérifie la valeur d’un booléen. Ici on a le booléen x%2; la ligne x=x+1 n’est exécuté que si le nombre x est pair.

la ligne x=x/2n’est exécuté que si le nombre x est impair.

(15)

elif

i f x%2 == 1 : x = x /2 e l i f x%3 == 1 :

x = x /3 e l s e :

x = x + 1

(16)

5 / 13

elif

i f x%2 == 1 : x = x /2 e l i f x%3 == 1 :

x = x /3 e l s e :

x = x + 1

(17)

Boucle conditionnelle

(18)

7 / 13

Boucle conditionnelle : Exemple 1

On se donne les lignes suivantes : p = 1

c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p )

On indente les instructions appartenant au bloc du while comme pour le if ;

Ce programme bouclera autour des instructions tant que le test ne sera pas vérifié ;

Ce bloc d’instructions est appelé corps de la boucle et chaque passage est appelé une itération ;

(19)

Boucle conditionnelle : Exemple 1

On se donne les lignes suivantes : p = 1

c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p )

On indente les instructions appartenant au bloc du while comme pour le if ;

Ce programme bouclera autour des instructions tant que le test ne sera pas vérifié ;

Ce bloc d’instructions est appelé corps de la boucle et chaque passage est appelé une itération ;

(20)

7 / 13

Boucle conditionnelle : Exemple 1

On se donne les lignes suivantes : p = 1

c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p )

On indente les instructions appartenant au bloc du while comme pour le if ;

Ce programme bouclera autour des instructions tant que le test ne sera pas vérifié ;

Ce bloc d’instructions est appelé corps de la boucle et chaque passage est appelé une itération ;

(21)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4 8 16 32

c

5 4 3 2 1 0

c>0

Vrai Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(22)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p 1

2 4 8 16 32

c

5 4 3 2 1 0

c>0

Vrai Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(23)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p 1

2 4 8 16 32

c 5

4 3 2 1 0

c>0

Vrai Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(24)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p 1

2 4 8 16 32

c 5

4 3 2 1 0

c>0 Vrai

Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(25)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2

4 8 16 32

c 5

4 3 2 1 0

c>0

Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(26)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2

4 8 16 32

c

5 4

3 2 1 0

c>0 Vrai

Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(27)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2

4 8 16 32

c

5 4

3 2 1 0

c>0

Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(28)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4

8 16 32

c

5 4

3 2 1 0

c>0

Vrai Vrai

Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(29)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4

8 16 32

c

5 4 3

2 1 0

c>0

Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(30)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4

8 16 32

c

5 4 3

2 1 0

c>0

Vrai Vrai Vrai

Vrai Vrai Faux

Cet algorithme affiche 32

(31)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4 8 16 32

c

5 4 3 2 1 0

c>0

Faux Cet algorithme affiche 32

(32)

8 / 13

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4 8 16 32

c

5 4 3 2 1 0

c>0

Vrai Vrai Vrai Vrai Vrai Faux

Cet algorithme affiche 32

(33)

Boucle conditionnelle : Exemple 2

p = 1 c = 5 w h i l e c >0:

p = p∗2 c = c−1 p r i n t( p ) État des variables :

p

1 2 4 8 16 32

c

5 4 3 2 1 0

c>0

(34)

9 / 13

Boucle conditionnelle : Terminaison

Les boucleswhile peuvent ne pas finir. Par exemple : p = 1

c = 5 w h i l e c >0:

p = p∗2 Expliquer ce qu’il se passe

p 1 2 4 8 16 . . . .

c 5 5 5 5 5 . . . .

c>0 Vrai Vrai Vrai Vrai Vrai . . . .

(35)

Boucle conditionnelle : Terminaison

Les boucleswhile peuvent ne pas finir. Par exemple : p = 1

c = 5 w h i l e c >0:

p = p∗2 Expliquer ce qu’il se passe

p 1 2 4 8 16 . . . .

c 5 5 5 5 5 . . . .

c>0 Vrai Vrai Vrai Vrai Vrai . . . .

(36)

10 / 13

Boucle for

(37)

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1 2 3 4

p 1

2 4 8 16 32

Cet algorithme affiche encore32

(38)

11 / 13

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1;

c

0 1 2 3 4

p 1

2 4 8 16 32

Cet algorithme affiche encore32

(39)

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1 2 3 4

p 1

2 4 8 16 32

Cet algorithme affiche encore32

(40)

11 / 13

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0

1 2 3 4

p 1

2 4 8 16 32

Cet algorithme affiche encore32

(41)

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0

1 2 3 4

p

1 2

4 8 16 32

Cet algorithme affiche encore32

(42)

11 / 13

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1

2 3 4

p

1 2

4 8 16 32

Cet algorithme affiche encore32

(43)

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1

2 3 4

p

1 2 4

8 16 32

Cet algorithme affiche encore32

(44)

11 / 13

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1 2 3 4

p

1 2 4 8 16

32 Cet algorithme affiche encore32

(45)

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1 2 3 4

p

1 2 4 8 16 32

Cet algorithme affiche encore32

(46)

11 / 13

Boucle for : Exemple

Lorsque l’on connaît à l’avance le nombre d’itérations qu’il faudra effectuer, on utilise une boucle for

p = 1

f o r c i n range( 5 ) : p = p∗2

p r i n t( p )

Icirange(n)représente les nombres entre 0 etn−1; c

0 1 2 3 4

p

1 2 4 8 16 32

Cet algorithme affiche encore32

(47)

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue)

Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5). Les exercices de 1 à 7

(48)

12 / 13

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue) Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5). Les exercices de 1 à 7

(49)

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue) Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5). Les exercices de 1 à 7

(50)

12 / 13

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue) Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5). Les exercices de 1 à 7

(51)

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue) Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5).

Les exercices de 1 à 7

(52)

12 / 13

Je dois savoir

Écrire un petit test en python (exemple : valeur absolue) Écrire une boucle en python :

afficher les premiers termes d’une suite définie par récurrence (exercice 7).

écrire un algorithme de seuil (exercice 7)

afficher la somme des termes d’une liste (exercice 5).

Les exercices de 1 à 7

(53)

Références

Ce cours est issu en grande partie du livre Informatique pour tousde Wack et autres aux éditionsEyrolles

Les illustrations sont dues à Ske.

Références

Documents relatifs

Le choix d’un algorithme pour résoudre un problème d’optimisation nécessite un juste équi- libre entre convergence de l’algorithme vers un point, si possible un minimum de

Dans le chapitre 3, on a présenté un algorithme employant une méthode de points intérieurs et de quasi-Newton pour résoudre un problème de minimisa- tion non linéaire avec

Le choix d’un algorithme pour résoudre un problème d’optimisation nécessite un juste équi- libre entre convergence de l’algorithme vers un point, si possible un minimum de

"On appelle algorithme une suite finie d’instructions indiquant de façon unique l’ordre dans lequel doit être effectué un ensemble d’opérations pour résoudre tous

Pour les enfants, adolescentes et adolescents avec un handicap, l’accessibilité des supports revêt une importance particulière : livres adaptés, faciles à lire et à

Pour les items de français, une procédure analogue a été suivie : après un module d’orientation plus conséquent qu’en calcul, les personnes sont orientées vers un

Afin de résoudre le problème du placement de chaînes de fonctions réseau virtualisées nous avons d’abord proposé, dans le cadre mono-propriétaire, un algorithme visant à

Par ailleurs, nous avons développé un algorithme exact pour résoudre un problème connexe (qui est une généralisation d’un problème précédemment connu dans la littérature)