Lycée Borj Louzir Ariana Niveau : 3 SI
*** Algorithmique et programmation
Devoir de contrôle N°3 Le Mercredi, 19 avril 2016
Enseignant : AGREBI Issam
Nom :………………………..…….Prénom :…………………………… .N° :…… Note :…………… /20
L’épreuve contient 2 pages (à remplir et remettre à la fin de l’épreuve)
Exercice 1 : (3 points)
Soit la fonction inconnue suivante :
Function inconnue (n :integer) : ………………………;
var
………………………;
begin
ch1 := '0123456789ABCDEF';
ch2:= '' ;
repeat
r:= n Mod 16;
n:= n Div 16;
ch2:= ch1[r+1]+ ch2;
until (n=0);
inconnue :=ch2;
end;
1) Compléter les pointillés de cette fonction. (0.5)
2) Exécuter cette fonction pour : (2)
n = 8574 inconnue=…………………………………………
n = 7410
r
n
ch2
inconnue=…………………………………
3) déduire le rôle de cette fonction. (0.5)
………………………………………………………………………………………………………………………….
Exercice 2 :(5 points)
Ecrire algorithme d’une fonction r
n
intitulée COMBINAISON qui calcule ch2
le nombre de combinaisons de p objets parmi n.
On rappelle que :
= n!/ p!*(n-p)!
Exercice 3 : (5 points)
Soit la suite U définie par :
1
U0=x avec x est un entier >=2
Un = Un-1 DIV 2 Si Un-1 est pair
Un= 3*Un-1 +1 Sinon
Ecrire algorithme d’une fonction intitulée U, qui permet de calculer et
retourner le nombre de termes calculés de la suite U pour atteindre la valeur 1
N.b : DEF FN U ( x : entier) : entier
Exercice 4 : (7 points)
On se propose de calculer le PGCD de n entiers selon le principe suivant :
Pour toutes les lignes (n-1) qui précèdent la ligne n, supposé rempli, la
valeur de chaque case est obtenue en calculant le PGCD des deux cases
du dessous.
M[1,1]désigne le PGCD à chercher et à afficher
Exemple : pour n=4
PGCD(84,72) = 12
PGCD (72,56) = 8
M PGCD (56,22)= 2
2
4 2
L en ème
rempli 12 8 2
84 72 56 22
Le PGCD 84 72 56 22 (84,72,56,22) = 2
Travail demandé :
Ecrire analyse d’un programme qui permet de remplir la matrice M, de
déterminer et afficher le PGCD des n entiers de la dernière ligne avec
( 2<=n<=10).