Vous êtes sur la page 1sur 4

Institut

 Universitaire  Catholique   Saint-­‐Jerome  Catholic  University  


Saint-­‐Jérôme  de  Douala   Institute  of  Douala  

 
 
 
EC  TC  P116  –  Algorithmique  et  structures  de  données  1  
Contrôle  Continu  du  03  novembre  2012  –  1h30  
(Enseignants  :  R.  Houé,  A.  Letouzey)  
 
 
 
1. Parmi  les  assertions  suivantes,  laquelle  est  fausse  ?  (1pt)  
a. une  variable  est  définie  par  son  type,  son  nom,  sa  valeur  
b. une  variable  est  caractérisée  par  un  type,  un  nom,  une  valeur  et  une  adresse  
c. pour  déclarer  une  variable  en  C,  il  faut  absolument  définir  son  nom  et  son  type  
d. pour  déclarer  une  variable  en  C,  il  faut  absolument  déclarer  son  nom,  son  type,  et  
sa  valeur  
 
2. En  langage  C,  le  signe  =  est  utilisé  pour  :  (1pt)  
a. une  écriture  ou  une  écriture  
b. une  affectation  de  variable  
c. une  déclaration  de  variable  
d. une  suppression  de  variable  
 
3. Soit  un  algorithme  qui  demande  à  l’utilisateur  de  saisir  un  nombre  entier  positif,  lui  
fait  répéter  la  saisie  jusqu’à  ce  que  le  nombre  saisi  soit  positif.  L’instruction  à  utiliser  
pour  faire  répéter  la  saisie  est  :  (1pt)  
a. une  affectation  
b. une  lecture/écriture  
c. une  boucle  
d. un  test  
 
4. En  langage  C,  le  mot  clé  float  représente  :  (1pt)  
a. une  variable  
b. une  valeur  
c. un  type  
d. une  instruction  
 
5. En  langage  C,  le  mot  clé  TantQue  est  utilisé  pour  :  (1pt)  
a. une  boucle  
b. un  test  
c. rien  du  tout  
d. une  affectation  
 
6. En  langage  C,  le  mot  clé  if  est  utilisé  pour  :  (1pt)  
a. une  boucle  
b. un  test  
c. rien  du  tout  
d. une  affectation  
 
 
 
Contrôle  Continu  –  Algorithmique  et  structures  de  données  1   1 / 4  
7. Que  produit  l’algorithme  suivant  ?  (justifiez  votre  réponse)  (1pt)  

Variables A, B, C Caractères
Début
A ← "saint-";
B ← "jérôme";
C ← A + B;
Fin

Réponse  :  une  erreur  d’exécution  car  l’opérateur  ‘+’  (qui  est  numérique)  a  été  utilisé  sur  des  
variables  non  numériques

8. Que  produit  l’algorithme  suivant  ?  (justifiez  votre  réponse)  (1pt)  

Variables A, B, C Caractères
Début
A ← "saint-";
B ← "jérôme";
C ← A ou B;
Fin

Réponse  :  une  erreur  d’exécution  car  l’opérateur  ‘ou’  (qui  est  booléen)  a  été  utilisé  sur  des  
expressions  non  logiques

9. Que  produit  l’algorithme  suivant  ?  (justifiez  votre  réponse)  (1pt)  

Variables X, Y, Z Caractères
Début
X ← 1000;
Y ← 10;
Z ← A & B;
Fin

Réponse  :  l’oubli  des  "  "  dans  la  déclaration  de  X  et  Y  provoque  une  erreur  d’exécution  car  
l’opérateur  ‘&’  est  alphanumérique

10. L’algorithme  ci-­‐après  permet-­‐il  d’échanger  (permuter)  les  valeurs  des  deux  variables  
matiere1  et  matiere2 ?  (justifiez  votre  réponse)  (1pt+0,5pt)  
 
