Documente Academic
Documente Profesional
Documente Cultură
Data: 21.11.2007 Clasa: a XII-a Liceul Teoretic Pelinia Obiectul: Informatica Profesor: Durata lectiei: 45 min Subiectul: C a l c u l u l
didactic
numeric
al
determinantilor
O1: Sa defineasca notiunea de determinant; O2: Sa explice regula lui Sarrus de calcul numeric al determ inantilor de ordinul 3; O3: Sa defineasca notiunea de minor al determinantului unei matrice de ordin n; O4: Sa defineasca determinantul matricei A de rang n; O5: Sa stabileasca algoritmul de calcul al determinantilor de ordin n; O6: Sa elaboreze un program pentru calculul determinantilor.
Desfasurarea
NEvenimentele O. r instructional . e Activitatea profesorului d / r
I . I I . I I I . Momentul orga nizatoric Anuntarea obiectivelor Actualizarea cunostintelor 1.Captarea atentiei.
activitatii
Eval uare
Initia la
Activitatea elevilor
Profesorul anunta subiectul si Elevii noteaza in caiete subiectul lec obiectivele lectiei. tiei si unele obiective. 1. Ce reprezinta o matrice ? Elevii explica ce reprezinta o matri Oral ce. a Cure 2. nta Alcatuiti o matrice patratica a Elevii alcatuiesc matricea. rbitrara de ordin n.
I Prezentarea O1 Definiti notiunea de determina V sarcinilor, a nt. . situatiilor de O2 invatare Explicati regula lui Sarrus de O3 calcul numeric al determinantil or de ordinul 3. O4 det(A)=a1,1 a2,2 a 3,3 + a1,3 a2,1 a3,2 + a1,2 a2,3 a3,1 Obtinerea termenilor Obtinerea term enilor a1,3 a2,2 a 3,1 a2,1 a1,2 a
va
3,3
Definiti notiunea de minor al determinantului unei matrice dpentru calculul e ordin n ,n-1. ul Se numeste minor de ordinul determinantului n-1 al elementului ui
Definiti notiunea determinantul matricei A de ra ng n. Se numeste determinant al ma tricei A de rang n valoarea ex presiei: O5 Conform definitiei:
4:
det(A)=a1.1A1,1 a1.2A1,2 + a1.3A1 ,3 a1.4A1,4 Fiecare dintre minorii A1,j , j=1,,4 este determinantul unei matrice de ordinul 3 si poate fi calculat direct. ALGORITMUL DE C ALCUL Fie data matricea A de ordin ul n:
Algoritmul de calcul al dete rminantului unei matrice de ordin n se bazeaza direct pe definitie. Se aplica dezvoltarea determi nantului dupa prima linie a m atricei:
det(A)= In aceasta formula elementele necunoscute sunt minorii elem entelor din prima linie. Fie un minor arbitrar A1,j. El este determinantului unei m atrice de ordinul n-1. Pentru al calcula urmeaza sa se rezolve o problema echivalenta cu pro blema initiala, dar
de dimensiune mai mica. Deoarece la un moment dat s e ajunge la calculul unui deter minant de ordin 1, 2, sau 3, care pot fi calculati direct, se respecta regula de consisten ta si poate fi aplicat un algori tm recursiv: a) Exista un caz elementar: matricea, ce corespunde minorului curen t are ordinul 1. b) La nivelul k se fac k apeluri pentru calculul determinantilor de ordin k-1. Prin urmare pro cesul converge spre un caz el ementar. Fie matricea A are ordinul R. ALGORITM (R): Cazul elementar: Daca ordinul matricei A este 1, atunci determinantul este egal cu valoarea unicului element a l matricei. In caz contrar: Cazul de reducere: 1) Se dezvolta determinantul mat ricei A dupa prima linie. Valoarea determinantului se initializeaza cu 0. 2) Pentru toti j de la 1 la R a) Se formeaza matricea M 1,j pri n excluderea din matricea cure nta A a liniei 1 si coloanei j. b) Se calculeaza determinantul d
et(M 1,j) al matricei M 1,j utilizi nd apelul recursiv al algoritmu lui curent. c) Se actualizeaza valoarea deter minantului = + (-1)1+jdet(M 1,j) V Fixarea noilor O6 Problema 4 (pag.57 manual). . cunostinte si re Vezi anexa. alizarea feedba ck-ului. Elevii analizeaza functia det descris Scris a in manual si elaboreaza programul a pentru calcul determinantilor de ordi Sum nul n (n10). ativa Programul este alcatuit in limbajul de programare PASCAL la calculato are. Elevii isi fac notite in caiete referit or la tema de acasa.
De invatat tema: Determinati numerici, 4.1 Problema 2 (pag.57 manual). Aprecierea raspunsurilor elevil or si argumentarea notelor pri mite.
Anexa
Problema 4 (pag57,manual)
Program Determinant ; const nmax=10; Type mat=array[1..nmax,1..nmax] of real; var a:mat; i,j,n:integer; d:real; function det (var x:mat; t:integer): real; var i,j,k,l: integer; s: real; minor: mat;
begin if t=1 then det:=x[1,1] else begin s:=0; for k:=1 to t do begin for i:=1 to t-1 do for j:=1 to k-1 do minor[i,j]:=x[i+1,j]; for i:=1 to t-1 do for j:=k to t-1 do minor[i,j]:=x[i+1,j+1]; if odd(k) then S:=S + x[1,k] * det(minor,t-1) else S:=S - x[1,k] * det(minor,t-1); end; det:=s; end; end; begin writeln ('introduceti ordinul matricei'); readln(n); for i:=1 to n do for j:=1 to n do
begin write('a[',i,' , ',j,']='); readln(a[i,j]); end; d:=det(a,n); writeln ('Valoarea determinantului este d=',d:8:2); readln; end. Problema 2 (pag.57, manual) Program Determinat_Sarus ; Type mat = array [1..3,1..3] of real; var M:mat; i, j : integer; Det : real; Function Sarrus (D : mat) : real; begin Sarrus :=D[1,1]*D[2,2]*D[3,3] + D[2,1]*D[3,2]*D[1,3] + D[3,1]*D[1,2]*D[2,3 ] D[3,1]*D[2,2]*D[1,3] D[1,1]*D[3,2]*D[2,3] D[2,1]*D[1,2]*D[3, 3]; end; begin writeln ('Indicati elementele determinantului'); for i:=1 to 3 do for j:=1 to 3 do
begin write ('M [',i,' , ',j,'] = '); readln (M[i,j]); end; Det := Sarrus ( M ); writeln (' Determinantul este ', Det:16:4); readln; end.