Exercice langage C: Les programmes de teste
Travail à Faire:
a) Créez un programme qui lit deux valeurs entières x et y, et qui effectue l'un après l'autre les cinq tests indiqués ci-dessous. Pour chacun des tests, afficher un texte court si le test est vrai, ne rien afficher sinon.
Tests:
- x est égal au double de y
- x est pair
- x est pair et y est impair
- x est compris (strictement) entre -15 et +10
b) Ajoutez maintenant le code pour indiquer si est plus grand que 50, compris entre 5 et 50, compris entre -5 et +5 ou plus petit que -5. Chaque limite fait partie de l'intervalle placé à sa droite. Par exemple, +5 fait partie de l'intervalle [+5;+50[, +50 n'en fait pas partie.
Comment écrire le programme sans utiliser d'opérateurs logiques (&& ou ||) ? Indice: utilisez des if imbriqués.
a) Notez l'usage de ``strictement plus petit'' et ``plus petit ou egal''. N'oubliez pas la différence entre l'affectation (=) et l'égalité (==). Plusieurs conditions peuvent être testées dans une seule instruction if, à l'aide des opérateurs && (et) et || (ou). Pour tester si un nombre est pair, il suffit de vérifier s'il est divisible par 2, i.e. si le reste de sa division entière par 2 est 0.
#include
using namespace std;
int main(int argc, char **argv) {
int x, y;
cout cin >> x;
cout cin >> y;
if (x == 2 * y)
cout if (x % 2 == 0)
cout if ((x % 2 == 0) && (y % 2 == 1))
cout if (-15 cout return 0;
}
b) Afin de ne pas utiliser d'opérateurs logiques (&& et ||), il faut employer efficacement les instructions de test if et else. Souvenez-vous que les instructions if peuvent être suivies d'un bloc d'instructions dans lequel figurent d'autres instructions if.
#include
using namespace std;
int main(int argc, char **argv) {
float x;
cout cin >> x;
if (x >= 50)
cout = 50" else { // si x if (x >= 5)
cout else { // si x if (x >= -5)
cout else // si x cout }
}
return 0;
}