TD2 Corrige
TD2 Corrige
TD2 Corrige
1. Écrire une simple instruction en C++ qui affiche « nombre assez grand » si la variable count est plus
grande que 100.
if (count > 100) cout << " nombre assez grand ";
a. Ou le cout devrait être employé au lieu du cin, ou l'opérateur d'extraction >> devrait être
employé au lieu de l'opérateur d'insertion <<.
b. Des parenthèses sont exigées autour de la condition x < y, et un point-virgule est exigé à la fin
de la clause if avant le else.
Il y a plus qu’une instruction entre la clause if et la clause else. Elles doivent être transformées en
instruction composée en les enfermant dans les parentheses {}.
4. Construire une expression logique pour représenter chacune des conditions suivantes :
a. score (variable) est plus petit ou egal a 80 mais plus petit que 90.
b. answer (variable) est ‘N’ ou ‘n’;
c. n est pair mais différent de 8
d. ch est une lettre majuscule
Dans la première instruction, le else correspond au premier if. Dans la seconde instruction, le else
correspond au second if. Si n <= 2, la première instruction imprimera le NG tandis que la seconde
instruction ne fera rien. Si 2 < n < 6, les deux instructions imprimeront OK. Si le n< 6, la première
instruction ne fera rien tandis que la seconde instruction imprimera le NG.
7. Écrire un programme qui lit l'âge de l'utilisateur et imprime « vous êtes un enfant. » si l'âge < 18, « vous
êtes un adulte. » si l'âge du >= 18 et âge < 65, ou « vous êtes un vieillard. » si l’âge 65.
int main()
{ int age;
cout << "Enter your age: ";
cin >> age;
if (age < 18) cout << "You are a child.\n";
else if (age < 65) cout << "You are an adult.\n";
else cout << "you are a senior citizen.\n";
}
a. while ( c <= 5 )
{
product *= c;
c++;
while ( z >= 0 )
sum += z;
La valeur de la variable z n'est jamais changée dans la boucle while. Par conséquent, si la condition (z
>= 0) est au début vrai, une boucle infinie est créée. Pour remédier à ça, z doit être décrémenté de
sorte qu'il devienne par la suite plus petit que 0.
#include<iostream.h>
int main() {
int i = 0 ;
if (i=0) {
cout << “vrai”;
else
cout << “faux”;
}
Le programme affiche faux car l’expression (i=0) est une affectation qui renvoie sa partie droite (dans
ce cas 0). Le zéro est considéré comme le Faux logique.
#include <iostream.h>
int main() {
int n ;
cin >> n ;
switch (n) {
case 0 : cout << "Nul " ;
case 1 :
case 2 : cout << "Petit " ; break ;
case 3 :
case 4 :
case 5 : cout << "Moyen " ;
default : cout << "Grand " ;
}
}
a) Nul Petit
b) Petit
c) Moyen Grand
d) Grand
e) Grand
12. En utilisant un switch, écrire un programme qui lit un entier qui représente un mois (1 pour janvier, 2
pour février, 3 pour mars, etc.) et qui affiche le nombre de jours de ce mois.
#include<iostream.h>
int main() {
int n;
cin >> n;
switch (n) {
case 2 : cout << “nombre de jours = 28”;break;
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 : cout << “nombre de jours = 31”;break;
case 4 :
case 6 :
case 9 :
case 11 : cout << “nombre de jours = 30”;break;
default : cout << “mois erroné”;
}
}
#include<iostream.h>
int main() {
int n;
cin >> n;
switch (n) {
case 0 : cout << “ajournée”;break;
case 1 : cout << “ajournée”;break;
case 3 : cout << “ajournée”;break;
case 4 : cout << “ajournée”;break;
case 5 : cout << “ajournée”;break;
case 6 : cout << “ajournée”;break;
case 7 : cout << “ajournée”;break;
case 8 : cout << “ajournée”;break;
case 9 : cout << “ajournée”;break;
case 10 : cout << “passable”;break;
case 11 : cout << “passable”;break;
case 12 : cout << “assez bien”;break;
case 13 : cout << “assez bien”;break;
case 14 : cout << “bien”;break;
case 15 : cout << “bien”;break;
case 16 : cout << “très bien”;break;
case 17 : cout << “très bien”;break;
case 18 : cout << “très bien”;break;
case 19 : cout << “excellent”;break;
case 20 : cout << “excellent”;break;
default : cout << “note invalide”;
}
}
#include<iostream.h>
int main() {
int n;
cin >> n;
if ((n<0) || (n>20)) {
cout << “note invalide”;
} else if (n<10) {
cout << “ajournée”;
} else if (n<12) {
Cout << “passable”;
} else if (n<14) {
Cout << “assez bien”;
} else if (n<16) {
Cout << “bien”;
} else {
Cout << “excellent”;
}
}