• Aucun résultat trouvé

Boucles Opérateurs relationnels Boucles Informatique S1 Programmation C

N/A
N/A
Protected

Academic year: 2022

Partager "Boucles Opérateurs relationnels Boucles Informatique S1 Programmation C"

Copied!
3
0
0

Texte intégral

(1)

31/10/2008

1 Informatique S1

Programmation C

Objectifs de la séance

Présentation des boucles (Partie I)

Concepts

–Opérateurs relationnels >,<,>=,<=, !=, ==

–Boucle while –Boucle do-while

Concepts complémentaires

–Notion de typecast –Indentation

Boucles

Boucles

–Répéterun bloc d’instructions tant qu’une condition logique soit vrai

–On ne sait pas à priori combien de fois le bloc doit être exécuté

Exemples d’usage :

–Calculer

x

Yavec X et Y fournis par l’utilisateur –Calculer le factoriel de n (1 x 2 x … x n) –Calculer la moyenne d’un ensemble –…

Boucles

Changer ampoule

ampoule grillée?

vrai faux

instructions test

Changer ampoule ampoule grillée?

vrai faux

Opérateurs relationnels

Pour comparer deux valeurs

== égal à a == b

!= différent de a != b

< inférieur à a < b

<= inférieur ou égal à a <= b

> supérieur à a > b

>= supérieur ou égal à a >= b

Vrai ou faux Pas de type booléen en C

Faux 0 (zero) Vrai ≠ 0

(2)

31/10/2008

2

Boucle while

Format :

while

( test )

{

bloc d’instructions ;

}

Boucle infinie

Le test doit être vrai à un moment donné ou on restera bloqué !!

!

Boucle while

Test : i < y

instructions Trace d’exécution

expo i y x

PO 2 1 0 2 2

PO 3 2 1 2 2

PO 3 4 2 2 2

PO 4 4 2 2 2

Boucle do-while

Format :

do {

bloc d’instructions ;

} while

( test ) ;

Boucle infinie

Le test doit être vrai à un moment donné ou on restera bloqué !!

!

Boucle do-while

Test : i < y instructions

Trace d’exécution

expo i y x

PO 2 1 0 2 2

PO 3 2 1 2 2

PO 3 4 2 2 2

PO 4 4 2 2 2

(3)

31/10/2008

3

Typecast

Conversion de type

–int → float 3 → 3.0 –float → int 3.5 → 3

Implicite

–Automatique –Pas assez fiable

Explicite

–On indique explicitement le nouveau type –(newtype)

Typecast implicite

intx, y;

floatexpo;

...

expo = expo * x ; ...

float = float * int

float

2.0 2

2.0

Typecast (conversion) implicite

float = float *

2.0

float 2.0

float = float *

2.0 4.0

Typecast explicite

intx, y;

floatexpo;

...

expo = expo * (float)x ; ...

float = float * int

2.0 2

( float)

float 2.0

float = float *

2.0

float

float = float *

Typecast (conversion) explicite

Typecast explicite

Avantage :

–Visibilité

int i = 4;

float x = 3.45;

i = x;

int i = 4;

float x = 3.45;

i = (float) x;

Références

Documents relatifs

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

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

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

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

Saisir dans la fenêtre de commande les instructions pour reproduire les figures suivantes en utilisant la fonction rep (les nombres indiquent les longueurs des

Connaître la syntaxe d´une boucle for, savoir utiliser la fonction range(), parcourir une chaine de caractère, utiliser des instructions conditionnelles au sein

Comme nous pouvons le voir, bien que la condition soit fausse (pour rappel, une valeur nulle correspond à une valeur fausse), le corps de la boucle est exécuté une fois puisque

On notera que la dernière instruction de l’exemple ci-dessus ne fait par conséquent pas partie de la boucle (elle n’est exécutée qu’une seule fois).. • Les boucles for