• Aucun résultat trouvé

TD1 : Structures de contrôle (rtf 26 Ko)

N/A
N/A
Protected

Academic year: 2022

Partager "TD1 : Structures de contrôle (rtf 26 Ko)"

Copied!
2
0
0

Texte intégral

(1)

Langage C++ TD Bases - Aspect structuré 01/10/03

David Saint-Mellion page 1/2

1. Quelle est la différence entre le type long et le type float ? 2. Quelles est la différence entre l'opérateur « = » et « == » ?

3. A quelle structure algorithmique correspondent les instructions suivantes ?

for --- while --- ;

if-- else -- do – while-- ;

switch ----

4. Pour chaque extrait, donnez les conditions de sortie de la boucle.

Extrait Condition de sortie

do – while ( val==1) ; while (etat !=5) --- ;

for (int j= 0 ; j < 500 ; j = j+2) ---- ; for (int x = 20 ; x<1 ; x--) ---- ;

do – while (( valA == 1) && (valB) <= 10) ; 5. Que pensez de ces instructions ci-dessous ?

w hile ((reg1=0x00) ||(port=0x02)) --- ; for (int x = 0 ; masque != 0; x++) { masque = masque –2 ;

--- ;}

for (int x = 0 ; x=10; x++)--- ;

do – - while (( valA <= 1) & (valB <= 10)) ;

6. Quels sont les extraits de programme qui bouclent en permanence ?

Extrait Programmes qui bouclent

do – while ( 0) ; while (0) --- ;

for (int ind = 0 ; ind < 1 ; ind--) -- ; for (int nbre =0 ; nbre < 1 ; nbre++) -- ; for ( ; ; ) ---- ;

do – while ( 1) ; while (1) --- ;

7. Soit l’élément de programme : int i = 1 ;

while (i < 10) {

cout << i << endl;

i=i+1;

}

Que fait ce programme ?

Proposez une écriture de ce programme qui utilise l’instruction for .

8. On dispose d’une valeur mesureTension. Les valeurs évoluent de 0 à 420. Une variable valeurTension prend la valeur 0 lorsque mesureTension vaut 0 et la valeur 1 lorsque mesureTension est différent de 0.

– Donnez le type pour : mesureTension et valeurTension.

– Proposez un programme en C++ qui réalise ce traitement.

9. On dispose d’une valeur nommée mesureR . La plage des valeurs évolue de 40 à 240. On dispose d’une valeur de référence nommée RESISTANCE_REF ayant pour valeur 150. On dispose d’une variable mesureValide mise à vrai lorsque la valeur mesureR appartient à l’intervalle RESISTANCE_REF + -10%.

– Donnez le type à utiliser pour : mesureR, RESISTANCE_REF, mesureValide.

– Proposez un programme en C++ qui réalise ce traitement.

10. On veut saisir un nombre entier compris entre 11 et 20. Proposez un programme en langage C++ qui permet de réaliser cette fonctionnalité.

(2)

Langage C++ TD Bases - Aspect structuré 01/10/03

David Saint-Mellion page 2/2

11. Le dispositif de contrôle de dimension d’une pièce mécanique retourne 2 informations : dimSuperieure et dimInferieure. Ces 2 informations sont du type booléen : dimSuperieure prend la valeur 1 si la dimension est trop grande, dimInferieure prend la valeur 1 si la dimension est trop petite. On réalise le traitement de ces 2 informations pour déterminer si la pièce est valide. Une variable pieceValide est mise à 1 lorsque la pièce n’est ni trop grande ni trop petite.

– Proposez un programme en C++ qui réalise ce traitement.

12. On dispose d’un lot de 3 valeurs mesureR1, mesureR2, mesureR3. Les valeurs évoluent de 0 à 999.9. Le lot est accepté lorsque chaque valeur est différente de la valeur 0. On dispose d’une variable lotValide qui indique la validité du lot.

