Vous êtes sur la page 1sur 4

Section de Technicien Supérieur

SYSTÈMES NUMÉRIQUES – INFORMATIQUE & RÉSEAUX

Activité Travail pratique formatif


Durée 8
Modularisation M2-TP3
Référentiel S4.2 - Algorithmique

Algorithmique

STRUCTURE CONDITIONNELLE
DE CONTRÔLE (3/3)

Consignes de Travail
Il est demandé d'effectuer le travail ci-dessous en autonomie.
Un compte-rendu imprimé est exigé en fin de séance. Les codes source doivent être inclus.
1. Objectifs du TP
• Faire un algorithme,
• Réaliser des traitements conditionnés,
• Réaliser le compte rendu contenant l'algorithme, le code et ce qu'il faut retenir.

2. La directive #define
La directive #define permet de remplacer toutes les occurrences d'un mot par un autre.
Exemple : #define N 1143 // toutes les occurrences de N seront remplacées par 1143.

3. La génération de nombres aléatoires


La fonction qui permet de générer des nombres aléatoires est rand().
En C++, cette fonction fait partie de la bibliothèque cstdlib, vous devrez donc l'inclure.

Le générateur de nombres aléatoires est initialisé avec la fonction srand() conformément à la


syntaxe donnée dans l’exemple ci-dessous

srand(time(NULL)); ou srand(time(0)) ; // à n’utiliser qu’une seule fois.


valeur=rand() % 100 ; // génère un nombre aléatoire entre 0 et 99.

Afin de pouvoir utiliser la fonction time, la bibliothèque ctime est requise également.

4. Exercice 1
Réalisez une application console qui décrit le comportement d'un automobiliste face à un feu
tricolore. Voici quelques précisions sur ce que doit faire l'application, elle :
• tire au hasard un chiffre compris entre 1 et 3.
• affecte le chiffre 1 correspond à la couleur verte, le chiffre 2 à la couleur orange et le
chiffre 3 à la couleur rouge.
• affiche la couleur du feu et le comportement du conducteur (continue à rouler, ralentit
puis s'arrête, s'arrête) selon la couleur du feu.

SNIR1 Structure conditionnelle de contrôle (3/3) p. 1


Informatique M2.3
5. Les opérateurs logiques
Les opérateurs logiques permettent de tester plusieurs conditions d'un test. Le tableau suivant
présente les 2 opérateurs logiques les plus utilisés ainsi que l’opérateur « complément » d’une
variable booléenne.

Opérateur Symbole Exemple


AND (et) && (expression1 && expression2)
OR (ou) || (expression1 || expression2)
NOT (non) ! !expression

Nous rappelons également ici les symboles utilisés afin de réaliser des comparaisons.

Symbole Signification
== est égal à
> est supérieur à
< est inférieur à
>= est supérieur ou égal à
<= est inférieur ou égal à
!= est différent de

Exemple 1 : condition pour qu’une année soit bissextile

bool ab ; int annee = 1997 ;


ab = (( (annee % 4 == 0) && (annee % 100 !=0)) || ( annee % 400 == 0))

Exemple 2 : condition de test sur 2 valeurs

if ( (val1 == 1) && (val2 == 2) )

6. Exercice 2
Réalisez une application console qui décrit le fonctionnement suivant:
• Affiche "Donnez 2 chiffres compris entre 1 et 9".
• Prend en compte ces 2 chiffres.
• Affiche "Vous avez gagné le lot 1" si le premier chiffre est 1 et le deuxième chiffre est
2.
• Affiche "Vous avez gagné le lot 2" si le premier chiffre est 1 ou 9.
• Affiche "Vous avez gagné le lot 3" si le premier chiffre est 1 et le deuxième chiffre est 3
ou 4.
• Affiche "Vous avez gagné le lot 4" si le premier chiffre est 1 et le deuxième chiffre n'est
pas 3.
• Affiche "Vous avez gagné le lot 5" si le deuxième chiffre est supérieur à 5.
Il est possible de gagner plusieurs lots.
L'application vérifiera si les valeurs données par l'utilisateur sont bien comprises entre 1 et 9.

SNIR1 Structure conditionnelle de contrôle (3/3) p. 2


Informatique M2.3
7. La structure conditionnelle à choix multiples
La structure conditionnelle permet au programme de réagir selon des conditions qui se
présentent à lui.
a. Exemple d'algorithme de structure conditionnelle à choix multiple

SELON (choix)
CAS valeur1 : traitement1
CAS valeur2 : traitement2
CAS valeur3 : traitement3
AUTRE CAS : traitement4
FIN SELON

b. Exemple de code en C++


switch (choix)
{
case valeur1 :
traitement1;
break;
case valeur2 :
traitement2;
break;
case valeur3 :
traitement3;
break;
default : traitement4;
}

La variable choix doit être de type entier ou de type caractère.

L'instruction break permet de sortir du bloc switch après le traitement.

8. Exercice 3
Réalisez une application console qui décrit le fonctionnement suivant:
• Affiche "Donnez un chiffre compris entre 1 et 5".
• Affiche le chiffre en toute lettre (exemple pour 2 → deux).
• Affiche "Erreur" si le chiffre n'est pas compris entre 1 et 5.

9. Exercice 4
Écrivez un programme qui demande à l'utilisateur de taper une valeur entière, de la stocker
dans une variable a. On teste ensuite la valeur de a : en fonction de cette valeur, on affiche
respectivement les messages "a vaut 1", "a vaut 2", "a vaut 3", ou "a ne vaut ni 1, ni 2, ni 3".

SNIR1 Structure conditionnelle de contrôle (3/3) p. 3


Informatique M2.3

Vous aimerez peut-être aussi