CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure d'un programme ● Bibliothèque graphique ● Tirage pseudo-aléatoire
CINI – Li Questions de cours (1/2) ● Le langage C est un langage : ● Fonctionnel ? ● Interprété ? ● Impératif ? ● Compilé ? ● Typé ? ● Incontournable ? ● Combien de types de boucles existe-t-il en C ? ● Deux, trois, quatre ? ● Le langage C permet-il de représenter la valeur π ? ● Oui – Non
CINI – Li Questions de cours (2/2) ● Dans quel cas doit-on (de préférence) utiliser une boucle for ? ● Dans quel cas doit-on (de préférence) utiliser une boucle do- while ? ● Peut-on remplacer une boucle for par une boucle while ?
CINI – Li Types des expressions ● Donnez le type et, le cas échéant, la valeur, de chacune des expressions suivantes : ● 'a' ● -7.1 ● "a" ● 3+2 ● ● 3/-2 ● 3.0/2 ● 'A'+3 ● 2/"a" ● "a"+"b"
CINI – Li Déclarations de variables ● Quelles sont les déclarations correctes et, le cas échéant, quelles sont les valeurs des variables ? ● int _qsd; int 'toto;int 2befree; int ALKqsdlkazA; ● int a = 3; char i; ● int c,d=3; ● float e = 3; int f = 3.2; float g = 3,2; ● char h = "c"; char j = 'a'; char k = 35; int l = 'a'; ● bool n = no; bool m = false; bool o = 1;
CINI – Li Instruction conditionnelle (1/2) ● Quelle est la valeur de la variable a après l'exécution de ce bloc d'instructions ? ● int a = 3, b = 5; ● if ((a+2)<b) { ● a = a+b; ● } else ● b = b*2; ● a = a-b; ● Et si la valeur initiale de a était 1 ? ● int a = 1, b = 5; ●...
CINI – Li Instruction conditionnelle (2/2) ● À l'aide d'instructions conditionnelles, écrivez un programme qui calcule dans une variable resultat le plus petit entier non négatif entre deux entiers donnés a et b. ● resultat = -1 si les deux valeurs sont négatives : ● #include ● int main() { ● int resultat; ● int a = 7, b = -5; ● … (à vous) … ● return 0; ● }
CINI – Li Boucles (1/2) ● Quels morceaux de programmes affichent toutes les lettres minuscules de l'alphabet ? char b; for (b='a';b<'z';b++) { CINI_print_char(b); } char b = 'a'; while (b<='z') { CINI_print_char(b); b++; } char b = 'a'; do { CINI_print_char(b); b++; while (b<='z'); char b = 'a'; while (b<='z') CINI_print_char(b); b++; char b; for(b='a';b<='z';b++) { CINI_print_char(b); b++; } char b; for(b='a';b<='z';b++) CINI_print_char(b);
CINI – Li Structure d'un programme ● Complétez le programme suivant : ● ______________ ● _____ main ________ { ● int a = N; ● CINI_print_int(a+2); /* affiche 5 */ ● CINI_newline(); ● ______________ ● }
CINI – Li Bibliothèque graphique ● Écrivez un programme qui trace une ligne horizontale de L=100 pixels de long à partir du point A=(X0,Y0) X0X0 + L Y0
CINI – Li Bibliothèque graphique ● Écrivez un programme qui dessine un triangle rectangle plein, de sommets A = (10,10), B = (10,200) et C = (100,200) ● Indice: pour « remplir » le triangle, on utilisera des tracés de lignes horizontales, verticales ou obliques (au choix) A B C
CINI – Li Tirage pseudo-aléatoire ● Complétez le programme suivant qui doit afficher deux nombres entre 1 et 6. ● #include ● int main() { ● ___________________ ● CINI_print_int(___________________); ● CINI_print_string(" et "); ● CINI_print_int(___________________); ● CINI_newline(); ● return 0; ● }