Vous êtes sur la page 1sur 38

Universit Moulay Isma e l ECOLE SUPERIEURE DE TECHNOLOGIE MEKNES

Le langage C
Chakir LOQMAN

15/11/2011

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Plan

Les structures de contrle o Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Boucle Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Plan

Les structures de contrle o Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Boucle Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection simple e

Slection simple : notation algorithmique e Une condition est teste pour dterminer si laction ou le groupe dactions e e suivant doit tre excut. e e e

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection simple e

Slection simple : notation algorithmique e Une condition est teste pour dterminer si laction ou le groupe dactions e e suivant doit tre excut. e e e Si (condition) Alors bloc instructions Fin Si

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection simple e

Slection simple : notation algorithmique e Une condition est teste pour dterminer si laction ou le groupe dactions e e suivant doit tre excut. e e e Si (condition) Alors bloc instructions Fin Si

Slection simple : notation C e i f ( condition ){ bloc_instru ct i on s ; }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple

Exemple : algorithmique x : entier ; x 0; Si (x = 0) Alors x 1; Ecrire(x) ; Fin Si

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple

Exemple : en langage C Exemple : algorithmique x : entier ; x 0; Si (x = 0) Alors x 1; Ecrire(x) ; Fin Si #i n c l u d e < stdio .h > main (){ i n t x; x =0; i f ( x ==0){ x =1; printf ( " % d " ,x ); } }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection compl`te e e


Slection compl`te : notation algorithmique e e Si (condition) Alors bloc instructions 1 Sinon bloc instructions 2 Fin Si

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection compl`te e e


Slection compl`te : notation algorithmique e e Si (condition) Alors bloc instructions 1 Sinon bloc instructions 2 Fin Si

Slection compl`te : notation C e e i f ( condition ){ bloc_instr uc t io ns 1; } else { bloc_instr uc t io ns 2; }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple

Exemple : algorithmique x : entier ; x 0; Si (x = 0) Alors x 1; Ecrire(x) ; Sinon x 2; Ecrire(x) ; Fin Si

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple

Exemple : algorithmique x : entier ; x 0; Si (x = 0) Alors x 1; Ecrire(x) ; Sinon x 2; Ecrire(x) ; Fin Si

Exemple : en langage C #i n c l u d e < stdio .h > main (){ i n t x; x =0; i f ( x ==0){ x =1; printf ( " % d " ,x );} else { x =2; printf ( " % d " ,x );} }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple :
#i n c l u d e < stdio .h > #i n c l u d e < stdlib .h > #i n c l u d e < math .h > main (){ double a, b, c ; double r; delta = ( b * b ) -4.0*( a * c ) i f ( delta < 0) printf ( " Pas de solutions reelles " ); e l s e i f ( delta == 0) printf ( " Une solution double : " ,( - b /(2.0* a )); else { r = sqrt ( delta ); printf ( " La solution x1 =% f : " ,( -b - r )/(2.0* a )); printf ( " La solution x2 =% f : " ,( - b + r )/(2.0* a )); } system ( " PAUSE " ); }
Chakir LOQMAN EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection multiple e

Dnition e La slection multiple permet de faire plusieurs tests de valeurs sur le contenu e dune mme variable. Ce branchement conditionnel simplie beaucoup le test e de plusieurs valeurs dune variable

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Notations de la slection multiple e

Dnition e La slection multiple permet de faire plusieurs tests de valeurs sur le contenu e dune mme variable. Ce branchement conditionnel simplie beaucoup le test e de plusieurs valeurs dune variable Slection multiple : notation algorithmique e Selon que < Condition 1 > : < Action 1 > ; < Condition 2 > : < Action 2 > ; < ................. > : < ............ > ; < Condition n > : < Action n > ; Fin Selon que

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Switch

s w i t c h ( < nom variable >) { c a s e < valeur 1 > : < instructions 1 > ; b r e a k ; c a s e < valeur 2 > : < instructions 2 > ; b r e a k ; /* .... */ c a s e < valeur n > : < instructions n > ; b r e a k ; d e f a u l t : /* instructions */ }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple :Switch
Nous voulons acher le nom dun mois en fonction de son numro : e

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Exemple :Switch
Nous voulons acher le nom dun mois en fonction de son numro : e s w i t c h ( numeroMois ) { c a s e 1 : printf ( " janvier " ); b r e a k ; c a s e 2 : printf ( " fevrier " ); b r e a k ; c a s e 3 : printf ( " mars " ); b r e a k ; c a s e 4 : printf ( " avril " ); b r e a k ; c a s e 5 : printf ( " mai " ) ; b r e a k ; c a s e 6 : printf ( " juin " ); b r e a k ; c a s e 7 : printf ( " juillet " ); b r e a k ; c a s e 8 : printf ( " aout " ); b r e a k ; c a s e 9 : printf ( " septembre " ); b r e a k ; c a s e 10 : printf ( " octobre " ); b r e a k ; c a s e 11 : printf ( " novembre " ); b r e a k ; c a s e 12 : printf ( " decembre " ); b r e a k ; d e f a u l t : printf ( " Je connais pas ce mois ... " ); }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Plan

