Sunteți pe pagina 1din 7

COLEGIUL MIHAIL CANTACUZINO, SINAIA

Operatii cu Matrici
Atestat profesional de informatica

Candidai,

Ghidoveanu Mihai
Srcin Mihnea

ndrumtor,
Prof. Toader Ctlin

Contents
Meniul Principal

Ideea programului

Variabile folosite

Proceduri

Citire

Afisare

Adunare

Inmultire

Ridicarea la putere

Determinant

Iniializare
Permutari
Insumarea

4
5
5

Inversiuni

Meniul Principal
Meniul ofera utilizatorului 4 operatii pe care le poate efectua cu matrici , si a cincea
optiune pentru terminarea programului.

Ideea programului
Programul foloseste o structura Repeat care ii permite utilizatorului sa foloseasca
operatiile dorite de cate ori doreste. Programul se opreste cand utilizatorul va alege a
cincea optiune, de Terminare.
Fiecare dintre cele 4 operatii va cere utlizatorului valoarea a diverse variabile, in functie de
operatia ceruta.

Variabile folosite
Observaie: . Dat fiind ca unele operatii au nevoie de 2 matrici pentru a fi efectuate, este
nevoie , in anumite cazuri, de 2 variabile reprezentand aceeasi caracteristica a matricei,
una pentru prima matrice si una pentru cealalta.
Numarul de linii al matricilor : m ;
Numarul de coloane al matricilor : n,p ;
Puterea la care va fi ridicata matricea : p ;
Contor pentru parcurgerea matricilor pe linie : i ;
Contor pentru parcurgerea matricilor pe coloana : j ;
Optiunea aleasa : opt
Indicatorul matricei folosit la citirea acesteia : nu

De tip Byte
de tip Char

Matrici : a,b,c de tip array[1..10,1..10]

Proceduri
Programul foloseste diverse proceduri care se apeleaza in meniul principal pentru
indeplinirea operatiilor.

Citire

Procedura folosestei indicatorul nu pentru a afisa matricea care este citita in mod
curent.

Afisare
Dupa afisarea matricei rezultate , programul va reveni la meniul principal dupa apasarea
oricarei taste de catre utilizator, actiune realizata prin folosirea functiei readkey.

Adunare
Procedura trimite rezultatul adunarii a doua matrici in o a treia , pe care o afiseaza.

Inmultire
In urma inmultii a doua matrici, se observa ca elemntul c[i,j] al matricei rezultat este
format din suma inmultirilor elementului k de pe linia i a primei matrici cu elemntul k
coloana j din a doua matrice.

Exemplu :

)(

)(

b11 b 12
a11 a 12 a 13
a 11b 11+a 12b 21+a 13b 31 a 11b 12+ a 12b 23+ a 13b 32
b 21 b 22 =
a 21 a 22 a 23
a 21b 11+ a 22b 21+a 23b 31 a21b 12+a 22b 23+a 23b 32
b 31 b 33
=

=
a 1 kbk 1
()
3

(a 1 kbk 2)
a 2 kbk 1
()

(a 2 kbk 2)

Ridicarea la putere
Observam ca operatia de ridicare a unei matrici la puterea p consta in inmultirea matricei
cu ea insai de p ori.Astfel, folosind o structura repetitiva for cu p pasi, vom apela
procedura inmultirii pentru matricile A si B, unde B va fi mereu actualizat cu matricea
rezultata din ultima inmultire.
Exemplu: Avem de calculat
BA;

Se calculeaza A
B A

A3

;
=A*B.

=A*B;

Determinant
Programul calculeaza determinantul folosind formula generala, insumand produse ale
elementelor matricei, alese cate n prin generarea de permutari ale indicilor.
n

= a
i=1 i=1

i , p(i)

Iniializare
Determinantul se initializeaza cu produsul elementelor de pe diagonala principala, aceasta
reprezentand totodata si permutarea initiala : (1 2 3 4 .. n);

Permutari
Urmatoarea secventa de instructiuni va permuta elementele vectorului ,
interschimbandu-le pozitia pana cand nu se vor mai putea executa permutari, ultima
generata fiind ( n .. 4 3 2 1).

Insumarea
Semnul fiecarui produs este determinat de signatura permutarii. Semnul se determina in
functie de paritatea numarului de inversiuni ale permutarii, numar aflat cu ajutorul unei
funcii separate.

Inversiuni
Inversiunile unei permutari se calculeaza prin numararea , pentru fiecare element , a cate
elemente mai mici decat el se afla in dreapta lui.

S-ar putea să vă placă și