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;
}

Article publié le 16 Mars 2012 Mise à jour le Lundi, 07 Novembre 2022 13:14 par BENKIRANE Fatima Ezzahra