Vous êtes sur la page 1sur 4

FIT 2

Algorithmique et programmation I
Damien Berthet & Vincent Labatut
Universit Galatasaray

TP

structures de contrle

1 Linstruction si avec alternative


Syntaxe :
if(condition de branchement) { premire instruction; ... dernire instruction; } else { premire instruction; ... dernire instruction; }

Exercice 1
Ecrire un programme qui demande lutilisateur dentrer trois rels a, b et c puis qui affiche les solutions de lquation en fonction des valeurs de a, b et c. Vous pouvez utiliser la fonction sqrt() dfinie dans la bibliothque math.h1. Exemples dexcution :
Entrez les valeurs des coefficients a, b et c du trinome, a doit etre non-nul. a = 2.1 b = 1.2 c = 0.1 L'equation 2.10x^2 + 1.20x + 0.10 = 0 admet deux solutions : x1 = -0.101287 et x2 = -0.470142. Entrez les valeurs des coefficients a, b et c du trinome, a doit etre non-nul a = 0.1 b = -1.2 c = 5.2 L'equation 0.10x^2 + -1.20x + 5.20 = 0 n'admet pas de solutions.

2 Les instructions ditration


2.1 Boucle tant que
La boucle tant que permet de rpter lexcution dun bloc dinstructions tant quune condition est vraie. Syntaxe :
while(condition) Sous un OS linux, il peut tre ncessaire de modifier les paramtres declipse et dajouter un lien vers la bibliothque mathmatique : properties > C/C++Build. Dans le Linker cochez miscellaneous et ajouter lm dans linker flags.
1

Algorithmique et programmation I

FIT 2

TP 1/4

structures de contrle

{ }

premire instruction; ... dernire instruction;

2.2 Boucle rpter


La boucle rpter permet dexcuter un bloc dinstructions et de rpter son traitement tant quune condition est vraie. Syntaxe :
do { premire instruction; ... dernire instruction; } while(condition);

Le do...while se comporte comme le while, lexception du fait que le bloc sera toujours excut au moins une fois, mme si la condition est fausse.

2.2.1 Boucle pour


La boucle pour suit la syntaxe :
for(intialisation; condition ; modification){ premire instruction; ... dernire instruction; }

Elle est quivalente :


initialisation ; while(condition){ premire condition ; dernire condition ; modification ; }

Lutilisation de la boucle for permet de simplifier le code et de le rendre plus lisible lorsque lon sait lavance le nombre ditrations qui devront tre effectues.

Exercice 2
crivez un programme qui : saisit un entier renverse lentier affiche le rsultat Exemple :
Entrez lentier a renverser : 1234 Resultat : 4321

3 Transformation dune image couleur en image en niveaux de gris


Exercice 3
Crez un nouveau projet nomm TP05_mon_nom_partie_graphique. Dans ce projet copiez depuis kikencere les fichiers :
Algorithmique et programmation I FIT 2 TP 2/4

structures de contrle

o primitives_graphiques.c, o primitives_graphique.h, o main.c o et le dossier album. Les fonctions dfinies dans primitives_graphiques.c sont dcrites dans primitives_graphique.h. Le rpertoire album contient des fichiers images au format bmp. Modifiez les paramtres de votre projet afin de pouvoir utiliser la bibliothque SDL, compilez puis excutez-le.

Exercice 4
Modifier le fichier main afin dafficher droite de lcran la photo nomme image1.bmp contenu dans lalbum :

Exercice 5
Une image en niveau de gris est une image monochrome noire et blanche dont lintensit lumineuse varie entre le noir et le blanc. Un pixel dune image RVB est de couleur grise si chacune de ses composantes sont gales (cf TP02). Pour transformer une image couleur code suivant le mode RVB en une image en niveaux de gris, on peut utiliser lalgorithme suivant : On parcourt chaque pixel de limage, pour chaque pixel : o On dtermine les quantits de rouge, vert et bleu du pixel courant. o On calcule la moyenne de ces trois valeurs. Cette moyenne sera le niveau de gris du pixel courant. o On modifie en gris la couleur du pixel courant.

Algorithmique et programmation I

FIT 2

TP 3/4

structures de contrle

Dans main : Implmentez cet algorithme en utilisant les fonctions de la bibliothque graphique.h. Affichez sur lcran limage initiale et sa transforme. Crez dans le rpertoire album un nouveau fichier nomm image10.bmp contenant limage que voua avez cre. (Remarque : Utilisez la touche F5 pour mettre jour lexplorateur declipse et constatez si la nouvelle image a bien t cre dans le rpertoire album.)

Algorithmique et programmation I

FIT 2

TP 4/4