17
17/06/22 Les structures de contrôle 1 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau

COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

  • Upload
    trina

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

COURS A2I12 Initiation à l'algorithmique illustrée par le langage C. Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau. Cours N° 2. Les instructions répétitives (boucles). Algo. Les instructions répétitives. - PowerPoint PPT Presentation

Citation preview

Page 1: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 1

COURS A2I12Initiation à l'algorithmique illustrée par le langage C

Guillaume BOURLET

Département GEII

IUT Sénart/Fontainebleau

Page 2: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 2

Cours N° 2

Les instructions répétitives (boucles)

Page 3: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 3

Les instructions répétitivesIl arrive fréquemment qu'on doive répéter la même instruction plusieurs fois de suite. On dispose de structures qui permettent ces répétitions.La boucle "pour"

pour i allant de A à B faire {…}La boucle "tant que"

tant que (condition vraie) faire {…}La boucle "faire … tant que"

faire {…} tant que (condition vraie)La boucle "répéter … jusqu'à"

répéter {…} jusqu'à (condition vraie)

Algo

Page 4: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 4

La boucle "pour"Elle est utile lorsqu'on veut exécuter un certain nombre de fois une instruction, et qu'on sait par avance combien de fois.Exemple : Afficher la table de 7

Algo

7 x 1 = 77 x 2 = 147 x 3 = 217 x 4 = 287 x 5 = 357 x 6 = 427 x 7 = 497 x 8 = 567 x 9 = 637 x 10 = 70

10 fois de suite…

Il faut afficher le chiffre 7, suivi de x

Il faut afficher un compteur( qui va de 1 à 10 )

Il faut afficher le signe = suivi du résultat de 7*compteur

Et passer à la ligne

Page 5: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 5

La boucle "pour"Appelons i le compteur, c'est un entier qui va de 1 à 10.

En algorithmique, l'affichage de la table de 7 s'écrit :

Algo

Déclarer i entier

Pour i allant de 1 à 10

Écrire "7x"

Écrire i

Écrire "="

Écrire 7*i

Faire un saut de ligne (SdL)

Fin pour

Ou pour aller plus vite :

Déclarer i entier

Pour i allant de 1 à 10

Écrire "7x", i, "=", 7*i

SdL

Fin pour

Page 6: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 6

La boucle "pour"Algo

Fin pour

Suite du programme

i = 11

Écrire "7x", i, "=", 7*i

SdL

i i + 1

Pour i allant de 1 à 10

Début du programme

i <= 10 ?

i = 1

non

oui

i = 2i = 3

7x1=7

7x2=14

7x7=49

7x3=21

7x8=56

7x4=28

7x6=42

7x5=35

7x10=70

7x9=63

i = 4i = 5i = 6i = 7i = 8i = 9i = 10i = 11

Page 7: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 7

La boucle "for" du C

short i ; /* déclaration du compteur */

for ( i=1; i<=10 ; i=i+1)

{

printf("7 x %2d = %2d\n",i,7*i);

}

C

Incrémentation du compteur

Condition de continuationInitialisation

du compteur

en-tête de boucle

Corps de boucle

Affichage de la table de 7

Page 8: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 8

La boucle "for" du CSchéma d'exécution

C

for ( i=1; i<=10 ; i=i+1)

{

printf("7 x %2d = %2d\n",i,7*i);

}

Vrai

Faux

Page 9: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 9

La boucle "tant que {…}"

On l'utilise quand on veut répéter des instructions tant qu'une condition est réalisée. Cette condition est testée avant d'entrer dans le corps de la boucle.

Exemple : on propose à l'utilisateur d'afficher les multiples de 7 un par un et on lui demande à chaque fois s'il veut continuer.

Algo

Algorithme :Déclarer

i entierrep caractère ('o' ou 'n')

i 0Écrire i, " est un multiple de 7"Écrire "Encore ?"Saisir repTant que (rep vaut 'o')

i i+7Écrire i, " est un multiple de 7"Écrire "Encore ?"Saisir rep

Fin tant queÉcrire "Au revoir"

Page 10: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 10

i = 0

La boucle "tant que"Algo

Fin tant que

Début du programme

Suite du programme

i i+7

Tant que rep vaut 'o'non

oui

21 est un multiple de 7

7 est un multiple de 7

Encore ?

o

Encore ?

14 est un multiple de 7

o

Encore ?

Au revoir

n

Écrire "Encore ?"

Saisir rep

Écrire i, " est un multiple de 7"

SdL

0 est un multiple de 7

Encore ?

o

i = 7

rep='o'

i = 14i = 21

rep='o'rep='o'rep='n'

Page 11: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 11

La boucle "while" du Cshort i ; /* variable de contrôle */

i=1 ;

while (i<=10)

{

printf("7 x %2d = %2d\n",i,7*i);

i=i+1;

}

C

Incrémentation de la variable de contrôle

Condition de continuation

Initialisation de la variable de contrôle

Corps de boucle

en-tête de boucleAffichage de la

table de 7

Page 12: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 12

La boucle "while" du CSchéma d'exécution.

i=1 ;

while (i<=10)

{ printf("7 x %2d = %2d\n",i,7*i); i=i+1; }

C

Faux

Vrai

Page 13: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 13

La boucle "faire {…} tant que"

C'est la même chose qu'une boucle "tant que", mais la condition de continuation est située à la fin de la boucle et non au début

Algo

Faire

Bloc d'instructions

Tant que (condition)Vrai

Faux

Page 14: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 14

La boucle "do … while" du Cshort i ; /* variable de contrôle */

i=1 ;

do

{

printf("7 x %2d = %2d\n",i,7*i);

i=i+1;

}

while (i<=10) ;

C

Incrémentation de la variable de contrôle

Condition de continuation

Initialisation de la variable de contrôle

Corps de boucle

en-tête de boucle Affichage de la

table de 7

Page 15: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 15

La boucle "répéter {…} jusqu'à"

C'est la même chose qu'une boucle "faire…tant que", mais la condition de fin de boucle est une condition de sortie et non de continuation.Si la condition de fin de boucle est vraie, alors on sort de la boucle.

Algo

Répéter

Bloc d'instructions

Jusqu'à (condition)Faux

Vrai

Cette structure n'est pas implémentée en C

Page 16: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 16

Les trois boucles du CLa boucle for :

for ( initialisation de i ; condition de continuation ; mise à jour de i )

{

instructions ……

}

La boucle for :

for ( initialisation de i ; condition de continuation ; mise à jour de i )

{

instructions ……

}

C

La boucle while :

initialisation de i

while ( condition de continuation )

{

instructions ……

(comprenant une mise à jour de i)

}

La boucle while :

initialisation de i

while ( condition de continuation )

{

instructions ……

(comprenant une mise à jour de i)

}

La boucle do … while :

initialisation de i

do

{

instructions ……

(comprenant une mise à jour de i)

}

while ( condition de continuation ) ;

La boucle do … while :

initialisation de i

do

{

instructions ……

(comprenant une mise à jour de i)

}

while ( condition de continuation ) ;

Page 17: COURS A2I12 Initiation à l'algorithmique illustrée par le langage C

21/04/23 Les structures de contrôle 17

Correspondance Algo - CAlgo & C

ALGO C

Boucle "Pour" Pas d'implémentation en C

Boucle "Tant que …"Boucle "for"

Boucle "while"

Boucle "Faire…tant que" Boucle "do…while"

Boucle "Répeter …jusqu'à" Pas d'implémentation en C