Académique Documents
Professionnel Documents
Culture Documents
I.
Exercice 1
2. Les valeurs suivant le mot case doivent obligatoirement être des « expressions
Constantes », c’est-à-dire des expressions calculables par le compilateur lui-même. Ce n’est pas le cas de
n.
3. Aucune erreur, les expressions telles que LIMITE-1 étant bien des expressions constantes (ce qui
n’était pas le cas en langage C).
Exercice 2
a.
Nul
Petit
b.
Petit
c.
Moyen
Grand
d.
Grand
e.
Moyen
Grand
1
Exercice 3
a. Il manque un point-virgule :
b. Il manque une instruction (éventuellement « vide ») après le mot do. On pourrait écrire, par
exemple:
ou :
c. Il n’y aura pas d’erreur de compilation (la valeur entière 1 est convertie en booléen, ce qui fournit la
valeur vrai) ; toutefois, il s’agit d’une « boucle infinie ».
d.
do
ou, mieux :
do
cin >> n ;
while (n<=0);
Exercice4
a.
#include <iostream>
main()
2
{
int i, n, som ;
som = 0 ;
i=0;
while (i<4)
cin >> n ;
som += n ;
i++ ;
b.
#include <iostream>
using namespace std ;
main()
{
int i, n, som ;
som = 0 ;
i=0;
do
{ cout << "donnez un entier " ;
cin >> n ;
som += n ;
i++ ;
}
while (i<4) ;
cout << "Somme : " << som ;
}
Exercice 5
0 est pair
3 est multiple de 3
3
9 est multiple de 3
15 est multiple de 3
20 est multiple de 5
Exercice6
A:n=6
B : n = 10
C : n = 10
D : n = 15
E : n = 21
II.
Exercice1
#include <iostream>
else return 1;
else return 1;
main()
int n ;
cin >> n ;
4
if (mul2(n)) cout << "il est pair\n" ;
if (mul2(n) && mul3(n)) cout << "il est divisible par 6\n" ;
Exercice2
Les cas a, b, c et d ne posent aucun problème. Il y a respectivement appel des fonctions I, II,
f. Appel incorrect, compte tenu de son ambiguïté ; deux possibilités existent en effet :
i. Appel incorrect, compte tenu de son ambiguïté ; deux possibilités existent en effet :
Convertir le premier argument en float et le second en int et appeler la fonction III ou, au
contraire, convertir le premier argument en int et le second en float et appeler la fonction IV.
Exercice3
#include <iostream>
int main()
tribulle(tab,4);
// afficher
5
return 0;
int aux;
if (v[j]>v[j+1])
aux=v[j];
v[j]=v [j+1];
v [j+1]=aux;
Exercice 4
#include<iostream>
N carre ( N val)
return val*val;
main()
int nbre;
cout << "le carré de nbre est :" << carre(nbre) << "\n";
double s;
6
cout << "entrez la valeur de s : " <<"\n";
cin >> s;
Exercice 5
int i, j;
som = 0 ;
for (i=0 ; i<3 ; i++)
for (j=0 ; j<4 ; j++)
som += t[i] [j];
Exercice 6
L’instruction ad1 = "bonjour" place dans la variable ad1 l’adresse de la chaîne constante
"bonjour". L’instruction cout << ad1 se contente d’afficher la valeur de la chaîne dont l’adresse
figure dans ad1, c’est-à-dire en l’occurrence "bonjour". De manière comparable, l’instruction ad1
= "monsieur" place l’adresse de la chaîne constante "monsieur" dans ad1 ; l’instruction cout
<<ad1 affiche la valeur de la chaîne ayant maintenant l’adresse contenue dans ad1, c’est-à-dire
"monsieur".
7
8