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 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 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 ; 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;