– Donnez le type de variable pour : mesureRx, lotValide.

– Proposez un programme en C++ qui réalise ce traitement.

13. Une fonction permet d’acquérir une valeur de la mesure d’une vitesse. Elle retourne une valeur codée sur 16 bits.

La fonction se nomme acquisitionVitesse(). Le traitement consiste à prélever 10 mesures de la vitesse grâce à la fonction, calculer la valeur moyenne des valeurs acquises et affecter cette valeur à la variable

moyenneVitesse.

– Donnez le type à utiliser pour la variable moyenneVitesse. – Proposez un programme en C++ qui réalise ce traitement.

14. Soit un composant de communication. On dispose d’une fonction lireRegistreEtat(). Elle retourne sur 8 bits le contenu du registre d’état. Le traitement est réalisé en fonction des valeurs du registre d’état :

bit 0 du registre d’état = 1, la procédure ecrireRegReception() est exécutée.

bit 1 du registre d’état = 1, la procédure ecrireRegEmission() est exécutée.

bit 2 du registre d’état = 1, la procédure erreurCommunication() est exécutée.

– Proposez un programme en langage C++ qui lit le registre d’état et exécute la procédure de traitement adaptée en fonction de la valeur du registre d’état.

15. Proposez un programme en langage C++ qui permet générer les nombres de 10 à 0 (ordre décroissant) et de les afficher. Vous utiliserez une structure itérative de type Pour.

16. Proposez un programme en langage C++ qui permet de calcule r par des soustractions successives le quotient entier quotient = dividende/diviseur de deux entiers dividende et diviseur entrés au clavier.

17. On dispose d’un lot de 3 valeurs ddp1, ddp2, dpp3 dont la plage de valeur évolue de - 150 à +150. On dispose d’une variable valeurLot qui renseigne sur les valeurs et prenant la valeur numérique :

2 lorsque les 3 valeurs sont égales, 3 lorsque les 3 valeurs valent 0, 4 lorsque les 3 valeurs sont positives.

– Proposez un programme en C++ qui réalise ce traitement.

18. Soit l’extrait d’un programme source en langage C++ :

unsigned char nbre=0xf3;

unsigned char masque=0x80;

unsigned char var=0x30;

cout << nbre <<" en binaire = "<<endl;

for (int i=0; i<8; i++){

if ((masque & nbre)==1) var=0x31 ;

else

var=0x30 ; masque >>=1;

cout << var ; }

cout <<endl;

Question :

§ Donnez les valeurs qui sont affichées à l’écran.

§ Proposez une solution pour le codage en remplacant l’instruction for par une autre instruction.

Références

Documents relatifs

• Dans le menu Traitement sous-menu Feuille d e calcul : en appelant lPbar la nouvelle variable, taper lPbar=log(Pbar) appelant lTC la nouvelle variable, taper lTC=log(TC)

Nous pouvons, au moment le plus opportun pour vous (pause déjeuner, évènements pour le personnel, events marketing...etc) mettre en place une expo-vente avec des plantes adaptées

En tant que Directeur fondateur de cette école privée, professeur de mathématique au collège d’une expérience de 17 ans de classe ayant exploité

Captages prioritaires « Grenelle » en région Pays de la Loire.. Analyse de

2- ALORS, en tout état de cause, QUE le conseiller de la mise en état demeure saisi jusqu’à l’ouverture des débats ; qu’en l’espèce, la Cour d’appel a elle-même constaté

l’exception d’incompétence de la juridiction saisie était soulevée in limine litis, visaient, dans leur en-tête, l’audience de mise en état du 22 janvier suivant ;

1. En 2009-2010, en collaboration avec la Commission de l’UA et la Banque africaine de développement, la CEA envisage de mettre en œuvre le rapport ARIA IV qui porte sur

Le Registre national est un système de traitement d'informations qui assure, conformé- ment aux dispositions de la loi du 8 août 1983 organisant un Registre national des per-