Les structures de contrle o Notations de la slection simple e Notations de la slection compl`te e e Notations de la slection multiple e

Boucle Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucles :

Dnition e Cest une technique permettant de rpter les mmes instructions plusieurs fois. e e e

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucles :

Dnition e Cest une technique permettant de rpter les mmes instructions plusieurs fois. e e e Types des boucles Il y a principalement deux types de boucles Les boucles pour rpter une instruction un certain nombre de fois, il e e sagit de la boucle Pour Les boucles pour rpter une instruction jusqu` une condition darret, il e e a sagit de bouclesTant que Le passage dans une boucle est appel itration e e

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle Pour :
Dnition e Les boucles pour permettent de rpter une instruction un nombre donn e e e de fois.

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle Pour :
Dnition e Les boucles pour permettent de rpter une instruction un nombre donn e e e de fois. Boucle Pour : notation algorithmique Pour variable de valeur initiale ` valeur nale [de pas p] faire a instructions ; Fin Pour

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle Pour :
Dnition e Les boucles pour permettent de rpter une instruction un nombre donn e e e de fois. Boucle Pour : notation algorithmique Pour variable de valeur initiale ` valeur nale [de pas p] faire a instructions ; Fin Pour

Boucle Pour : notation C f o r ( i = valeur_init ia le ; i <= valeur_finale ; i = i + p ){ instructions ; }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : algorithmique Pour i de 0 ` 10 faire a Ecrire(i) ; Fin Pour

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : en langage C Exemple : algorithmique Pour i de 0 ` 10 faire a Ecrire(i) ; Fin Pour #i n c l u d e < stdio .h > main ( ){ i n t i; f o r ( i =1; i <=5; i ++) printf ( " % d " ,i ); }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle tant que :


Dnition e Les boucles tant que permettent deectuer des itrations tant quune e certaine condition est verie. e

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle tant que :


Dnition e Les boucles tant que permettent deectuer des itrations tant quune e certaine condition est verie. e Boucle tant que : notation algorithmique Tant que (condition) faire bloc instructions ; Fin Tant que

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle tant que :


Dnition e Les boucles tant que permettent deectuer des itrations tant quune e certaine condition est verie. e Boucle tant que : notation algorithmique Tant que (condition) faire bloc instructions ; Fin Tant que

Boucle tant que : notation C w h i l e ( condition ){ instructions ; }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : algorithmique x : entier ; x 1; Tant que (x 5) faire x x+1 ; ecrire(Valeur x=,x) ; Fin Tant que

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : en langage C Exemple : algorithmique x : entier ; x 1; Tant que (x 5) faire x x+1 ; ecrire(Valeur x=,x) ; Fin Tant que #i n c l u d e < stdio .h > main (){ i n t x; x =1; w h i l e (x <=5){ x = x +1; printf ( " Valeur x =% d " ,x ); } }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : algorithmique Algorithme Saisie Variable n : Entier ; Dbut e lire(n) ; Tant que (n > 0) faire ecrire(entrer un nomber :) ; lire(n) ; Fin Tant que Fin

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : algorithmique Algorithme Saisie Variable n : Entier ; Dbut e lire(n) ; Tant que (n > 0) faire ecrire(entrer un nomber :) ; lire(n) ; Fin Tant que Fin

Exemple : en langage C #i n c l u d e < stdio .h > #i n c l u d e < stdlib .h > main (){ i n t n; scanf ( " % d " ,& n ); w h i l e (n >0){ printf ( " entrer un nombre " ); scanf ( " % d " ,& n ); } system ( " pause " ); }

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle Rpter ... jusqu` : e e a

Boucle Rpter ... jusqu` : notation algorithmique e e a Rpter e e bloc instructions ; jusqu` ce que (condition) a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Boucle Rpter ... jusqu` : e e a

Boucle Rpter ... jusqu` : notation algorithmique e e a Rpter e e bloc instructions ; jusqu` ce que (condition) a

Boucle Rpter ... jusqu` : notation C e e a do { bloc_instru ct i on s ; } w h i l e ( condition );

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : algorithmique x : entier ; x 0; Rpter e e x x+1 ; Ecrire(Valeur x=,x) ; jusqu` ce que (x < 6) a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Exemple

Exemple : en langage C #i n c l u d e < stdio .h > #i n c l u d e < stdlib .h > main (){ i n t x; x =0; do{ x = x +1; printf ( " Valeur x =% d " ,x ); } w h i l e (x <6) } system ( " pause " ); }

Exemple : algorithmique x : entier ; x 0; Rpter e e x x+1 ; Ecrire(Valeur x=,x) ; jusqu` ce que (x < 6) a

Chakir LOQMAN

EST Mekn`s e

Les structures de contrle o Boucle

Boucle Pour Boucle tant que Boucle Rpter ... jusqu` e e a

Merci pour votre attention

Chakir LOQMAN

EST Mekn`s e