Vous êtes sur la page 1sur 6

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Fiche TD 6 : Tableaux & matrices

Fonctions & procedures

Exercice1 : Ecrire un algorithme en utilisant une fonction pour sommer des éléments d'un tableau d'entiers

Correction Algorithme Exo1 Type : tab=tableau [1

Variable T :tab ; Som, n,i : entier ;

50] de entier

fonction somme( T:tab, max_indice: entier):entier; variable s:entier; début

s0;

pour i de 1 à max_indice faire ss+T[i] finpour retourner(s) fin

Debut

Lire (n);

pour i de 1 à n faire lire (T[i]) ; fin pour

somsomme(T,n) ;

ecrire (som) ;

Fin

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Exercice2 : Ecrire deux fonctions : une de calcul de moyenne d’un tableau et l’autre pour extraire le minimum des éléments dans un tableau.

Correction

le minimum des éléments dans un tableau. Correction Fin Exercice3 Ecrire une fonction qui calcule le
le minimum des éléments dans un tableau. Correction Fin Exercice3 Ecrire une fonction qui calcule le
le minimum des éléments dans un tableau. Correction Fin Exercice3 Ecrire une fonction qui calcule le

Fin

Exercice3 Ecrire une fonction qui calcule le nombre d’occurrences d’un élément donné dans un tableau.

Correction

une fonction qui calcule le nombre d’occurrences d’un élément donné dans un tableau . Correction Page

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Exercice 4 : Ecrire l’algorithme qui saisit deux matrices A et B (2,3) par des nombres réels,

calcule la somme suivante C = 2*A-3*B puis affiche C.

Correction

Algorithme Somme_Matrices

Type M=tableau [1

Variables : A, B, C : M ; i, j en entier

2,1

3] de entier

Procédure lecture (S X :M) Début

Pour

i de 1 à 2 Faire

Pour

j de 1 à 3 Faire

Lire X(i,j)

Fin Pour

Fin Pour

Fin

Procedure calcul (E A,B:M, S C :M) Debut

Pour

i de 1 à 2 Faire

Pour j de1 à 3 Faire C[i, j]2*A[i,j]-3*B[i,j] Ecrire ("C[", i, j, "]"=C[i,j]) Fin Pour

Fin Pour

Fin

Debut

Lecture(A)

Lecture(B)

Calcul(A,B,C)

fin

Exercice 5 : Ecrire sous forme d’une procédure la somme de deux matrices réelles

Correction

Procedure sommeMatrice(E :M1,M2:mat,E n, m : entier, S M :mat) Variable i,j:entier; début pour i de 1 à n faire pour j de 1 à m faire

M[i][j]M1[i][j]+M2[i][j];

finpour

finpour

fin

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Exercice 6 :Soit une matrice carrée. Ecrire l’algorithme qui permet de faire la somme de la

diagonale principale de cette matrice exp :

10

2

3

2

5

6

1

4

0

la diagonale principale est : 3+5+4

Correction Algorithme somme_diagonale

Type mat=tableau [1

Variables : i, j,n en entier ; L :mat ;

50,1

50] de entier

Procedure lecture (E n:entier, S L :mat) Debut

Pour

i de 1 à n Faire

Pour

j de 1 à n Faire

Ecrire ("L [", i, j, "]") Lire (L[i,j]) Fin Pour Fin

Fonction somme (n :entier, A : mat) :entier Variable D : entier Debut

D0

Pour

i de 1 à n Faire

DD+A[i,i]

Fin Pour

Retourner D

Fin

Début Lire (n) Lecture (n,L) Ecrire (" la somme de la diagonale de la matrice est ", somme (n,L)) ; Fin

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Exercice 7 : Ecrire un algorithme qui permet de :

- Saisir une matrice T(2,4) d’entiers.

- Calculer P le nombre des éléments pairs.

- Calculer R le nombre des éléments impairs.

- Afficher P et R.

Correction

Algorithme pairs_impairs

Type mat=tableau [1

Variable Tableau : M en mat i, j, P, R en entier

2,1

4] de entier

Procedure lecture (S M :mat) Début

Pour

i de 1 à 2 Faire

Pour

j de 1 à 4 Faire

Ecrire ("M [", i, j, "]")

Lire M(i,j)

Fin Pour

Fin Pour

Fin

Procedure calcul (E M :mat, S P,R :entier) Debut P0 ; R0 ;

Pour

i de 1 à 2 Faire

Pour

j de 1 à 4 Faire

Si (M[i,j]mod2 =0) Alors PP+1 Sinon RR+1 Fin Si

Fin Pour Fin Pour Fin Debut Lecture (M) Calcul (E,P,R) Ecrire (" le nombre d éléments pairs P = ", P) Ecrire (" le nombre d éléments pairs R = ", R) fin

Ecole préparatoire en Sciences & Techniques d’Oran Module : Algorithmique & Programmation

Intitulé : Informatique

1 ère année, Semestre 2, 2011/2012

Exercice 8

Soit une matrice M de 200 lignes et 100 colonnes à valeurs entiéres . donner une fonction qui détermine la ligne dont la somme ddes elements est maximale

Correction

Fonction SommeLigne (M :Mat) : entier

variable som,lignemax, max, i, j :entier

debut

som0 ;

Pour

j de 1 à 100 Faire

som som+M[1,j]

ffaire

maxsom ;

lignemax1 ;

Pour i de 2 à 200 Faire som 0

Pour

j de 1 à 100 Faire

som som+M[i,j]

ffaire

si som>max alors

max som ;

lignemax i

fsi

ffaire

retourner (lignemax)

Fin