Université Constantine 2 - Abdelhamid Mehri Faculté des NTIC Structure Tronc Commun « MI » Module : Initiation à l’algorithmique Durée : 01h30 14 /03/ 2016 Corrigé Contrôle de Rattrapage Exercice 1 (7 points) - Ecrire un sous algorithme qui vérifie si quatre nombres entiers (x, y, z, w) forment un quadruplet pythagoricien, c’est-à-dire si x2 + y2 + z2 = w2. Fonction verif (x, y, z, w : entier) : booleen ; Debut Verif x*x + y*y + z*z = w*w (peut être fait avec un si-sinon ils auront) Fin ; - Ecrire un sous algorithme qui utilise le sous algorithme de la question 1 pour afficher, s’ils existent, les quadruplets pythagoriciens parmi les éléments qui se suivent (4 de suite) dans un tableau de 10 entiers. Procedure Quadruplet (T : Tableau de 10 entier) ; Variable A, B : booleen ; I : entier ; Debut A Faux; Pour I 1 à 7 Faire B verif (T(I), T(I+1), T(I+2), T(I+3)); Si B alors A B; Ecrire (T(I), T(I+1), T(I+2), T(I+3), 'forment un quadruplet pythagoricien') FinSi FinPour ; Si A= Faux Alors Ecrire ('Il n’y a pas de quadruplet pythagoricien dans ce tableau') FinSi Fin ; Corrigé type Rattrapage 14/03/2016 pp 1 Exercice 2 (7 points) Ecrire un sous algorithme qui permet de transposer une ligne donnée d’une matrice de caractères Mat (M, N) Note : la transposée d’une ligne de matrice est l’échange du1er élément avec le dernier, le 2ème avec l’avant dernier etc.… Procedure Transp (Var Matr : Tableau de M x N de caractere ; L : entier) ; Variable I, J : entier ; X : caractere ; Debut I1; JN; Tantque I < J Faire X Matr (L, I) ; Matr (L, I) Matr (L, J) ; Matr (L, J) X; I I+1; J J-1 FinTantque Fin; puis utilisez ce sous algorithme pour écrire un autre sous algorithme afin de transposer toutes les lignes de la matrice. Procedure Transpo-mat (Var Mat : Tableau de M x N de caractere) ; Variable K : entier ; Debut Pour K 1 a M Faire Transp (Mat, K) FinPour Fin ; Corrigé type Rattrapage 14/03/2016 pp 2 Exercice 3 (6 points) - Ecrire un sous algorithme qui calcul le carré (puissance 2) de la somme des "n" premiers nombres impairs. Fonction Carre (n : entier) : entier ; Variable I, S: entier ; Debut S 0; Pour I 1 a N Pas = 2 Faire SS+I FinPour Carre S * S Fin ; - Ecrire un sous algorithme qui détermine la valeur de "n" pour laquelle le carré de la somme des "n" premiers nombres impairs est le plus proche d’un entier positif "P". Fonction Nb (P : entier) : entier ; Variable Proch, X: entier ; B : booleen ; Debut Si P = 0 alors Nb 0 Sinon Si P = 1 Alors Nb 1 Sinon X3; B Faux ; Tantque B = faux Faire Proch Carre (X) ; Si Proch < P Alors XX+2 Sinon B Vrai FinSi FinTantque ; Si Proch = P Alors Nb X Sinon Nb X -2 FinSi Fin ; Corrigé type Rattrapage 14/03/2016 pp 3