Université Constantine 2 - Abdelhamid Mehri
Faculté des NTIC
Structure Tronc Commun « MI »
Module : Initiation à l’algorithmique 17 /01/ 2016
Durée : 01h30
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 :
1 2 3 4 5 6 7 8 9 10
TAB
0 4 -10 3 1 0 10 5 -7 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
MaxTAB(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
𝑖=1
Exemple :
Sur un tableau de trois éléments : 1 2 3
1.2 4.8 -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 ;
YX;
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;