Corrigé type Contrôle

publicité
Université Constantine 2 - Abdelhamid Mehri
Faculté des NTIC
Structure Tronc Commun « MI »
Module : Initiation à l’algorithmique
Durée : 01h30
17 /01/ 2016
Corrigé type Contrôle
Exercice 1 (7 points)
Ecrire un algorithme qui demande à l’utilisateur d’entrer 10 entiers et de les stocker dans un tableau TAB puis
d’afficher l’indice de l’élément qui donne le plus grand carré. S’il y a plusieurs éléments qui donnent le même
plus grand carré, l’algorithme devra afficher le plus grand indice.
Exemple :
TAB
1
0
2
4
3
-10
4
3
5
1
6
0
7
10
8
5
9
-7
10
2
Dans ce tableau, le plus grand carré (100) provient des deux éléments -10 (d’indice 3) et 10 (d’indice7).
L’algorithme affiche le plus grand indice, à savoir 7.
Algorithme plus_grand_carre;
Contante
N = 10 ;
Variable
TAB : Tableau de N entier;
Max, ind_Max, I : Entier;
Debut
Pour I  1 a N Faire
Lire (TAB(I));
FinPour
MaxTAB(1)* TAB(1);
ind_Max 1 ;
Pour I  2 a N Faire
Si TAB(I)* TAB(I) ≥ Max Alors
Max  TAB(I);
ind_Max = I;
FinSi
FinPour
Ecrire (ind_Max) ;
Fin.
Exercice 2 (7 points)
Ecrire un algorithme qui permet à l’utilisateur de remplir un tableau de 50 éléments puis d’ :
1. afficher la moyenne des valeurs du tableau calculée comme suit :
50
1
�(𝑋𝑖 )
𝑀𝑜𝑦 =
50
𝑖=1
2. afficher la variance de ces valeurs, calculée comme suit :
50
1
�(𝑋𝑖 − 𝑀𝑜𝑦)2
𝑉𝑎𝑟𝑖𝑎𝑛𝑐𝑒 =
50
Exemple :
Sur un tableau de trois éléments :
1
1.2
2
4.8
𝑖=1
3
-3
Le calcul de la moyenne puis de la variance se font comme suit :
𝑉𝑎𝑟𝑖𝑎𝑛𝑐𝑒 =
𝑀𝑜𝑦 =
1
(1.2 + 4.8 − 3) = 1
3
1
((1.2 − 1)2 + (4.8 − 1)2 + (−3 − 1)2 ) = 10.16
3
Algorithme Variance;
Constante
N = 50 ;
Variable
T : Tableau de N réel ;
Moy, Vrnc : Reel;
I : entier;
Debut
Pour I  1 a N Faire
Lire(T(I)) ;
FinPour
Moy  0;
Pour I  1 a N Faire
Moy  Moy + T(I);
FinPour
Moy  Moy /N ;
Variance  0;
Pour I  1 a N Faire
Vrnc  Vrnc + (T(I) - Moy) * (T(I) - Moy);
FinPour
Vrnc  Vrnc /N ;
Ecrire (Moy, Vrnc);
Fin.
Exercice 3 (6 points)
1- Ecrire un sous algorithme qui vérifie si un nombre entier donné est un nombre Harshad ou non.
Un nombre A est dit Harshad s’il est divisible par la somme des chiffres de A.
Exemples :
-
A = 36  somme des chiffres (3+6) = 9 et 36 est divisible par 9 donc 36 est Harshad.
A = 99  somme des chiffres (9+9) = 18 et 99 n’est pas divisible par 18 donc 99 n’est
pas un nombre Harshad.
Fonction verif (X : entier) : Booleen ;
Variable
Som, Y : entier ;
Debut
Som  0 ;
YX;
Tantque Y ≠ 0 Faire
Som  Som + Y Mod 10 ;
Y  Y Div 10 ;
FinTantque ;
Si X mod Som = 0 Alors
verif  Vrai
Sinon
verif  faux
FinSi
Fin ;
2- Ecrire un sous algorithme qui utilise le sous algorithme de la question 1 pour afficher tous les nombres
Harshad compris entre 0 et N (dans le cas où N est un nombre entier strictement positif).
Procedure affiche (N: entier);
Variable
Co: Entier ;
B : Booleen ;
Debut
Si N > 0 Alors
Pour Co  0 a N Faire
B  Verif (Co) ;
Si B Alors
Ecrire (Co)
FinSi
FinPour
Sinon
Ecrire ('pas de vérification')
FinSi
Fin;
Téléchargement