Variables matiere1, matiere2, matiere3 Caractères
Début
matiere1 ← "Algorithmique";/*matiere1="Algorithmique",  matiere2  est  nulle*/
matiere2 ← "Bureautique";/*matiere1="Algorithmique",  matiere2="Bureautique"*/
matiere3 ← matiere2;/*matiere1="Algorithmique",  matiere2="Bureautique"*/
matiere1 ← matiere3;/*matiere1="Bureautique",  matiere2="Bureautique"*/
matiere2 ← matiere1;/*matiere1="Bureautique",  matiere2="Bureautique"*/  
Fin

Réponse  :  l’analyse  de  la  trace  d’exécution  de  l’algorithme  montre  que  les  valeurs  des  dites  
variables  ne  sont  pas  échangées  (matiere1  et  matiere2  prennent  toutes  la  valeur  
"Bureautique")  

Contrôle  Continu  –  Algorithmique  et  structures  de  données  1   2 / 4  


 
11. Soit  l’algorithme  suivant.  
Variables f, n Entiers
Début
f ← 1;
Ecrire "Entrer n : ";
Lire n;
TantQue n > 0 Faire
f ← f*n;
n ← n-1;
FinTantQue
Ecrire "Le résultat est : ", f;
Fin

a. Que  produit  cet  algorithme  pour  n=3,  pour    n=5 ?  (0,5pt+0,5pt)  

Réponse  :  pour  n=3,  on  obtient  6  et  pour  n=5,  obtient  120  

b. D’une  manière  générale,  que  fait  cet  algorithme  ?  (0,5pt)  

Réponse  :  calcul  de  n  !  (factoriel  n)  

 
12. Ecrire  (en  pseudo-­‐langage)  un  algorithme  qui  demande  à  l’utilisateur  de  saisir  un  
nombre  entier  positif,  puis  affiche  la  table  de  multiplication  de  ce  nombre  jusqu’à  9.    
Par  exemple,  si  l’utilisateur  saisit  2,  le  programme  affichera  :  (2,5pts)  

2  x  1  =  2  
2  x  2  =  4  
2  x  3  =  6  
…  
2  x  9  =  18  

NB  :  on  ne  traitera  pas  le  cas  où  l’utilisateur  saisirait  une  valeur  aberrante.  

Réponse  :  
 
Variables i, n Entiers
Début
Ecrire "Veuillez saisir un nombre entier : ";
Lire n;
i ← 1;
TantQue i <= 9 Faire
Ecrire n, " x ", i, " = ", n*i, "\n";
i ← i + 1;
Fin TantQue
Fin

 
Contrôle  Continu  –  Algorithmique  et  structures  de  données  1   3 / 4  
13. Corrigez  les  erreurs  contenues  dans  le  programme  C  ci-­‐après  (on  suppose  qu’un  
utilisateur  saisira  toujours  un  entier  positif).    (2,5pts)  
#include <iostream>
using namespace std;
main()
{
int f;
float int n; /* n doit être entier (opérateur – utilisé dans n=n-1 */
f ← 1; f=1; /* en C, c’est le signe = qui est utilisé pour l’affectation */
cout << "entrez un entier n : ";
cin >> n >> "\n"; /* cin est un opérateur de lecture, les " " interdits */
while (n > 0) ; /* pas de ; après while, l’instruction n’est pas finie */
{
f = f*n;
n = n-1;
}
cout << "Le résultat est :" << f ; /* oubli du ; et << */
}
 
14. Ecrire  un  programme  en  langage  C  qui  demande  à  l’utilisateur  de  saisir  deux  nombres  
entiers,  soit  a  et  b,  puis  affiche  la  permutation  des  valeurs  saisies  (i.e.  a  prend  la  
valeur  de  b  et  b  prend  la  valeur  de  a).  
On  ne  demande  pas  gérer  le  cas  où  un  utilisateur  saisirait  une  valeur  aberrante.  (3pts)  

Réponse  :  
#include <iostream>
using namespace std;
main()
{
int a,b,c;
cout << "veuillez saisir deux nombres entiers a et b :";
cin >> a >> b;
c=a;
a=b;
b=c;
cout << "le résultat de la permutation est :" ;
cout << "a = " << a ;
cout << "b = " << b ;
}
 

 
 

Contrôle  Continu  –  Algorithmique  et  structures  de  données  1   4 / 4  

Vous aimerez peut-être aussi