Vous êtes sur la page 1sur 5

cole Prparatoire aux Sciences et Techniques, Annaba

Dpartement de mathmatiques et dinformatique

Module : Informatique 2

Corrig de la srie de TD no 1 : Gnralits


Rappel sur les gnralits
1. Comment appelle-t-on le texte qui vient aprs un // ou entre /* et */ ?

Un commentaire.
2. En C++, Comment appelle-t-on linstruction qui dfinit une nouvelle variable ?

Une dclaration.
3. En C++, une instruction doit imprativement se terminer par __________ .

Un point virgule (;).


4. En C++, Quelle instruction permet dimprimer lcran une chane de caractres ?

cout
5. En C++, Quelle instruction permet de lire une donne partir du clavier ?

cin
6. En C++, Quelle librairie doit tre utilise pour pouvoir effectuer des instructions de
lecture/affichage ?

iostream.h
7. Donnez linstruction qui permet dutiliser cette librairie dans un programme.

#include<iostream.h>
8. Donnez linstruction qui permet dafficher la chaine de caractre "bonjour" lcran.

cout << "bonjour";


9. Donnez en C++, les instructions qui permettent de :
(a) dclarer une variable entire i.
(b) lire une valeur entire partir du clavier et ranger cette valeur dans la variable i ;

int i;
cin >> i;

EPST Annaba

Module : Informatique 2

Corrig de la srie de TD no 1

Exercice 1
1. crire un programme qui lit une valeur entire partir du clavier, calcule son carr et
son cube et les affichent.

#include<iostream.h>
int main() {
int i;
cin >> i;
int carre = i*i;
int cube = carre*i;
cout << carre;
cout << cube;
}
2. crire un programme qui lit deux valeurs entires partir du clavier et calcule et
affiche leur somme, leur diffrence et leur produit.

#include<iostream.h>
int main() {
int i,j;
cin >> i;
cin >> j;
int somme = i+j;
int diff = i-j;
int produit = i*j;
cout << somme;
cout << diff;
cout << produit;
}
3. crire un programme qui demande lutilisateur de taper 5 entiers et qui affiche leur
moyenne.

#include<iostream.h>
int main() {
int i,j,k,l,m;
cin >> i >> j >> k >> l >> m;
double somme = (i+j+k+l+m);
double moyenne = somme/5;
cout << moyenne;
}

Exercice 2
Quaffiche chaquune des instructions suivantes en supposant dans chaque cas que m=25
et n=7 :
1. cout << m - 8 - n;
2

EPST Annaba
2.
3.
4.
5.

1.
2.
3.
4.
5.

cout
cout
cout
cout

<<
<<
<<
<<

Module : Informatique 2

Corrig de la srie de TD no 1

m%n;
m%n++;
m%++n;
++m - n--;

10
4
4
1
19

Exercice 3
crire un programme qui
1. Lit deux valeurs entires partir du clavier et les range dans deux variables A et B.
2. Affiche la valeur de A et de B.
3. change la valeur de A et de B.
4. Affiche la nouvelle valeur et A et de B.

#include<iostream.h>
int main() {
int A,B;
cin >> A;
cin >> B;
cout << A;
cout << B;
int C = A;
A = B;
B = C;
cout << A;
cout << B;
}

Exercice 4
1. crire de quatre manires diffrentes une instruction qui dcrmente une variable n ;

n--;
--n;
n = n - 1;
n -= 1;
2. crire un bloc dinstructions qui le mme effet que linstruction i = j + k++;
sans utiliser les oprateurs de post ou de pr-incrmentation.

j = j - 1;
i = j + k;
k + k + 1;
3

EPST Annaba

Module : Informatique 2

Corrig de la srie de TD no 1

3. crire un bloc dinstructions qui le mme effet que linstruction i = j++ + k;
sans utiliser les oprateurs de post ou de pr-incrmentation.

k = k - 1;
i = j + k;
j = j + 1;

Exercice 5
crire un programme qui :
1. Lit lanne de naissance de lutilisateur.
2. Calcule et affiche son age.

#include<iostream.h>
int main() {
int annee;
cin >> annee;
int age = 2013 - annee;
cout << age;
}

Exercice 6
Soit le programme suivant :

#include<iostream.h>
int main() {
char a = 'C';
int i = a;
cout << i;
}
1. Ce programme contient-il des erreurs ? Si oui lesquelles ?

Non, le type int est compatible avec le type char.


2. Quaffiche ce programme ?

Ce programme affiche le code ASCII du caractre 'C'.


3. Dduire et crire un programme qui affiche le caractre dont le code ASCII est 100.

#include<iostream.h>
int main() {
int a = 100;
char c = a;
cout << c;
}
4

EPST Annaba

Module : Informatique 2

Corrig de la srie de TD no 1

Problme
Pour permuter deux entiers x et y, il existe deux versions V1 et V2 donnes dans le tableau suivant.
V1 (variable supplmentaire)
int tmp = x;
x = y;
y = tmp;

V2 (addition puis soustraction)


x = x+y;
y = x-y;
x = x-y;

1. Quelle version est plus efficace en termes de temps ?

V1 car elle utilise moins de calculs.


2. Quelle version est plus efficace en termes despace mmoire ?

V2 car elle utilise moins de variables.


3. La version V2 marche-elle toujours ? justifiez votre rponse avec un contre exemple.

Non. Si x et y sont trs grands, il y aura dbordement


et la valeur de x sera perdue.

Une version lctronique de ce document est disponible sur : http://skebir.developpez.com/epst