0% ont trouvé ce document utile (0 vote)
1K vues3 pages

Algorithmes de Matrices et Sommes

Transféré par

zbm2427
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1K vues3 pages

Algorithmes de Matrices et Sommes

Transféré par

zbm2427
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice 1 Ecrire un algorithme qui ralise la copie d'une matrice d'entiers de taille n x m dans une autre matrice d'entiers

de taille n x m.
001 002 003 004 005 006 007 008 009 010 011 012 { Copie d'une matrice d'entiers }

action copieMatrice(src,dst) Donnees src : tableau [N][M] de entier Donnees / Resultat dst : tableau [N][M] de entier Locales i,j : entier pour i de 0 N-1 faire pour j de 0 M-1 faire dst[i][j] := src[i][j] fait fait fin action

{ tableau source { tableau destination { indices de boucle

} } }

[Link] Exercice 2 a) Ecrire un algorithme qui calcul la somme des valeurs de la diagonale principale d'une matrice de rels carre de taille n x n.
001 002 003 004 005 006 007 008 009 010 011 012 013 014 { Calcul de la somme des valeurs { de la diagonale principale { d'une matrice de reels } } }

fonction sommeDiagonalePrincipale(t) : reel Donnees t : tableau [N][N] de reel { tableau de recherche Locales i : entier { indice de boucle pour cumul : reel { variable maximum resultat cumul := 0.0 pour i de 0 N-1 faire cumul := cumul + t[i][i] fait Resultat : cumul fin fonction

} } }

[Link] b) Ecrire un algorithme qui calcul la somme des valeurs de la diagonale secondaire d'une matrice de rels carre de taille n x n.
001 002 003 004 005 006 007 008 009 010 011 012 013 014 { Calcul de la somme des valeurs { de la diagonale secondaire { d'une matrice de reels } } }

fonction sommeDiagonaleSecondaire(t) : reel Donnees t : tableau [N][N] de reel { tableau de recherche Locales i : entier { indice de boucle pour cumul : reel { variable maximum resultat cumul := 0.0 pour i de 0 N-1 faire cumul := cumul + t[i][N-1-i] fait Resultat : cumul fin fonction

} } }

1 sur 3

30/10/2011 21:53

[Link] Exercice 3 Ecrire un algorithme de recherche de la valeur maximale d'une matrice de rels de taille n x m.
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 { Calcul de la valeur maximale contenue { dans une matrice de reels } }

fonction valeurMaximaleMatrice(t) : reel Donnees t : tableau [N][M] de reel { tableau de recherche Locales i,j : entier { indices de boucle pour max : reel { variable maximum resultat max := t[0][0] pour i de 0 N-1 faire pour j de 0 M-1 faire si t[i][j] > max alors max := t[i][j] fsi fait fait Resultat : max fin fonction

} } }

[Link] Exercice 4 a) Ecrire un algorithme qui calcule le produit d'une matrice de rels de taille 4 x 4 par une matrice de rels de taille 4 x 4.
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 { Calcul de la matrice 4x4 obtenue } { par produit de deux matrices 4x4 de reels } action produitMatrices4x4(t1,t2,t) Donnees t1,t2 : tableau [4][4] de reel { tableaux a multiplier Donnees / Resultat t : tableau [4][4] de reel { tableau resultat Locales i,j,k : entier { indices de boucle pour aux : tableau [4][4] de reel { tableau auxiliaire de calcul pour i de 0 3 faire pour j de 0 3 faire aux[i][j] := 0.0 pour k de 0 3 faire aux[i][j] := aux[i][j] + t1[i][k]*t2[k][j] fait fait fait copieMatrice(aux,t); fin action

} } } }

On utilise l'action de copie de matrice dveloppe l'exercice 1 adapte aux tableaux de rels. [Link] b) Ecrire un algorithme qui calcule le produit d'une matrice de rels de taille n x m par une matrice de rels de taille m x p.
001 002 003 004 005 006 007 { Calcul de la matrice nxp obtenue { par produit de deux matrices nxm et mxp } }

action produitMatrices(t1,t2,t) Donnees t1 : tableau [N][M] de reel t2 : tableau [M][P] de reel Donnees / Resultat t : tableau [N][P] de reel

{ tableau a multiplier { tableau a multiplier { tableau resultat

} } }

2 sur 3

30/10/2011 21:53

008 009 010 011 012 013 014 015 016 017 018 019

Locales i,j,k : entier { indices de boucle pour aux : tableau [N][P] de reel { tableau auxiliaire de calcul pour i de 0 N-1 faire pour j de 0 P-1 faire aux[i][j] := 0.0 pour k de 0 M-1 faire aux[i][j] := aux[i][j] + t1[i][k]*t2[k][j] fait fait fait copieMatrice(aux,t); fin action

} }

On utilise l'action de copie de matrice dveloppe l'exercice 1 adapte aux tableaux de rels. [Link]

Auteur: Nicolas JANEY UFR Sciences et Techniques Universit de Besanon 16 Route de Gray, 25030 Besanon [Link]@[Link]

3 sur 3

30/10/2011 21:53

Vous aimerez peut-être aussi