. Metode de Calcul Numeric Matricial

INTRODUCERE

Calculul numeric reprezintă din cele mai vechi timpuri o metodă de lucru importantă în matematică. Necesitatea aplicării în practică a rezultatelor teoretice obținute la un moment dat a arătat că de multe ori metodele numerice sunt singurele care pot scoate din impas o metodă care teoretic este calculatorie dar posibilitatea de a ajunge la un rezultat exact este imposibilă.

Metodele de calcul numeric au avut o evoluție contradictorie. Dacă multă vreme au fost preferate metodele exacte atâta timp cât acestea puteau fi puse la dispoziție de teorie, odată cu dezvoltarea tehnicii de calcul situația s-a schimbat radical tehnicile de aproximare numerică fiind reconsiderate și mult folosite. Mai mult, necesitatea implementării unor algoritmi care conduc la rezolvarea sistemelor de ecuații liniare inclusiv la inversări de matrice au arătat că este mai util să se folosească metodele numerice chiar și atunci când există soluții exacte furnizate de teorie. Se pot inversa matrice destul de mari, în aplicațiile curente fiind mai utilă folosirea metodelor numerice și asta din două motive importante.

În primul rând, implementarea unui algoritm numeric cere un efort de programare incomparabil mai mic decât construirea unei aplicații în care sunt listate metodele standard de rezolvare exactă. Un algoritm numeric se reduce de cele mai multe ori la un efort de programare. Este adevărat că există algoritmi de calcul numeric care necesită cunoștințe mai aprofundate, dar există un corp destul de important de metode numerice foarte ușor de programat.

În al doilea rând, multe tehnici matematice sunt mai util de programat prin calcule aproximative decât prin soluții exacte. În memoria unui calculator, oricum valorile tuturor variabilelor sunt reținute prin aproximații ale lor, iar algoritmii pot produce aproximații comparabile cu cele ale posibilităților calculatorului, moment din care nu mai prezintă importanță metoda folosită. În plus, unele din metodele exacte pot degenera în memoria unui calculator în situații care devin imposibil de stăpânit. Este cunoscută situația în care încercând o soluție exactă pentru un sistem de ecuații cu patru sau cinci ecuații, metoda formulelor lui Cramer dă numere care depășesc orice posibilitate de reprezentare în memorie.

Utilitatea metodelor numerice nu trebuie de fapt să fie scoasă în evidență prin avantajele oferite sau prin simplitatea implementării algoritmilor pe calculator, acestea sunt de fapt un capitol al matematicii fără de care nu se poate utiliza prea mult calculatorul și uriașa lui putere de calcul în prea multe domenii din matematică.

Lucrarea de față și-a propus să evidențieze o altă fațetă extrem de utilă a metodelor numerice: anumite concepte matematice devin mult mai palpabile și mai ușor de înțeles intuitiv în context numeric.

Un exemplu de astfel de concept este acela de sistem de ecuații liniare, soluție a unui sistem de ecuații liniare, rezolvarea unui sistem de ecuații liniare. Modul în care se introduc aceste noțiuni în liceu este evident natural și util, iar atunci când se pleacă de la exemple care conduc la sisteme de ecuații liniare și se oferă elevilor un cadru general pe care să se particularizeze cu exemple, bineînțeles că se poate ajunge la o însușire operațională a conceptelor în cauză și la rezultate bune în procesul instructiv.

Capitolele de algebră liniară sunt considerate de profesori și în general și de elevi ca unele mai ușor de însușit și care nu pun probleme deosebite în aplicații și deci și la concursuri. De fapt algebra liniară este mai ușor de însușit din cauză că noțiunile care trebuie însușite par la prima vedere destul de simple și pentru că are o anumită unitate de conținut și de idei matematice de la capitol la capitol ceea ce face ca trecerile de la o noțiune la alta să se facă mai lin, noile noțiuni fiind de obicei construite pe baza celor anterioare mai bine ca la alte capitole. Dar nu de puține ori se constată că multe noțiuni sunt reținute mecanic, elevii se bazează mult pe regulile mnemonice pe care profesorii le oferă spre ușurarea calculelor și care bineînțeles că sunt foarte utile atâta timp cât nu îi împiedică pe elevi să-și formeze pe cât posibil și imagini intuitive ale celor învățate.

Metodele numerice devin la acest capitol utile din două puncte de vedere:

– ca metode în sine, de implementat pe calculator, care așa cum am spus sunt foarte indicate pentru elevii care peste câțiva ani vor lucra efectiv pe calculator;

– ca posibilitate de a oferi o imagine cât de cât intuitivă a ceea ce se întâmplă în interiorul unui algoritm în timp ce acesta lucrează pentru o problemă destul de banală cum ar fi inversarea unei matrici sau rezolvarea unui sistem liniar. Acest lucru este deosebit de important având în vedere că deseori suntem tentați cu toții, nu numai elevii, să reținem un algoritm așa cum a fost dat fără a intra în prea multe detalii să le zicem “intime” ale metodei. Cum altfel putem pretinde ca cei care vor fi peste câțiva ani în fața calculatoarelor vor produce metode mai precise și mai rapide de calcul dacă ei nu înțeleg bine în profunzime metodele clasice?

La mai buna înțelegere a noțiunilor pot contribui împreună profesorul de matematică și cel de informatică, întrucât dacă capitolele de algoritmi prevăzute în cadrul orelor de informatică ar fi corelate cu prezentarea teoretică la orele de matematică și apoi aplicate în orele de programare, s-ar putea obține rezultate mai bune în mărirea interesului elevilor pentru ambele obiecte și mai mult, câștigul acestora ar fi mai mare.

Consider că aspectele metodice legate de folosirea metodelor numerice au fost cumva neglijate pe nedrept de vreme ce lumea informaticii ne obligă să nu le mai ignorăm în general, iar în procesul de învățământ în mod special. Aspectele metodice sunt considerate din punctul de vedere practic, al activității la catedră, precum și din perspectiva legăturii între matematică și informatică. Trebuie menționat că bibliografia de specialitate este destul de săracă în acest domeniu destul de îngust dar care în viitorul foarte apropiat va cunoaște probabil o dezvoltare importantă.

Lucrarea de față își propune să prezinte câteva modalități de îmbunătățire a predării unor metode de calcul matriceal insistând pe aspectele metodice.

Astfel, în primul capitol am amintit câteva noțiuni și concepte de bază pe care elevii le vor folosi în studiul metodelor care vor fi prezentate dar pe care deja și le-au însușit.

În capitolul al doilea sunt studiate proceduri de triangularizare și factorizare împreună cu rezolvări de aplicații concrete pentru fiecare metodă prezentată.

În capitolul al treilea sunt tratate metode de rezolvare a sistemelor de ecuații, calculul determinanților și inversei unei matrice, bazate pe proceduri de triangularizare și factorizare și, desigur, exemple de aplicare a acestora.

Capitolul al patrulea conține, în prima parte, aspecte ale procesului de învățare, importanța informaticii, rolul și locul calculatoarelor în procesul de instruire, contribuția acestora la dezvoltarea creativității și la asigurarea caracterului interdisciplinar între informatică și celelalte discipline de învățământ. În partea a doua sunt prezentate câteva obiective avute în vedere în studiul informaticii în contextul actual al procesului de învățământ precum și metodica elaborării programelor.

Capitolul al cincilea cuprinde considerații metodice cu privire la predarea metodelor numerice de calcul matriceal, la sfârșitul acestuia atașând programele realizate pentru fiecare dintre metodele prezentate. Programele au fost rulate pe exemplele date în lucrare.

CAPITOLUL I

ASPECTE METODICE PRIVIND PREDAREA METODELOR NUMERICE DE CALCUL MATRICEAL ÎN LICEU

Predarea metodelor numerice de calcul matriceal

Arta predării este un meșteșug cu nenumărate artificii. Fiecare profesor ar trebui să țină cont de câteva "reguli de aur":

calea cea mai bună de a învăța ceva este de a descoperi singur;

pune-te în locul elevilor;

ghicește dificultățile lor;

transmite-le nu doar informații ci și obișnuința unei munci metodice;

fă-i să "ghicească" dar și să demonstreze;

nu dezvălui dintr-o dată tot ci determină-i să descopere singuri cât mai mult posibil.

Ca și alte discipline, informatica are o contribuție mare la aspectul formativ stimulând subiectul să participe la observație, comparație, clasificare, inducție, deducție, algoritmizare, obișnuința de a nu gândi prin fragmente și înțelegerea faptului că orice fragment este parte dintr-un întreg.

Formarea fiecărei noțiuni necesită parcurgerea etapelor de elaborare, motivație, formarea propriu-zisă a noțiunii și de consolidare prin aplicarea noțiunii respective.

O noțiune poate fi considerată asimilată dacă ea devine și instrument de dobândire a altor cunoștințe și dacă elevii pot opera cu această noțiune în situații noi. Este foarte important ca în mintea elevilor să existe o ordonare a noțiunilor, o corelare firească a lor, o motivație a învățării acestora (pentru că numai pe cunoștințe bine asimilate se pot așeza cunoștințe noi). Deasemenea, ei trebuie să înțeleagă faptul că toate noțiunile noi introduse își au locul lor precis în realități fizice.

Pentru dezvoltarea gândirii logice la elevi, este necesar ca ei:

să-și însușească cât mai bine cunoștințele teoretice și practice prevăzute în programă;

să opereze fără greutate cu conceptele asimilate în vederea unor noi descoperiri;

să stabilească algoritmi de rezolvare a diferitelor tipuri de probleme;

să aplice algoritmul corect în cazul unei probleme noi;

să transpună algoritmul în limbajul de programare studiat;

să poată găsi cea mai rapidă și cea mai potrivită metodă de rezolvare a unei probleme sau a unei situații date.

Când elevilor li se prezintă diferite metode de calcul numeric matriceal, ei sunt deja familiarizați cu noțiunile de matrice, determinant, inversă și chiar și câteva proprietăți ale acestora.

Procedurile de triangularizare și factorizare sunt studiate în scopul aplicării lor în rezolvarea sistemelor de ecuații liniare, calculul determinanților și inversarea matricelor.

PROIECT DIDACTIC

PROFESOR: Staicu Marian

DISCIPLINA: Bazele informaticii

CLASA: a XII-a

CAPITOLUL: Metode de rezolvare a sistemelor de ecuații liniare

SUBIECTUL LECȚIEI: Metode de triangularizare a matricelor

TIPUL LECȚIEI: De comunicare și însușire de noi cunoștințe

OBIECTIVE PERFORMATIVE:

Obiective cognitive:

să cunoască diferite metode de triangularizare

Obiective operaționale:

să cunoască diferite metode de triangularizare și diferența dintre ele

să fie capabili să aplice în exerciții metodele învățate

să fie capabili să opteze pentru o metodă sau alta

Obiective psihomotorii:

formarea deprinderii de a aplica în mod corect metodele de triangularizare

formarea deprinderii de a aplica aceste metode cu ajutorul calculatorului

Obiective afective

formarea convingerii că metodele de triangularizare sunt necesare la rezolvarea sistemelor de ecuații, la inversarea unei matrice precum și la calculul determinanților

METODE ȘI PROCEDEE DIDACTICE :

Metode de învățământ :

– expunerea, conversația, exercițiul, problematizarea, învățarea prin descoperire

Procedee de instruire :

conversația introductivă (în etapa de reactualizare a cunoștințelor deja învățate)

explicația (în etapa de asimilare a noilor cunoștințe)

problematizarea

exercițiul

conversația de consolidare (în etapa de fixare a cunoștințelor predate)

Forme de organizare a procesului instructiv

de participare colectivă ( frontală )

individuală

Forme de dirijare a activității :

dirijată de profesor

BIBLIOGRAFIE :

Ebâncă Dumitru – Metode de calcul numeric – Editura Sitech, Craiova, 1994

Vraciu G., Ebâncă D., Popa M. – Analiză numerică – Culegere de probleme, Universitatea din Craiova, 1989

SCENARIUL DIDACTIC :

Moment organizatoric :

verificarea prezenței și ținutei elevilor

asigurarea materialului didactic necesar orelevilor

asigurarea materialului didactic necesar orei

Captarea atenției clasei :

anunțarea și scrierea pe tablă a titlului noii lecții : “Metode de triangularizare“

se crează suportul motivațional necesar asimilării noilor cunoștințe explicându-se necesitatea de a cunoaște și deprinde flexibilitate în aplicarea metodelor de triangularizare

Reactualizarea cunoștințelor :

Se verifică nivelul cunoștințelor acumulate anterior, în scopul facilitării asimilării noilor cunoștințe, prin următoarele întrebări:

Ce este o matrice și cum se notează ?

Ce este o matrice extinsă ?

Ce operații se pot efectua cu matrice ?

Ce înțelegem prin matrice echivalente ?

Ce transformări putem face asupra unei matrice astfel încât să obținem o matrice echivalentă ?

Omogenizarea cunoștințelor :

Dacă prin reactualizarea cunoștințelor se constată că noțiunile anterioare nu sunt suficient stăpânite de către elevi, se reiau succint explicațiile necesare reducerii lacunelor existente, în scopul pregătirii trecerii la asimilarea cunoștințelor noii lecții.

Conținutul teoretic al lecției noi :

Cunoașterea procedurilor de triangularizare este deosebit de utilă în rezolvarea sistemelor de ecuații, calculul inversei și al determinanților.

Triangularizarea se obține prin efectuarea unor transformări asupra matricei inițiale obținându-se matrice echivalente. Reamintesc faptul că prin matrice echivalente înțelegem matrice care corespund la sisteme de ecuații care au aceleași soluții.

Triangularizarea superioară se realizează într-un număr finit de pași în care se construiesc matricele de forma:

, .

Să presupunem că am construit matricea A(k), , și că . Elementul îl vom numi pivot.

Folosind metoda eliminării a lui Gauss, matricea se transformă în matricea după următoarele reguli:

liniile 1, 2, … , k și coloanele 1, 2, … , k-1 nu se schimbă;

elementele subdiagonale din coloana k se anulează;

elementele situate în liniile și coloanele k+1, k+2, … , n se transformă după regula dreptunghiului: , unde pivotul .

Dacă în etapa k elementul , se efectuează o pivotare parțială sau totală.

Pivotarea parțială

Se caută în coloana k acel element cu proprietatea :

Dacă , atunci .

Dacă , atunci se permută liniile k și ik . Se aplică în continuare metoda lui Gauss matricei obținute.

Pivotarea totală

În această metodă se determină elementul cu proprietatea :

Dacă atunci .

Dacă atunci se permută liniile k și ik , apoi se permută coloanele k și jk .

Este bine să se aplice pivotarea parțială sau totală chiar dacă pivotul este nenul deoarece se evită instabilitatea numerică datorată erorilor de rotunjire apărute în efectuarea operațiilor cu calculatorul.

Formarea deprinderii de aplicare a metodelor de triangularizare :

Aplicații:

1. Să se triangularizeze următoarea matrice folosind metoda pivotării totale:

Rezolvare:

, , deci se permută liniile 1 cu 3. Se obține matricea: căreia i se aplică metoda lui Gauss. Rezultă:

, , deci se vor permuta liniile 2 cu 3 și coloanele 2 cu 3 obținându-se matricea: . Aplicându-se metoda lui Gauss rezultă:

Matricea astfel obținută este superior triunghiulară.

2. Să se scrie algoritmul de triangularizare a unei matrice folosind la alegere metoda pivotării parțiale sau totale.

Rezolvare posibilă:

Algoritmul pentru pivotarea parțială:

Date de intrare:

– Matricea A =

Date de ieșire:

– Matricea superior triunghiulară obținută în A

Pentru k = 1, 2, …, n -1 execută:

Dacă apk 0 atunci:

Dacă p k atunci:

Permută liniile p și k

Sfârșit Dacă

Pentru i = k + 1, k + 2, …., n execută:

Pentru j = k + 1, k + 2, …, n execută:

Sfârșit Pentru

aik = 0

Sfârșit Pentru

Sfârșit Dacă

Sfârșit Pentru

Algoritmul pentru pivotarea totală:

Date de intrare:

– Matricea

Date de ieșire:

– Matricea superior triunghiulară obținută în A

Pentru k = 1, 2, …, n – 1 execută:

Dacă atunci:

Dacă atunci:

Permută liniile p și k

Sfârșit Dacă

Dacă q k atunci:

Permută coloanele q si k

Sfârșit Dacă

Pentru i = k + 1, k + 2, …, n execută:

Pentru j = k + 1, k + 2, …., n execută:

Sfârșit Pentru

aik = 0

Sfârșit Pentru

altfel:

Matricea A este superior triunghiulară

STOP

Sfârșit Dacă

Sfârșit Pentru

Fixarea noilor cunoștințe și asigurarea retenției:

Se fixează cunoștințele nou asimilate prin întrebări la care elevii sunt invitați să răspundă individual, prin sondaj.

Tema pentru acasă: Să se scrie programul Pascal sau C de triangularizare a matricelor cu metoda pivotării parțiale sau totale.

PROIECT DIDACTIC

PROFESOR: Staicu Marian

DISCIPLINA: Bazele informaticii

CLASA: a XII-a

CAPITOLUL: Metode de rezolvare a sistemelor de ecuații liniare

SUBIECTUL LECȚIEI: Rezolvarea sistemelor de ecuații liniare utilizând

procedurile de triangularizare

TIPUL LECȚIEI: De comunicare și însușire de noi cunoștințe

OBIECTIVE PERFORMATIVE:

Obiective cognitive

să cunoască modul de rezolvare a sistemelor de ecuații liniare utilizând procedurile de triangularizare

Obiective operaționale:

să fie capabili să aplice procedurile de triangularizare în scopul rezolvării de sisteme de ecuații

să fie capabili să rezolve aplicații concrete

Obiective psihomotorii

formarea deprinderii de a aplica în mod corect metodele de triangularizare în scopul găsirii soluției unui sistem de ecuații

formarea deprinderii de a aplica aceste metode cu ajutorul calculatorului

Obiective afective

formarea convingerii că sistemele de ecuații se rezolvă mai ușor prin triangularizarea matricei asociate

METODE ȘI PROCEDEE DIDACTICE :

Metode de învățământ :

expunerea, conversația, exercițiul, problematizarea, învățarea prin descoperire

Procedee de instruire :

Conversația introductivă (în etapa de reactualizare a cunoștințelor deja învățate)

Explicația (în etapa de asimilare a noilor cunoștințe)

Exercițiul

Conversația de consolidare (în etapa de fixare a cunoștințelor predate)

Forme de organizare a procesului instructiv

de participare colectivă ( frontală )

individuală

Forme de dirijare a activității :

dirijată de profesor

BIBLIOGRAFIE :

Ebâncă Dumitru – Metode de calcul numeric – Editura Sitech, Craiova, 1994

Vraciu G., Ebâncă D., Popa M. – Analiză numerică – Culegere de probleme, Universitatea din Craiova, 1989

SCENARIUL DIDACTIC :

Moment organizatoric :

verificarea prezenței și ținutei elevilor

asigurarea materialului didactic necesar orei

verificarea cantitativă și calitativă a temei

Captarea atenției clasei :

anunțarea și scrierea pe tablă a titlului noii lecții : “Rezolvarea sistemelor de ecuații liniare utilizând proceduri de triangularizare “

se crează suportul motivațional necesar asimilării noilor cunoștințe explicându-se necesitatea de a cunoaște și deprinde flexibilitate în aplicarea metodelor de triangularizare în scopul rezolvării de sisteme de ecuații liniare

Reactualizarea cunoștințelor :

Se verifică nivelul cunoștințelor acumulate anterior, în scopul facilitării asimilării noilor cunoștințe, prin următoarele întrebări:

Ce metode de triangularizare cunoașteți ?

În ce constă metoda eliminării a lui Gauss ?

Ce presupune în plus pivotarea parțială ?

Dar pivotarea totală ?

Omogenizarea cunoștințelor :

Dacă prin reactualizarea cunoștințelor se constată că noțiunile anterioare nu sunt suficient stăpânite de către elevi, se reiau succint explicațiile necesare reducerii lacunelor existente, eventual se pot face niște aplicații în scopul pregătirii trecerii la asimilarea cunoștințelor noii lecții.

Conținutul teoretic al lecției noi :

Fie sistemul de ecuații liniare:

Rezolvarea sistemului de ecuații presupune două etape. În prima etapă se aplică o procedură de triangularizare matricei extinse a sistemului obținându-se o matrice superior triunghiulară R, iar în etapa a doua se rezolvă sistemul , unde c este coloana n+1 a matricei R, cu următoarele formule:

Datorită faptului că matricea echivalentă obținută în urma triangularizării este superior triunghiulară, vectorul soluție y se obține începând cu ultima componentă.

Soluția sistemului dat este : x = Sy. Deci în y se fac permutările corespunzătoare celor care s-au efectuat în coloanele matricei A (în ordine inversă). Această situație se întâlnește numai în cazul în care s-au efectuat pivotări totale. În celelalte cazuri avem x = y.

Trebuie reținut că în cazul pivotării totale, permutarea coloanelor trebuie aplicată numai în blocul corespunzător matricei A.

Formarea deprinderii de rezolvare a sistemelor de ecuații liniare utilizând proceduri de triangularizare :

Aplicații:

1. Să se rezolve sistemul:

Rezolvare posibilă:

Matricea extinsă este B = (A, b)

Se observă că matricea B are n linii și n+1 coloane, ultima coloană corespunzând termenilor liberi. .

Utilizându-se metoda pivotării totale se găsește , deci se permută liniile 1, 3 și coloanele 1, 3.

Se obține matricea: căreia i se aplică metoda lui Gauss.

Rezultă:

, deci se vor permuta liniile 2, 3 și coloanele 2, 3 obținându-se matricea: .

Aplicându-se metoda lui Gauss rezultă:

Sistemul are soluția: .

Pentru a se obține soluția sistemului dat, în y se fac permutările corespunzătoare celor care s-au efectuat în coloanele matricei A (în ordine inversă). Rezultă: .

2. Să se scrie algoritmul pentru rezolvarea sistemelor de ecuații liniare.

Rezolvare posibilă:

Algoritmul de rezolvare a sistemelor de ecuații liniare aplicând procedura de pivotare totală:

Date de intrare:

– Matricea sistemului

– Termenii liberi

Date de ieșire:

– Matricea, R = A, unde A are forma, din ultima etapă

– Vectorul c de componente:

– Soluția, sistemului Ry = c

– x = Sy, x = soluția sistemului Ax = b

S = I

Pentru k = 1, 2, …, n – 1 execută:

Dacă atunci:

Dacă atunci:

Permută liniile p și k în (A, b)

Sfârșit Dacă

Dacă q k atunci:

Permută coloanele q si k în (A, b) și S

Sfârșit Dacă

Pentru i = k + 1, k + 2, …, n execută:

Pentru j = k + 1, k + 2, …., n + 1 execută:

Sfârșit Pentru

aik = 0

Sfârșit Pentru

altfel:

Sistemul Ax = b nu poate fi rezolvat prin acest algoritm

STOP

Sfârșit Dacă

Sfârșit Pentru

Pentru i = n – 1, n – 2, …, 1 execută:

Sfârșit Pentru

Pentru i = 1, 2, …, n execută:

Sfârșit Pentru

Fixarea noilor cunoștințe și asigurarea retenției :

Se fixează cunoștințele nou asimilate prin întrebări la care elevii sunt invitați să răspundă individual, prin sondaj.

Tema pentru acasă :

Să se scrie programul Pascal sau C de rezolvare a sistemelor de ecuații liniare.

PROIECT DIDACTIC

PROFESOR: Staicu Marian

DISCIPLINA: Bazele informaticii

CLASA: a XII-a

CAPITOLUL: Metode de rezolvare a sistemelor de ecuații liniare

SUBIECTUL LECȚIEI: Metode de factorizare a matricelor.Factorizarea LR

TIPUL LECȚIEI: De comunicare și însușire de noi cunoștințe

OBIECTIVE PERFORMATIVE:

Obiective cognitive:

să cunoască diferite metode de factorizare

Obiective operaționale:

să cunoască diferite metode de factorizare și diferența dintre ele

să fie capabili să aplice în exerciții metodele învățate

Obiective psihomotorii:

formarea deprinderii de a aplica în mod corect metodele de factorizare

formarea deprinderii de a aplica aceste metode cu ajutorul calculatorului

Obiective afective

formarea convingerii că metodele de factorizare sunt necesare la rezolvarea sistemelor de ecuații

METODE ȘI PROCEDEE DIDACTICE :

Metode de învățământ :

– expunerea, conversația, exercițiul, problematizarea

Procedee de instruire :

conversația introductivă (în etapa de reactualizare a cunoștințelor deja învățate)

explicația (în etapa de asimilare a noilor cunoștințe)

problematizarea

exercițiul

conversația de consolidare (în etapa de fixare a cunoștințelor predate)

Forme de organizare a procesului instructiv

de participare colectivă ( frontală )

individuală

Forme de dirijare a activității :

dirijată de profesor

BIBLIOGRAFIE :

Ebâncă Dumitru – Metode de calcul numeric – Editura Sitech, Craiova, 1994

Vraciu G., Ebâncă D., Popa M. – Analiză numerică – Culegere de probleme, Universitatea din Craiova, 1989

SCENARIUL DIDACTIC :

Moment organizatoric :

verificarea prezenței și ținutei elevilor

asigurarea materialului didactic necesar orei

verificarea cantitativă și calitativă a temei

Captarea atenției clasei :

anunțarea și scrierea pe tablă a titlului noii lecții : “Metode de factorizare“

se crează suportul motivațional necesar asimilării noilor cunoștințe explicându-se necesitatea de cunoaștere și aplicare a metodelor de factorizare

Reactualizarea cunoștințelor :

Se verifică nivelul cunoștințelor acumulate anterior, în scopul facilitării asimilării noilor cunoștințe prin următoarele întrebări:

Ce operații se pot efectua cu matrice ?

Care este forma unei matrice superior triunghiulară ?

Dar a unei matrice inferior triunghiulară ?

Ce înțelegem prin matrice echivalente ?

Ce transformări putem face asupra unei matrice astfel încât să obținem o matrice echivalentă ?

Omogenizarea cunoștințelor :

Dacă prin reactualizarea cunoștințelor se constată că noțiunile anterioare nu sunt suficient stăpânite de către elevi, se reiau explicațiile necesare reducerii lacunelor existente, în scopul pregătirii trecerii la asimilarea cunoștințelor noii lecții.

Conținutul teoretic al lecției noi :

Definiție: Fie . O descompunere de forma: A = BC se numește factorizare a matricei A.

Principalele metode de factorizare sunt: – factorizarea LR

factorizarea Cholesky

factorizarea QR

Definiție: Fie . Se numește factorizare LR a matricei A o descompunere de forma: A = LR, unde L este o matrice inferior triunghiulară, iar R este o matrice superior triunghiulară.

Descompunerea matricei A este unică dacă se precizează elementele diagonale ale matricelor L sau R. din acest punct de vedere, în practică se utilizează două tipuri de factorizări LR: factorizarea Doolittle care impune L cu diagonala unitate și factorizarea Crout care impune R cu diagonala unitate.

A = LR

Din sistemul de mai sus rezultă formulele de calcul pentru elementele matricelor L și R (ținând cont de faptul că factorizarea Doolittle impune L cu diagonala unitate, iar factorizarea Crout impune R cu diagonala unitate).

Factorizarea Doolittle:

Factorizarea Crout:

După cum se observă din formule, în ambele metode se calculează alternativ o coloană din L, apoi o linie din R începând cu o linie din R în cazul factorizării Doolittle, respectiv cu o coloană din L în cazul factorizării Crout.

Metodele de factorizare sunt foarte utile în rezolvarea sistemelor de ecuații liniare.

Formarea deprinderii de aplicare a metodelor de factorizare :

Aplicații:

Să se realizeze o factorizare LR pentru următoarea matrice:

A =

Rezolvare posibilă:

Conform factorizării Crout care impune R cu diagonala unitate, mai întâi se calculează prima coloană din L care este egală cu prima coloană din A și avem:

apoi se calculează prima linie din R care se obține împărțind prima linie din A la :

după care, folosind ultimele două formule din factorizarea Crout se calculează alternativ o coloană din L, o linie din R:

Rezultă: ,

2. Să se scrie algoritmul de factorizare a unei matrice utilizând la alegere factorizarea Doolittle sau factorizarea Crout.

Algoritmul pentru factorizarea Doolittle:

citește n, ai,j , 1

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

scrie

scrie

stop

Algoritmul pentru factorizarea Crout:

citește n, ai,j , 1

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

scrie

scrie

stop

Fixarea noilor cunoștințe și asigurarea retenției:

Se fixează cunoștințele nou asimilate prin întrebări la care elevii sunt rugați să răspundă individual, prin sondaj.

Tema pentru acasă:

Să se scrie programul Pascal sau C de factorizare a unei matrice utilizând factorizarea Doolittle sau factorizarea Crout.

PROIECT DIDACTIC

PROFESOR: Staicu Marian

DISCIPLINA: Bazele informaticii

CLASA: a XII-a

CAPITOLUL: Metode de rezolvare a sistemelor de ecuații liniare

SUBIECTUL LECȚIEI: Rezolvarea sistemelor de ecuații liniare utilizând

proceduri de factorizare.

TIPUL LECȚIEI: De comunicare și însușire de noi cunoștințe

OBIECTIVE PERFORMATIVE:

Obiective cognitive:

să cunoască metode de rezolvare a sistemelor de ecuații liniare bazate pe proceduri de factorizare

Obiective operaționale:

să cunoască diferite metode de rezolvare a sistemelor de ecuații liniare bazate pe proceduri de factorizare și diferența dintre ele

să fie capabili să aplice în exerciții metodele învățate

Obiective psihomotorii:

formarea deprinderii de a aplica în mod corect metodele de factorizare în scopul rezolvării sistemelor de ecuații liniare

formarea deprinderii de a aplica aceste metode cu ajutorul calculatorului

Obiective afective

formarea convingerii că sistemele de ecuații se rezolvă mai ușor după ce s-a aplicat o procedură de factorizare matricei asociate

METODE ȘI PROCEDEE DIDACTICE :

Metode de învățământ :

– expunerea, conversația, exercițiul

Procedee de instruire :

conversația introductivă (în etapa de reactualizare a cunoștințelor deja învățate)

explicația (în etapa de asimilare a noilor cunoștințe)

exercițiul

conversația de consolidare (în etapa de fixare a cunoștințelor predate)

Forme de organizare a procesului instructiv

de participare colectivă ( frontală )

individuală

Forme de dirijare a activității :

dirijată de profesor

BIBLIOGRAFIE :

Ebâncă Dumitru – Metode de calcul numeric – Editura Sitech, Craiova, 1994

Vraciu G., Ebâncă D., Popa M. – Analiză numerică – Culegere de probleme, Universitatea din Craiova, 1989

SCENARIUL DIDACTIC :

Moment organizatoric :

verificarea prezenței și ținutei elevilor

asigurarea materialului didactic necesar orei

verificarea cantitativă și calitativă a temei

Captarea atenției clasei :

anunțarea și scrierea pe tablă a titlului noii lecții : “Rezolvarea sistemelor de ecuații liniare utilizând proceduri de factorizare“

se crează suportul motivațional necesar asimilării noilor cunoștințe explicându-se necesitatea de a cunoaște și deprinde flexibilitate în aplicarea metodelor de factorizare

Reactualizarea cunoștințelor :

Se verifică nivelul cunoștințelor acumulate anterior, în scopul facilitării asimilării noilor cunoștințe prin următoarele întrebări:

Ce metode de factorizare cunoașteți ?

În ce constă factorizarea unei matrice ?

Omogenizarea cunoștințelor :

Dacă prin reactualizarea cunoștințelor se constată că noțiunile anterioare nu sunt suficient stăpânite de către elevi, se reiau explicațiile necesare reducerii lacunelor existente, eventual se mai pot face aplicații în scopul pregătirii trecerii la asimilarea cunoștințelor noii lecții.

Conținutul teoretic al lecției noi :

Dacă matricei A a sistemului i se aplică una din procedurile de factorizare LR învățate, atunci:

Pentru găsirea soluției x vom rezolva succesiv sistemele , care sunt inferior respectiv superior triunghiulare mai ușor de rezolvat (așa cum am văzut la triangularizare).

Sistemul inferior triunghiular Ly = b se rezolvă astfel:

Sistemul superior triunghiular Rx = y se rezolvă astfel:

Elevii vor observa că datorită faptului că sistemul Ly = b este inferior triunghiular, necunoscutele se determină începând cu prima, în timp ce sistemul Rx = y fiind superior triunghiular necunoscutele se calculează începând cu ultima.

Se reamintește faptul că în factorizarea Doolittle (deoarece aceasta impune L cu diagonala unitate), iar în factorizarea Crout (deoarece aceasta impune R cu diagonala unitate).

Formarea deprinderii de rezolvare a sistemelor de ecuații utilizând proceduri de factorizare :

Aplicații:

1. Să se rezolve următorul sistem de ecuații folosind factorizarea LR:

A =

Rezolvare:

Într-o lecție anterioară s-a realizat factorizarea Crout pentru matricea sistemului, obținând:

,

Se rezolvă sistemul Ly = b, unde b este vectorul termenilor liberi și se găsește:

Apoi, se rezolvă sistemul Rx = y ținând cont de faptul că în factorizarea Crout :

Deci soluția este:

2. Să se scrie algoritmul pentru procedura de rezolvare a unui sistem de ecuații liniare utilizând factorizarea LR.

Rezolvare posibilă:

pentru execută

s0

pentru execută

pentru execută

pentru execută

stop

Algoritmul dat este general, putând fi folosit și în cazul în care s-a aplicat factorizarea Doolittle și în cazul în care s-a aplicat factorizarea Crout, în program urmând, eventual, a se face următoarele modificări:

în cazul în care s-a apelat procedura de factorizare Doolittle, la calculul vectorului y nu mai este nevoie să se facă împărțirea prin

în cazul în care s-a apelat procedura de factorizare Crout, la calculul vectorului x nu mai este nevoie să se facă împărțirea prin

Fixarea noilor cunoștințe și asigurarea retenției:

Se fixează cunoștințele nou asimilate prin întrebări la care elevii sunt rugați să răspundă individual, prin sondaj.

Tema pentru acasă: Să se scrie programul Pascal sau C de rezolvare a unui sistem de ecuații liniare utilizând factorizarea LR.

PROIECT DIDACTIC

PROFESOR: Staicu Marian

DISCIPLINA: Bazele informaticii

CLASA: a XII-a

CAPITOLUL: Metode de rezolvare a sistemelor de ecuații liniare

SUBIECTUL LECȚIEI: Inversarea matricelor. Metoda iterativă

TIPUL LECȚIEI: De comunicare și însușire de noi cunoștințe

OBIECTIVE PERFORMATIVE:

Obiective cognitive:

să cunoască diferite metoda iterativă de inversare a unei matrice

să cunoască modul de rezolvare a sistemelor de ecuații utilizând matricea inversă

Obiective operaționale:

să cunoască diferite metoda iterativă de inversare a unei matrice

să fie capabili să aplice în exerciții metoda învățată

să fie capabili să folosească această metodă la rezolvarea sistemelor de ecuații

Obiective psihomotorii:

formarea deprinderii de a aplica în mod corect metoda ierativă

formarea deprinderii de a aplica această metodă cu ajutorul calculatorului atât în scopul obținerii matricei inverse cât și pentru rezolvarea sistemelor de ecuații liniare

Obiective afective

formarea convingerii că metoda iterativă este o metodă foarte utilă, cu ajutorul ei putând inversa matrice de ordin foarte mare

formarea convingerii că metodele de inversare a unei matrice sunt necesare la rezolvarea sistemelor de ecuații

METODE ȘI PROCEDEE DIDACTICE :

Metode de învățământ :

– expunerea, conversația, exercițiul, problematizarea, învățarea prin descoperire

Procedee de instruire :

conversația introductivă (în etapa de reactualizare a cunoștințelor deja învățate)

explicația (în etapa de asimilare a noilor cunoștințe)

problematizarea

exercițiul

conversația de consolidare (în etapa de fixare a cunoștințelor predate)

Forme de organizare a procesului instructiv

de participare colectivă ( frontală )

individuală

Forme de dirijare a activității :

dirijată de profesor

BIBLIOGRAFIE :

Ebâncă Dumitru – Metode de calcul numeric – Editura Sitech, Craiova, 1994

Vraciu G., Ebâncă D., Popa M. – Analiză numerică – Culegere de probleme, Universitatea din Craiova, 1989

SCENARIUL DIDACTIC :

Moment organizatoric :

verificarea prezenței și ținutei elevilor

asigurarea materialului didactic necesar orei

Captarea atenției clasei :

anunțarea și scrierea pe tablă a titlului noii lecții : “Inversarea matricelor. Metoda iterativă“

se crează suportul motivațional necesar asimilării noilor cunoștințe explicându-se necesitatea de a cunoaște și deprinde flexibilitate în aplicarea metodelor de inversare

Reactualizarea cunoștințelor :

Se verifică nivelul cunoștințelor acumulate anterior, în scopul facilitării asimilării noilor cunoștințe, prin următoarele întrebări:

Ce înțelegeți prin inversa unei matrice ?

Ce metode de inversare cunoașteți ?

Unde ați folosit inversa unei matrice ?

Omogenizarea cunoștințelor :

Dacă prin reactualizarea cunoștințelor se constată că noțiunile anterioare nu sunt suficient stăpânite de către elevi, se reiau succint explicațiile necesare reducerii lacunelor existente, în scopul pregătirii trecerii la asimilarea cunoștințelor noii lecții.

Conținutul teoretic al lecției noi :

Cunoașterea metodelor de inversare este deosebit de utilă în rezolvarea sistemelor de ecuații.

Fie matricea o matrice de ordin n.

Metoda iterativă constă în obținerea inversei în n pași astfel:

Notăm

,

unde ,

,

iar

Matricea

Se obține cu formulele:

Astfel, se calculează succesiv plecând de la .

Metodele pentru calculul inversei pot fi utilizate pentru rezolvarea sistemelor de n ecuații liniare cu n necunoscute, unde soluția este .

Formarea deprinderii de aplicare a metodelor de triangularizare :

Aplicații:

Să se găsească soluția următorului sistem de ecuații:

Rezolvare:

În prima etapă se inversează matricea sistemului:

Aplicând formulele pentru k = 1 rezultă:

k = 2

Aplicăm din nou formulele și obținem:

În etapa a doua se calculează soluția:

2. Să se realizeze un algoritm de rezolvare a sistemelor de ecuații liniare folosind metoda iterativă de inversare.

Rezolvare posibilă:

citește n, ai,j , 1,

pentru execută

pentru execută

pentru execută

s0

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

pentru execută

scrie

stop

Fixarea noilor cunoștințe și asigurarea retenției:

Se fixează cunoștințele nou asimilate prin întrebări la care elevii sunt invitați să răspundă individual, prin sondaj.

Tema pentru acasă:

Să se scrie programul Pascal sau C de rezolvare a sistemelor de ecuații aplicând metoda iterativă pentru inversarea matricelor.

1.2 Metodica elaborării programelor

1.2.1 Etapele necesare rezolvării unei probleme cu calculatorul

În rezolvarea unei probleme cu calculatorul este necesară parcurgerea următoarelor etape:

Enunțarea problemei, evidențiind ceea ce se dă și ceea ce se cere.

Analizarea problemei cu scopul de a decide dacă este rezolvabilă cu calculatorulul. În această etapă se studiază suficiența datelor, alegerea sau găsirea unei metode eficiente pentru obținerea soluției, alegerea unui limbaj de programare convenabil.

Elaborarea unui algoritm de rezolvare a problemei, a cărui structură trebuie să fie în strânsă legatură cu modul de funcționare a calculatorului.

Scrierea programului de rezolvare a problemei în limbajul de programare ales. Programul prezintă descrierea algoritmului într-un limbaj de programare. El constă dintr-o succesiune de instrucțiuni care “indică“ calculatorului ce operații trebuie să realizeze, în ce ordine și asupra căror date.

Testarea și verificarea programului în vederea înlăturării eventualelor erori de sintaxă sau la execuție.

1.2.2 Cerințe metodologice necesare realizării programelor informatice educaționale

Pentru realizarea unui program bun trebuie respectate următoarele cerințe obligatorii:

Orice program bun trebuie bine fundamentat teoretic și pedagogic, să aibă un titlu care să semnifice semantic conținutul său și să fie ușor manevrabil în procesul de învățare sau de predare.

Să se indice disciplina căreia îi aparține programul, instituția, autorul și data realizării și validării sale ca program didactic.

Realizarea unui program bun este, în general, rodul unei munci de echipă: profesori, informaticieni, ingineri, psihologi și pedagogi, sociologi etc. Nu este lipsit de importanță dacă la realizarea programului participă și elevi deoarece lor li se adresează acest program.

Programul trebuie realizat în ideea unei interfețe prietenoase, care să solicite atenția și concentrarea într-o ambianță optimistă, de mobilizare la lucru. Pe cât posibil este mai bine ca programul să aibă un puternic caracter interactiv, conversațional, să permită funcția de “help” a calculatorului, atunci când este cazul și să realizeze corect aprecierea prin calificative a celui ce învață.

Cuprinsul unei teme poate începe cu o pagină de opțiuni (meniu) în care să fie date: instrucțiuni de utilizare a programului, comenzi necesare în exploatarea programului, posibilitatea întreruperii și realizării sale în timp, date de intrare și funcții utilizate, precum și posibilitatea revenirii în pagina de opțiuni.

Organizarea prezentării noțiunilor nu trebuie să obosească pe utilizator. Pentru aceasta se folosesc cu succes: sunetul, imaginea, culoarea și animația.

1.2.3 Metodica realizării programelor

Noțiunea de date semnifică totalitatea valorilor numerice care pot participa la execuția unui program. Există date de intrare, date de ieșire și date de lucru.

În calculator datele sunt memorate codificat, în spații de memorie numite locații.

Variabila este o cantitate care poate lua mai multe valori pe parcursul execuției unui program și căreia îi este atașat un nume simbolic. Unei variabile simple îi este atașată o singură locație de memorie. Numele unei variabile poate fi format din mai multe litere și cifre primul caracter fiind obligatoriu o literă.

Constantele sunt valori fixe care nu se modifică pe parcursul execuției unui program.

Cu ajutorul variabilelor și al constantelor se pot alcătui expresii aritmetice, folosind operații de adunare, scădere, înmulțire, împărțire, ridicare la putere etc. De asemenea se pot alcătui și expresii logice, acestea conținând expresii aritmetice, constante și variabile logice, operatori logici.

Prin operația de citire, datele sunt transferate de pe mediul extern în locațiile rezervate de memorie prin intermediul dispozitivelor periferice de intrare: tastatura, unitatea de floppy disk, scanner-ul.

Prin operația de scriere datele (rezultate) sunt preluate din locațiile de memorie și afișate pe mediul extern prin intermediul dispozitivelor periferice de ieșire: monitorul (display-ul), imprimanta, unitatea de floppy disk.

Trebuie postulată ideea că în munca cu elevii subiectele care solicită alcătuirea de programe trebuie mai întâi discutate cu aceștia, stabilindu-se, pe cale orală, demersurile necesare realizării acestora.

În acest mod, elevii se vor obișnui să aprofundeze subiectul cercetat, să gândească algoritmul problemei și să-și elaboreze prin studiu propriu programul pentru calculator.

Înainte de a trece la elaborarea programului, elevii trebuie să cunoască formulele matematice necesare rezolvării problemei.

De asemenea, elevii trebuie să știe că există mai multe variante de rezolvare a unei probleme cu ajutorul calculatorului și să fie capabili să găsească varianta optimă, algoritmul cel mai simplu, clar și concis.

Programele corespunzătoare fiecărei metode descrise au fost rulate pe exemplele care se regăsesc și în prezentarea metodelor numerice de calcul matriceal. La realizarea lor s-a încercat găsirea unor soluții care să necesite un timp de rezolvare cât mai scurt prin reducerea numărului de operații efectuate de calculator și o ocupare eficientă a memoriei prin folosirea a unui număr cât mai mic de variabile prin realizarea calculelor în locații de memorie deja utilizate.

//Procedura de triangularizare a unei matrice A

#include <iostream. h>

#include <stdlib.h>

#include <conio. h>

int i, j, n, k, p;

float a[10] [10], max, c;

void main (void){

cout<<”\n n=”; cin>>n;

for (i = 1; i < = n; i++)

for (j = 1; j <=n; j++){

cout<<”a[”<<i<<”] [”<<j<<”]=”;cin>>a[i] [j]; }

for (k=1; k<n;k++){

max = abs(a[k] [k]) ;

p = k;

for(i=k+l; i <=n ; i++)

if (max<abs(a[i][k])){

max = abs(a[i] [k]) ;

P = i ;}

if (a[p][k]!=0){

if (p!=k){

for (j = l; j<=n; j++){

c = a[p] [j] ;

a[p][j]=a[k][j];

a[k][j]=c;}

}

for (i=k+1; i<=n ; i++) {

for (j=k+1; j<=n ; j++)

a[i][j] = a[i][k]*a[k][j]/a[k][k];

a[i][k]=0;

}

}

}

for ( i=1; i <=n ;i++){

for(j=1; j<=n; j++)

cout<<a[i] [j]<<"\t”;

cout<<"\n"; }

getch( );

}

//Procedura de triangularizare a unei matrice A

#include <iostream. h>

#include <stdlib.h>

#include <math. h>

#include <conio. h>

int i, j, n, k, p, q;

float a [10] [10], max, c;

void main (void) {

clrscr( ) ;

cout<<”\n n=" ; cin>>n ;

for(i=1; i<=n ; 1++){

for(j=1; j<=n; j++){

cout<<”a["<<i<<"] ["<<j<<"]=" ;cin>>a[i ] [j] ; }

for (k=1; k<n ; k++){

max=fabs(a[k] [k]) ;

p=k;

q=k;

for(i=k; i <=n ; i++)

for(j=k; j<=n;j++)

if (max<fabs(a[i][i])){

max=fabs(a[i] [j]) ;

p=i ;

q=j ; }

if (a[p][q]!=0){

if (p!=k) {

for(j=1; j<=n; j++){

c=a[p] [j] ;

a[p][j]=a[k a[k][j]

a[k][j]=c;}

}

if (q!=k){

for (i=1 ; i<=n ; i++) {

c=a[i][q];

a[i][q]=a[i a[i][k]

a[i][k]=c;}

}

for (i=k+L; i <=n ; i++) {

for (j=k+l; j<=n ; j++)

a[i][j] = a[i][j]-(a[i][k]*a[k][j]/a[k][k]);

a[i][k]=0;

{

{

else {cout<<”\nMatricea A este superior triunghiulară";

exit(1);}

}

for (i=1; i <=n ; 1++) {

for( j = 1; j<=n; j++)

cout<<a[i][j]<<"\t";

cout<<”n"; }

qetch( ) ;

program fact_lr_Doolittle;

type matr=array[1..5,1..5]of real;

var a,l,r:matr;

n,i,j,k,h:integer;

s:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

end;

begin

citire(n,a);

for i:=1 to n-1 do

for j:=i+1 to n do

l[i,j]:=0;

for i:=1 to n do

l[i,i]:=1;

for i:=2 to n do

for j:=1 to i-1 do

r[i,j]:=0;

for j:=1 to n do

r[1,j]:=a[1,j];

for i:=2 to n do

l[i,1]:=a[i,1]/r[1,1];

for k:=2 to n do

begin

for j:=k to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[k,h]*r[h,j];

r[k,j]:=a[k,j]-s;

end;

for i:=k+1 to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[i,h]*r[h,k];

l[i,k]:=(a[i,k]-s)/r[k,k];

end

end;

writeln('matricea L este:');

for i:=1 to n do

begin

for j:=1 to n do

write(l[i,j]:6:2);

writeln;

end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(r[i,j]:6:2);

writeln;

end;

readln

end.

program fact_lr_Crout;

type matr=array[1..5,1..5]of real;

var a,l,r:matr;

n,i,j,k,h:integer;

s:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

end;

begin

citire(n,a);

for i:=1 to n-1 do

for j:=i+1 to n do

l[i,j]:=0;

for i:=1 to n do

r[i,i]:=1;

for i:=2 to n do

for j:=1 to i-1 do

r[i,j]:=0;

for i:=1 to n do

l[i,1]:=a[i,1];

for j:=2 to n do

r[1,j]:=a[1,j]/l[1,1];

for k:=2 to n do

begin

for i:=k to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[i,h]*r[h,k];

l[i,k]:=a[i,k]-s;

end;

for j:=k+1 to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[k,h]*r[h,j];

r[k,j]:=(a[k,j]-s)/l[k,k];

end

end;

writeln('matricea L este:');

for i:=1 to n do

begin

for j:=1 to n do

write(l[i,j]:6:2);

writeln;

end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(r[i,j]:6:2);

writeln;

end;

readln

end.

program factorizare_QR;

{ Q = H1 H2 , R = H2 H1 A }

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

var a,q,h,b,c,d,u:matr;

v:vect;

n,i,j,k,lin,col:integer;

max,s,aux:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

end;

procedure prod_matr(a,b:matr;n:integer;var c:matr);

var i,j,k:integer;

begin

for i:=1 to n do

for j:=1 to n do

begin

c[i,j]:=0;

for k:=1 to n do

c[i,j]:=c[i,j]+a[i,k]*b[k,j];

end;

end;

begin

citire(n,a);

for i:=1 to n do

for j:=1 to n do

if i=j then u[i,j]:=1

else u[i,j]:=0;

q:=u;

for k:=1 to n-1 do

begin

for i:=1 to k-1 do

v[i]:=0;

s:=0;

for i:=k to n do

s:=s+sqr(a[i,k]);

v[k]:=a[k,k]+sqrt(s);

for i:=k+1 to n do

v[i]:=a[i,k];

s:=0;

for i:=1 to n do

s:=s+sqr(v[i]);

for i:=1 to n do

for j:=1 to n do

h[i,j]:=u[i,j]-2*v[i]*v[j]/s;

prod_matr(h,a,n,c);

prod_matr(q,h,n,d);

a:=c;

q:=d;

writeln('matricea Q este:');

for i:=1 to n do

begin

for j:=1 to n do

write(q[i,j]:7:2);

writeln

end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(a[i,j]:7:2);

writeln

end;

readln

end

end.

program fact_QR;

{ varianta obtinuta prin aplicarea formulelor (13) din capitolul II }

const eps=10e-6;

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

v1=array[1..5]of integer;

var a,q,r:matr;

x,y:vect;

n,i,j,k,l:integer;

s:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

end;

function p_scal(x,y:vect):real;

var l:integer;

begin

s:=0;

for l:=1 to n do

s:=s+x[l]*y[l];

p_scal:=s;

end;

begin

citire(n,a);

for l:=1 to n do

x[l]:=a[l,1];

r[1,1]:=sqrt(p_scal(x,x));

for l:=1 to n do

q[l,1]:=x[l]/r[1,1];

for i:=2 to n do

begin

for l:=1 to n do

x[l]:=a[l,i];

for k:=1 to i-1 do

begin

for l:=1 to n do

y[l]:=q[l,k];

r[k,i]:=p_scal(x,y);

end;

s:=0;

for k:=1 to i-1 do

s:=s+sqr(r[k,i]);

r[i,i]:=sqrt(p_scal(x,x)-s);

for l:=1 to n do

begin

s:=0;

for k:=1 to i-1 do

s:=s+r[k,i]*q[l,k];

q[l,i]:=(x[l]-s)/r[i,i];

end

end;

writeln('matricea Q este:');

for i:=1 to n do

begin

for j:=1 to n do

write(q[i,j]:7:2);

writeln

end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(r[i,j]:7:2);

writeln

end;

readln

end.

//Metode directe pentru sisteme liniare

//bazate pe proceduri de triangulaizare

#include <conio. h>

#include <iostream. h>

#include <stdlib. h>

#include <math., h>

int i , j , k, n , p, q;

float s1, c, max, a[10] [10], s [10] [10], y[10], x[10] ;

void main( ){

clrscr ( ) ;

cout<<"\nn=" ; cin>>n ;

cout<<"Dati matricea sistemului: \n" ;

for(i=1;i<=n;i++)

for (j =1 ; j <=n ; j ++) {

cout<<”a[”<<i<<”] ["<<j<<”]=”; cin>>a[i][j];

cout<<"Dati termenii liberi:\n";

for(i=1;i<=n; 1++){

cout<<"b[”<<i<<”] =”; cin>>a[i][n+1];

}

for(i=1; i<=n;i++)

for(j=1; j<=n; j++)

if (i==j) s[i][j]=1;

else s[i][j]=0;

for (k=1;k<n;k++){

max=abs(a[k] [k]) ;

p=k;

q=k;

for(i=k+1; i <=n; i++)

for(j=k+1; j<=n; j++)

if (max<abs(a[i] [j])){

max=abs(a[i] [j]) ;

p=1;

q=i; }

if (a[p][q]!=0){

if (p!=k)

for(j=l; j<=n+1; j++) {

c=a[p][j] ;

a[p] [j]=a[k] [j];

a[k][j]=c;

}

if(q!=k) {

for(j=1; j<=n; j++) {

c=a[j][q];

a[j][q]=a[j][k];

a[j][k]=c;

}

for(j=1; j<=n; j++){

c=s[j] [q] ;

s[j][q]=s[j][k];

s[j][k]=c;

}

}

for(i=k+1; i<=n; i++)

for(j=k+1; j<=n+1; j++)

a[i][j]=a[i][j] – (a[i][k]*a[k][j]/a[k][k]);

for (i=k+1; i<=n; i++)

a[i][k]=0;

}

else {

cout<<”Sistemul Ax=b nu poate fi rezolvat prin acest algoritm”;

exit (1);

}

}

y[n]=a[n][n+1]/a[n][n];

for(i=n-1; i>=n;i- -) {

s1=0;

for(k=1; k<=n; k++)

a1+=a[i][k]*y[k];

y[i]=(a[i][n+1]-s1)/a[i][i];

}

for(k=i+1; k<=n ; i++) {

s1=0;

for(j=1; j<=n; j++)

s1+=s[i][j]*y[j];

x[i]=s1;

}

cout<<”Solutiile sistermului sunt:\n";

for (i =1 ; i <=n ; i++)

cout<<x [i ]<<”\t";

getch ( );

}

program sist_ec_ fact_lr_Doolittle;

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

var a,l,r:matr;

x,y,b:vect;

n,i,j,k,h:integer;

s:real;

procedure citire(var n:integer;var a:matr;var b:vect);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

writeln('dati termenii liberi:');

for i:=1 to n do

begin

write('b[',i,']=');

readln(b[i]);

end;

end;

begin

citire(n,a,b);

for i:=1 to n-1 do

for j:=i+1 to n do

l[i,j]:=0;

for i:=1 to n do

l[i,i]:=1;

for i:=2 to n do

for j:=1 to i-1 do

r[i,j]:=0;

for j:=1 to n do

r[1,j]:=a[1,j];

for i:=2 to n do

l[i,1]:=a[i,1]/r[1,1];

for k:=2 to n do

begin

for j:=k to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[k,h]*r[h,j];

r[k,j]:=a[k,j]-s;

end;

for i:=k+1 to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[i,h]*r[h,k];

l[i,k]:=(a[i,k]-s)/r[k,k];

end

end;

y[1]:=b[1]/l[1,1];

for i:=2 to n do

begin

s:=0;

for k:=1 to i-1 do

s:=s+l[i,k]*y[k];

y[i]:=(b[i]-s)/l[i,i];

end;

x[n]:=y[n]/r[n,n];

for i:=n-1 downto 1 do

begin

s:=0;

for k:=i+1 to n do

s:=s+r[i,k]*x[k];

x[i]:=(y[i]-s)/r[i,i];

end;

writeln('matricea L este:');

for i:=1 to n do

begin

for j:=1 to n do

write(l[i,j]:6:2);

writeln;

end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(r[i,j]:6:2);

writeln;

end;

for i:=1 to n do

writeln('y[',i,']=',y[i]);

for i:=1 to n do

writeln('x[',i,']=',x[i]);

readln end.

program fact_lr_Crout_sist_ec;

const eps=10e-6;

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

var a,l,r:matr;

x,y,b:vect;

n,i,j,k,h:integer;

s:real;

procedure citire(var n:integer;var a:matr;var b:vect);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

writeln('dati termenii liberi:');

for i:=1 to n do

begin

write('b[',i,']=');

readln(b[i]);

end;

end;

begin

citire(n,a,b);

for i:=1 to n-1 do

for j:=i+1 to n do

l[i,j]:=0;

for i:=1 to n do

l[i,i]:=1;

for i:=2 to n do

for j:=1 to i-1 do

r[i,j]:=0;

for j:=1 to n do

r[1,j]:=a[1,j];

for i:=2 to n do

l[i,1]:=a[i,1]/r[1,1];

for k:=2 to n do

begin

for j:=k to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[k,h]*r[h,j];

r[k,j]:=a[k,j]-s;

end;

for i:=k+1 to n do

begin

s:=0;

for h:=1 to k-1 do

s:=s+l[i,h]*r[h,k];

l[i,k]:=(a[i,k]-s)/r[k,k];

end

end;

y[1]:=b[1]/l[1,1];

for i:=2 to n do

begin

s:=0;

for k:=1 to i-1 do

s:=s+l[i,k]*y[k];

y[i]:=(b[i]-s)/l[i,i];

end;

x[n]:=y[n]/r[n,n];

for i:=n-1 downto 1 do

begin

s:=0;

for k:=i+1 to n do

s:=s+r[i,k]*x[k];

x[i]:=(y[i]-s)/r[i,i];

end;

writeln('matricea L este:');

for i:=1 to n do

begin

for j:=1 to n do

write(l[i,j]:6:2);

writeln; end;

writeln('matricea R este:');

for i:=1 to n do

begin

for j:=1 to n do

write(r[i,j]:6:2);

writeln; end;

for i:=1 to n do

writeln('y[',i,']=',y[i]);

for i:=1 to n do

writeln('x[',i,']=',x[i]);

readln

end.

program Gauss_inversa_determinant;

const eps=10e-6;

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

v1=array[1..5]of integer;

var a:matr;

x:vect;

perm:v1;

n,i,j,k,lin,col:integer;

max,s,aux:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

writeln('dati termenii liberi:');

for i:=1 to n do

begin

write('b[',i,']=');

readln(a[i,n+1]);

end

end;

procedure maxim(k:integer;var max:real;var lin,col:integer);

var i:integer;

begin

max:=abs(a[k,k]);

lin:=k;

col:=k;

for i:=k to n do

for j:=k to n do

if max<abs(a[i,j]) then begin

max:=abs(a[i,j]);

lin:=i;

col:=j

end;

perm[k]:=col;

end;

procedure schlin(k,lin:integer;var a:matr);

var j:integer;

aux:real;

begin

for j:=1 to n+1 do

begin

aux:=a[lin,j];

a[lin,j]:=a[k,j];

a[k,j]:=aux

end;

end;

procedure schcol(k,col:integer;var a:matr);

var i:integer;

aux:real;

begin

for i:=1 to n do

begin

aux:=a[i,col];

a[i,col]:=a[i,k];

a[i,k]:=aux

end;

end;

procedure pivotare(var a:matr;k:integer);

var i,j:integer;

begin

for i:=k+1 to n do

begin

a[i,k]:=a[i,k]/a[k,k];

for j:=k+1 to n+1 do

a[i,j]:=a[i,j]-a[i,k]*a[k,j];

{for i:=k+1 to n do

a[i,k]:=0;}

end

end;

procedure permutare(perm:v1;var x:vect);

var aux:real;

k:integer;

begin

for k:=n-1 downto 1 do

if perm[k]<>k then begin aux:=x[k];

x[k]:=x[perm[k]];

x[perm[k]]:=aux

end;

end;

begin

citire(n,a);

for i:=1 to n do

for j:=n+1 to 2*n do

if j=n+1 then a[i,j]:=1

else a[i,j]:=0;

for i:=1 to n do

perm[i]:=i;

for k:=1 to n do

begin

maxim(k,max,lin,col);

writeln('max=',max);

if max=0 then begin

writeln('sistemul nu are solutie unica');

exit

end;

if lin<>k then schlin(k,lin,a);

if col<>k then schcol(k,col,a);

if abs(a[k,k])>eps then pivotare(a,k);

end;

for i:=1 to n do

begin

for j:=1 to n+1 do

write(a[i,j]:6:2);

writeln;

end;

if a[n,n]=0 then begin

writeln('sistemul nu are solutie unica');

exit

end;

x[n]:=a[n,n+1]/a[n,n];

for i:=n-1 downto 1 do

begin

s:=0;

for k:=i+1 to n do

s:=s+a[i,k]*x[k];

x[i]:=(a[i,n+1]-s)/a[i,i];

end;

for i:=1 to n do

writeln('y[',i,']=',x[i]);

permutare(perm,x);

for i:=1 to n do

writeln('x[',i,']=',x[i]);

readln

end.

program inversa_condensare_pivotala;

type matr=array[1..5,1..10]of real;

var a:matr;

n,i,j,k,l,semn:integer;

max,aux,det,p:real;

procedure citire(var n:integer;var a:matr);

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati matricea');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

end;

begin

citire(n,a);

p:=1;

semn:=1;

for k:=1 to n-1 do

begin

for i:=2 to n do

for j:=2 to n do

a[i,j]:=a[1,1]*a[i,j]-a[i,1]*a[1,j];

for i:=1 to n-1 do

for j:=1 to n-1 do

a[i,j]:=a[i+1,j+1];

if a[1,1]=0

then begin l:=2;

while (a[l,1]=0) and (l<n-1) do

l:=l+1;

if a[l,1]<>0 then for j:=1 to n-1 do

begin

aux:=a[1,j];

a[1,j]:=a[l,j];

a[l,j]:=aux

end

else begin

writeln('det=0');

exit

end;

semn:=-semn

end;

for i:=1 to n-2 do

p:=p*a[1,1];

n:=n-1

end;

det:=a[n,n]/p;

writeln('determinantul este:',det);

readln

end.

program inversa_metoda_iterativa;

{ rezolvarea sistemelor de ecuatii utilizand metoda iterativa }

type matr=array[1..5,1..5]of real;

vect=array[1..5]of real;

var a,inv:matr;

b:vect;

n,i,j,k,l:integer;

s:real;

procedure citire(var n:integer;var a:matr;var b:vect)s;

var i,j:integer;

begin

write('n=');

readln(n);

writeln('dati coeficientii:');

for i:=1 to n do

for j:=1 to n do

begin

write('a(',i,',',j,')=');

readln(a[i,j]);

end;

writeln('dati termenii liberi;');

for i:=1 to n do

begin

write('b[',i,']=');

readln(b[i]);

end

end;

begin

citire(n,a,b);

inv[1,1]:=1/a[1,1];

for k:=1 to n-1 do

begin

for j:=1 to k do

begin

inv[k+1,j]:=0;

for l:=1 to k do

inv[k+1,j]:=inv[k+1,j]+a[k+1,l]*inv[l,j];

end;

s:=0;

for i:=1 to k do

s:=s+inv[k+1,i]*a[i,k+1];

inv[k+1,k+1]:=1/(a[k+1,k+1]-s);

for i:=1 to k do

begin

inv[i,k+1]:=0;

for l:=1 to k do

inv[i,k+1]:=inv[i,k+1]+inv[i,l]*a[l,k+1];

end;

for i:=1 to k do

begin

inv[i,k+1]:=-inv[k+1,k+1]*inv[i,k+1];

inv[k+1,i]:=-inv[k+1,k+1]*inv[k+1,i];

end;

for i:=1 to k do

for j:=1 to k do

inv[i,j]:=inv[i,j]+inv[i,k+1]*inv[k+1,j]/inv[k+1,k+1];

writeln('inversa este:');

for i:=1 to k+1 do

begin

for j:=1 to k+1 do

write(inv[i,j]:7:2);

writeln

end;

end;

for i:=1 to n do

begin

x[i]:=0;

for j:=1 to n do

x[i]:=a[i,j]*b[j];

end;

writeln('solutia este:');

for i:=1 to n do

write(x[i]:7:2);

readln

end.

CAPITOLUL II

PARTICULARITĂȚILE PROCESULUI DE ÎNVĂȚARE ÎN CADRUL DISCIPLINELOR DE INFORMATICĂ

2.1. Importanța informaticii în procesul de învățare

2.1.1. Importanța utilizării calculatoarelor în procesul de învățământ

Se apreciază că nivelul și calitatea pregătirii elevilor în domeniul tehnicii de calcul influențează direct potențialul științific, tehnic și productiv al unei țări.

La baza aceste discipline se află trei concepte fundamentale: informația, algoritmul și calculatorul.

Prelucrarea automată a informației cu ajutorul calculatorului presupune următoarele etape:

– algoritmizarea: elaborarea algoritmului pentru soluționarea problemei date, în cadrul căreia intră studiul obiectului în cauză, descrierea obiectului din punctul de vedere al principalelor legături și dependențe între caracteristicile și proprietățile sale relevante; modelarea matematică – descrierea problemei într-un limbaj matematic formal, elaborarea metodei de studiu, a modelului matematic și descrierea acestuia într-un limbaj algoritmic;

– programarea: traducerea algoritmului obținut într-un limbaj de programare, elaborarea pentru calculator;

– soluționarea problemei cu ajutorul calculatorului: executarea programului pe calculator și obținerea rezultatelor sub o formă comodă pentru utilizator.

Scopul disciplinelor informatice este acela de a asigura formarea unor reprezentări privind regulile și metodele necesare rezolvării problemelor cu calculatorul, de formare a deprinderilor necesare pentru utilizarea calculatoarelor, de înțelegere a rolului calculatoarelor în diferite activități economico-sociale și a perspectivelor de dezvoltare a tehnicii de calcul.

Este necesar ca elevii să fie obișnuiți să aplice noțiunile informatice și în cadrul altor discipline școlare; astfel informatica și calculatorul își pot ocupa locul ce li se cuvine atât ca obiect de învățământ cât și ca mijloc de învățământ.

Calculatorul se poate folosi, în general, ca auxiliar al procesului de învățământ, la toate disciplinele școlare care solicită tehnica de calcul sau de reprezentare, începând cu vârste școlare destul de mici. Pentru cei mici, calculatorul poate fi folosit în jocurile cu caracter strategic, pentru citit, scris și desenat. În jocurile didactice mișcarea, culoarea și sunetul sunt elemente determinante ale interacțiunii jucător-mașină. În lupta pentru marcarea unui număr cât mai mare de puncte, jucătorul își dezvoltă atenția încercând diverse strategii pentru depășirea fazelor critice care apar în joc. Astfel începe formarea deprinderilor pragmatice ale gândirii la copii, această preocupare putând fi așezată astăzi pe același plan cu necesitatea dezvoltării reprezentărilor numerice și spațiale. Aici se formează și priceperea de a schematiza și abstractiza, element strict necesar pentru studiul tuturor disciplinelor școlare. În școala elementară, calculatorul se poate folosi și pentru îmbunătățirea scrisului la copii. Exercițiile de scriere asistate de calculator mențin mereu trează atenția elevului pentru a da literei forma sa completă, solicitând gândirea și precizia, avertizând eroarea și localizând-o. Dacă elevul îndepărtează vârful tocului care scrie pe un ecran de la modelul foarte fin și cu întrerupere a literei date, atunci se aprinde un bec, indicându-i-se locul unde ar trebui să fie vârful tocului.

Învățarea cu calculatorul are un demers activ, sprijinit pe caracterul interactiv al dialogului om-mașină.

Elevul învață singur și sigur, fără emoții, inhibiția care apare în procesul ascultării tradiționale (în fața tablei clasei) dispare. Munca cu calculatorul fixează atenția, solicită concentrarea și beneficiază de ajutorul acestuia la momentul oportun. Elevul caută adeseori “mașina” în scopul însușirii depline a cunoștințelor.

Calculatorul permite o mai bună intuire a fenomenului studiat, pe baza repetării acestuia până la înțelegerea deplină. În mod practic, variind parametrii de care depinde realizarea unei experiențe, se poate realiza studiul acesteia într-o mare varietate de exemplificări, adâncindu-i conținutul și sfera sau exploatând rezultatele dincolo de obiectul predat.

Este știut că în învățământul tradițional, o experiență nu poate fi repetată în timpul predării datorită constrângerilor de timp și de materiale. Adeseori, în predarea tradițională a fizicii, chimiei sau altor obiecte, profesorii sunt nevoiți să fixeze de la început parametrii experienței pentru a fii siguri că se ajunge la rezultatul așteptat. În noua tehnologie didactică, profesorul poate analiza mai întâi experiența după modelul clasic, simulând-o apoi pe calculator – prin varietatea parametrilor în limitele fenomenului studiat – până la înțelegerea și la asimilarea sa deplină.

Varietatea modelelor din realitatea practică, permite concretizarea abstractului, evidențierea mai rapidă a notelor comune esenței fenomenului sau procesului studiat. Conceptualizarea lor pe baza prelucrării și abstractizării în definiții, teoreme, legi, proprietăți, reguli, metode, procedee devine acum mai eficientă.

Calculatorul poate fi folosit pentru simularea unor experiențe dificile sau imposibil de realizat în laboratoarele clasice. Spre exemplu, există programe care simulează mișcarea corpurilor în spațiu, pe baza legii atracției universale, programe pentru studiul legilor dinamicii, a legilor lui Kepler, a legilor frecării, a mișcării browniene, a mișcării electronilor etc. În astfel de situații, folosirea graficii permite vizualizarea fenomenelor fizice și observarea acestora în mișcare. Folosirea calculatorului și a tehnicii de animație este de mare efect pedagogic în studiul transformărilor, al deplasărilor, în studiul locurilor geomerice și al secțiunii corpurilor geometrice.

Mai nou, lecțiile multimedia folosite în predarea limbilor străine, a geografiei, biologiei sau istoriei sunt deosebit de complexe și interesante cuprinzând atât text cât și sunet și imagine. Prezentarea acestor lecții necesită calculatoare performante ce au instalate: placa grafică corespunzătoare, placa de sunet, boxe, CD-player. Activitatea elevului, prin utilizarea lecțiilor mutimedia este mai bine dirijată spre acțiune, exploatare și descoperire personală.

Calculatorul conferă tehnologiilor didatice un caracter interactiv. Prin intermediul programului didactic, profesorul “realizează” un permanent dialog între mașină și cel care învață.

Atât pentru profesor, cât mai ales pentru elev, limbajul de programare trebuie să fie cât mai simplu.

Folosirea calculatorului solicită un studiu aprofundat al temei și spirit de cercetare al elevului.

Necesitatea realizării algoritmului și programului de rezolvare a problemei studiate solicită cunoașterea perfectă a teoriei. Conceptul de învățare și aplicare capătă, în acest context, o noua calitate – cu accent pe activitatea formativă, participativă și anticipativă a elevului. Folosirea calculatorului permite o dilatare a sferei de cuprindere a fenomenului studiat, și, în același timp, o comprimare a timpului folosit pentru studiu.

Calculatorul acordă dreptul la eroare celui ce învață punându-i la dispoziție comentariile și explicațiile necesare continuării lecției.

Dialogul dintre mașină și cel ce învață trebuie să fie cât mai apropiat de dialogul profesor-elev, deși nu va atinge total aceasta performanță.

Însușindu-și, în fața calculatorului o serie de cunoștințe, elevul se formează pe calea educației permanente, învață să-și aprecieze calitatea și durata pregătirii, învață să învețe.

Informatica și calculatorul dezvoltă spiritul algoritmic, programatic, operațional și organizatoric, rigoare în raționament și exprimare precisă, caracterul intensiv al muncii și spiritul aplicativ.

Folosirea calculatorului poate optimiza învățarea rapidă a unor meserii, este nelipsit în munca de cercetare și conducere, în informarea documentară, în toate domeniile permeabile algoritmizării.

Calculatorul ca mijloc de învățământ, permite o nouă formă de prezentare a lecțiilor, ilustrarea lor practică și integrarea cu cercetarea. Calculatorul nu poate însă înlocui profesorul, după cum cartea n-a putut face să dispară lecția de clasă și nici nu se poate substitui celorlalte mijloace de învățământ.

Pe plan mondial calculatoarele au pătruns în toate domeniile de activitate deci și în învățământ, devenind indispensabile.

Internetul a revoluționat lumea fiind considerat cea mai mare descoperire a secolului XX, rețeaua mondială Web permițând comunicarea pe întreg mapamondul.

Există însă și unele voci tehnocrate care vor să desființeze școala, afirmând că pentru fiecare familie un calculator și un set de programe ar fi suficiente pentru un învățământ autonom la domiciliu. Există și voci care dau alarma așa-zisei înstrăinări a individului, ca urmare a petrecerii cât mai mult timp în fața calculatorului; fenomenul acesta de izolare, de însingurare este tot mai frecvent pe plan mondial, mai ales în rândul tinerilor.

Într-adevăr, educația nu se poate reduce la informatică și calculator, iar un învățământ pe de-a-ntregul automatizat nu poate exista.

Practica arată că, pe măsura dezvoltării tehnicii și tehnologiei învățământului, sarcinile școlii și profesorului cresc.

Astăzi este evident că apariția informaticii și a calculatorului a sporit cu mult puterea științei și a tehnologiei, eficiența muncii științifice, posibilitatea aplicării rapide în practică a conținutului informațional. Informatica a devenit un factor important al progresului contemporan. Pregătirea organizată a tinerei generații în domeniul informaticii își va aduce contribuția la dezvoltarea componentei tehnice a învățământului și educației și la umanizarea continuă a acestei componente prin procesul muncii creatoare și al educaței permanente.

2.1.2. Formarea atitudinii științifice

Din structura acestei capacități cognitive fac parte:

respectul pentru munca și creația predecesorilor, a celor care au contribuit la dezvoltarea științei în general, și a informaticii, în special, atât în țara noastră cât și în întreaga lume;

disponibilitatea de a pune sub semnul întrebării autoritatea și produsul unei realizări, atunci când procesul de cunoaștere o impune, disponibilitatea întemeiată pe convingerea că autoritatea, în ultima instanță, nu o are decât practica, criteriul suprem al adevărului;

reținerea de la afirmații definitive, reținere datorată faptului că un anume proces de cunoaștere are caracter relativ;

încrederea că problemele dificile sunt abordabile cu metodele și mijloacele științei, încredere în interpretarea produselor cunoașterii, a raporturilor dintre domeniile cunoașterii și prevederea tendințelor lor de dezvoltare.

Atitudinea științifică este o capacitate foarte generală care controlează deciziile individului în domeniul respectiv.

O atitudine pozitivă îl face să aleagă frecvent o activitate din domeniul științei, îl face să consume o mare parte din timpul său pentru activități în acest domeniu.

Obiectivele generale către care trebuie să tindă studiul informaticii alcătuiesc o unitate dialectică, indestructibilă, impusă de relațiile dintre aceste capacități.

Obiectivele stabilesc faptul că în procesul educațional trebuie urmărită cu precădere dezvoltarea capacității de asimilare a produselor cunoașterii, apoi a capacității de socializare a cunoașterii, urmată de capacitatea de a acționa mai eficient și, în sfârșit, a capacității de a lua poziție în orice moment.

Măsura în care sunt atinse aceste obiective este măsura în care individul va putea răspunde la întrebările pe care i le pune societatea contemporană:

cât poate cunoaște lumea ?

cât de eficient utilizează strategiile cognitive?

ce randament are efortul său de cunoaștere ?

ce atitudine are față de rezultatele științei ?

2.1.3. Dezvoltarea creativității prin informatică

Așa cum arată publicațiile de specialitate, gândirea este un fenomen psihic legat de acțiune și derivat din acțiune. Astfel, răspunzând unor trebuințe, acțiunea se întâlnește cu situații incerte, când este nevoie de reflectare și de cercetare a realității în vederea reducerii riscului și a incertului. Gândirea intervine atunci când apar dificultăți în activități, când apar probleme.

Problema crează situația față de care numărul de reacții de care dispune subiectul se relevă insuficient sau neadecvat.

Etimologic, “pro-ballein” înseamnă să ți se pună în față o barieră, un obstacol: prin extensie, ceea ce conține o dificultate teoretică sau practică a cărei înlăturare este pusă sub semnul întrebării. Deoarece dificultatea se prezintă ca o lacună a cunoașterii, ea nu constă dintr-o singură întrebare, ci dintr-o necunoscută, astfel încât problema constă într-un sistem de întrebări asupra unei necunoscute.

Problemele apar atunci când așteptările noastre au fost înșelate, când teoriile noastre conduc la dificultăți, la contradicții, iar acestea pot surveni înăuntrul unei teorii, între două teorii diferite sau ca urmare a ciocnirii dintre teoriile și observațiile noastre.

Problema este aceea care ne provoacă să învățăm, să împingem mai departe cunoașterea, să experimentăm și să observăm.

Se spune că o întrebare devine problemă atunci când generează o stare psihică de curiozitate, de nedumerire, de uimire sau incertitudine, de neliniște în fața unui obstacol ce trebuie învins, a unor dificultăți teoretice sau practice de depășit, de rezolvat în fața noutății, a necunoscutului.

În adevăratul ei sens, o situație-problemă are un caracter de ipoteză, iar rezolvarea ei, în sine, este tocmai drumul conștient străbătut de la elaborarea ipotezei la verificarea și adaptarea ei.

O mare descoperire științifică sau o mare operă de artă este, desigur, rezultatul unei activități de elaborare și rezolvare de probleme. Soluția la o problemă îi vine gânditorului în mod frecvent sub forma unei sclipiri de intuiție, deși, poate un timp, el a întors problema pe toate fețele. Actele creatoare se bazează pe un volum mare de cunoștințe însușite anterior. Orice descoperire presupune un salt inductiv, o combinare a ideilor din sisteme de cunoștințe diferite, o folosire îndrăzneață a analogiilor, presupune un mare volum de deprinderi intelectuale, capacități ce nu pot fi dobândite decât prin elaborări și rezolvări de probleme cât mai variate.

Rezolvând un mare număr de probleme în condiții relativ constante, gândirea ajunge la structuri rigide și are posibilitatea de a opera numai în cadrul limitat al acestor condiții.

Dacă aplicațiile se extind la operații în condiții variate, gândirea dobândește mai multă suplețe și capacitate de adaptare.

Lărgirea domeniului de aplicabilitate formează capacități cum ar fi:

capacitatea de transfer;

capacitatea de a deriva idei noi dintr-o idee principală;

capacitatea de a explica și interpreta fenomenele noi prin prisma noțiunilor învățate;

capacitatea de a concretiza ideile și de a le raporta la cazuri particulare sau generale.

Într-un cuvânt se dezvoltă însușirile fundamentale ale creativității, adică flexibilitatea gândirii.

Gândirea creatoare este, după cum afirma G. Polya, aceea care crează, elaborează mijloace (procedee, metode) pentru rezolvarea unor tipuri de probleme. Cu cât numărul și varietatea problemelor la care pot fi aplicate mijloacele nou create sunt mai mari, cu atât creativitatea este mai mare.

Gândirea creatoare participă la elaborarea instrumentelor de cunoaștere, a mijloacelor de rezolvare a problemelor teoretice și practice, în timp ce gândirea productivă se folosește de aceste mijloace în funcționalitatea ei.

Când vorbim de creativitate în procesul de învățare trebuie să ne gândim la crearea propriului sistem de cunoștințe într-un domeniu.

Cultivarea creativității presupune lupta cu stereotipurile. Problemele pe care le rezolvă elevii trebuie să fie diverse ca mod de prezentare, dar încadrabile în algoritmi de rezolvare de anumite tipuri. În fața oricărei probleme, elevul trebuie pus în situația de a gândi ca în fața unei probleme noi și numai după acest act de gândire (cunoașterea, eventual recunoașterea problemei pe baza elementelor esențiale) se poate trece la încadrarea problemei individuale în categoria sau tipul de probleme căruia îi aparține.

Pentru a forma la elevi o gândire creatoare, ei trebuie puși în situații variate, mereu noi. În acest scop se folosesc o mulțime de procedee: dezvoltarea și complementarea treptată a unei probleme cunoscute, rezolvarea problemei prin mai multe procedee (metode) și alegerea celei mai economicoase, reformularea problemei prin introducerea necunoscutei drept cunoscută. Important este gradul de independență ce se acordă elevilor și rezolvarea problemei ca o activitate unitară care conduce la gândirea creatoare concentrată.

Din ansamblul elementelor sale specifice, informatica operează cu un subset de categorii și concepte aplicabile cercetării pedagogice. Nu toate laturile pedagogiei pot fi gândite strict cibernetic fără a forța interpretarea unora dintre ele. Pedagogia cibernetică își orientează cercetările spre determinarea modurilor de aplicare a structurii, modelării, algoritmizării și programării în domeniul instrucției și educației.

Un salt calitativ adus în planul instruirii de către pedagogia cibernetică îl constituie – respectându-se cerințele unei baze de principii psihopedagogice riguros organizate – conștientizarea subiectului, corelarea mai profundă între ce are de învățat acesta și cum anume să învețe.

Se poate vorbi din acest moment de o individualizare a actului educațional, ceea ce reprezintă, în definitiv, problema fundamentală a oricărei tehnologii de instruire.

Unealta directă a pedagogiei cibernetice o constituie instruirea programată – ca formă de organizare a procesului de învățare, în care subiectul se pregătește independent, parcurgând într-un ritm propriu și în mod activ o programă.

Programa cuprinde materia de învățat și prevede modalitățile explicite de însușire a ei, organizate într-o formă specifică, urmând cerințele logicii, psihologiei, pedagogiei și ciberneticii.

2.1.4. Asigurarea caracterului interdisciplinar între informatică și celelalte discipline de învățământ

Conceptul de asistare cu calculatorul a procesului de învățământ constă în utilizarea calculatorului în una sau mai multe din situațiile următoare:

Predarea unei lecții, a unui grup de lecții sau prezentarea unei secvențe dintr-o lecție în scopul optimizării procesului argumentării, al evidențierii mișcării cu ajutorul desenului de animație, al obținerii imediate a unor rezultate sau efecte așteptate, al accelerării procesului învățării și al dezvoltării spiritului aplicativ.

Verificarea cu calculatorul a unei lecții sau a unor secvențe din lecție, a unui capitol, a unei discipline de învățământ sau chiar a unei programe școlare – în cazul examenelor.

Învățarea cu calculatorul – pe baza unor programe informatice educaționale adecvate, efectuarea unor exerciții pentru a învăța anumite operații sau pentru a forma anumite deprinderi.

Dezvoltarea și accelerarea muncii de creație folosind informatica și calculatorul.

O mare parte din programele didactice sunt prevăzute cu exerciții de control, răspunsurile fiind uneori alese dintr-o listă de variante afișate pe display. În cazul unor răspunsuri eronate, cel ce învață este dirijat printr-un sistem de help-uri, să reia studiul prin explicații mai detaliate ale problemelor.

Pentru cei mai mulți, calculatorul în învățământ și educație înseamnă însă activitatea individuală a unui elev care asistă și completează pentru un timp dat activitatea profesorului.

Dezvoltarea deosebită în domeniul instruirii asistate de calculator implică utilizarea calculatorului într-o mare varietate de moduri noi, dintre care putem enumera:

procesor de texte pentru pregătirea rapoartelor, proiectelor sau materialelor didactice;

sistem de înmagazinare și gestiune a datelor;

sistem multimedia pentru prelucrarea de text, imagini, grafice, sunet;

instrument-asistent pentru o gamă largă de activități: calcule științifice, analiza statistică, prelucrare de tabele, proiectare automată etc.;

instrument pentru comunicarea și informarea la distanță prin rețeaua mondială Web;

instrument pentru învățarea la distanță utilizând noi sisteme de operare și noi pachete de programe;

sistem pentru conducerea activităților experimentale sau pentru simularea unor experiențe și legi ale naturii foarte greu sau imposibil de reprodus în laboratorul școlii.

Toate acestea sunt argumente care pledează atât pentru predarea despre calculatoare cât și pentru predarea cu ajutorul calculatorului.

Având în vedere progresele realizate atât în ceea ce privește construcția echipamentelor cât și realizarea de programe, este facilitată introducerea pe scară largă și eficientă a calculatoarelor în întreaga sferă a proceselor de predare-învățare.

2.2. Obiectivele studierii informaticii în contextul actual al procesului de învățământ

Experții apreciază că toate profesiunile și meseriile își schimbă în mod profund conținutul, chiar dacă denumirile se păstrează. Trei fenomene influențează aceste mutații și anume:

creșterea nivelului general al instruirii;

penetrarea microinformaticii și a altor tehnologii;

organizarea mai bună a muncii.

Accelerarea acestor procese ilustrează aspecte noi în evoluția profesiunilor cum ar fi:

pătrunderea informaticii în toate domeniile de activitate;

înglobarea criteriilor economice;

necesitatea unei pregătiri noi, simultan în tehnică și informatică, sau tehnică, informatică și coducere;

cerința creșterii capacității umane de adaptare, creșterea capacității de abstractizare, de analiză și raționament logic, printr-o pedagogie mai degrabă a acțiunii decât a cunoașterii.

Restructurarea gamei profesiunilor va antrena modificări importante în sistemul de pregătire profesională. Deosebirile dintre învățământul tehnic și celelalte forme de învățământ se vor atenua.

În deceniul următor, ponderea în care va fi folosit timpul de lucru pentru ridicarea calificării personalului muncitor va ajunge la 10-16%. Această metodă de utilizare a timpului de lucru a început deja să se aplice în țările dezvoltate industrial, într-o serie de întreprinderi în care se implementează noile tehnologii bazate pe generalizarea utilizării calculatoarelor.

Experiența dobândită pe plan mondial în domeniul instruirii asistate de calculator, permite să se afirme deja că există o afinitate naturală a copiilor pentru noua tehnologie.

Ținând cont de faptul că în toate domeniile de activitate s-au introdus sau se vor introduce cât de curând calculatoare, un om poate fi considerat alfabetizat numai în cazul în care are cunoștințe minimale de informatică și deprinderi practice de utilizare a calculatorului. Deci putem vorbi de o necesitate obiectivă de introducere a informaticii în activitatea instructiv-educativă din școli și în afara școlilor, ținându-se seama în permanență de particularitățile culturale și social-economice ale fiecărei țări, aceasta presupunând dotarea corespunzătoare a școlilor, pregătirea cadrelor și instructorilor, experimentarea și validarea unor programe de instruire teoretică și practică a copiilor, realizarea unor studii și cercetări interdisciplinare.

Educația nu trebuie schimbată în totalitate, fiind necesară doar efectuarea unor modificări corespunzătoare pentru utilizarea optimă a calculatoarelor în scopul creșterii eficienței procesului de instruire și educație, precum și completarea sistemului cunoștințelor de bază.

Deci, în viitor, studiul disciplinelor fundamentale și informaticii (ca o nouă disciplină fundamentală) va avea un rol hotărâtor în formarea cadrelor necesare economiei naționale.

Informatica și calculatorul asigură baza necesară pentru studiul la un nivel calitativ superior a numeroaselor discipline din planul de învățământ. Astfel, folosirea calculatorului în predarea unor discipline permite: intuirea mai profundă a unor noțiuni, modelarea unor obiecte și procese complexe, greu de urmărit și înțeles în absența calculatorului, sporirea gradului de participare a elevului la lecție, stimularea lucrului individual.

Tehnologia educațională pentru studiul informaticii este determinată prin obiectivele educaționale ale acestei discipline, prin conținutul care trebuie însușit, prin mijloacele care asigură învățarea, prin modelul de proces în cadrul căruia se va face învățarea și prin evaluarea obiectivelor propuse. Sintetic se răspunde la trei întrebări:

Spre ce tindem în învățarea informaticii?

Cum să ajungem acolo?

Cum vom ști că am ajuns acolo?

Aceste aspecte ce trebuie luate în considerare atunci când se proiectează și se realizează un proces educațional definesc ceea ce astăzi este denumit tehnologie educațională.

Proiectarea unui act de învățare, oricare ar fi întinderea acestuia (lecție, capitol) presupune înțelegerea profundă a obiectivelor generale de către profesor și elaborarea de către acesta a obiectivelor particulare specifice etapei respective, cunoașterea performanțelor inițiale ale elevilor, a capacității acestora, determinarea acelei părți din conținutul general al disciplinei care poate fi însușită de către elevi în etapa aleasă, a mijloacelor de care se vor folosi aceștia în timpul învățării, alegerea metodelor și procedeelor, elaborarea instrumentelor de evaluare a probei cu care se va stabili în ce măsura s-a realizat ceea ce s-a propus.

Obiectivele generale, care asigură unitatea pe plan național în învățarea informaticii, sunt acele capacități care trebuie formate la elevi în anii în care studiază.

În acest context, prin obiectivele disciplinelor de informatică se evidențiază:

sistematizarea aspectelor algoritmice ale noțiunilor studiate în matematică;

însușirea noțiunilor de bază privind algoritmizarea;

formarea reprezentărilor referitoare la posibilitățile de automatizare a execuției;

consolidarea laturilor practică și tehnică ale algoritmizării, legate de implementarea concretă a algoritmilor pe microcalculatoare pentru diverse probleme date;

cunoașterea bazelor tehnicii moderne de calcul pornind de la studiile principiilor de operare ale microcalculatoarelor;

însușirea noțiunilor fundamentale și a metodelor de elaborare a programelor într-un limbaj de programare;

formarea reprezentărilor privind etapele de soluționare a problemelor cu ajutorul calculatorului;

cunoașterea principalelor domenii de utilizare a tehnicii de calcul și a rolului teoriei în dezvoltarea societății.

Obiectivele particulare care asigură diversitatea învățării informaticii, trebuie să aibă un caracter comportamental și se vor formula de fiecare profesor.

Caracterul comportamental al unui obiectiv va fi asigurat de următorii indicatori:

cine va manifesta comportamentul vizat (elevul, grupa, clasa);

care sunt comportamentele observabile care demonstrează atingerea obiectivului;

care sunt produsele acestor comportamente;

în ce condiții se vor manifesta aceste comportamente;

care sunt criteriile care permit evaluarea produsului așteptat.

Atingerea obiectivelor operaționale corespunzătoare fiecărei etape este o condiție a realizării capacităților vizate.

În studiul informaticii se pornește de la ideea că la elev trebuie dezvoltate următoarele capacități:

capacitatea de asimilare;

capacitatea de investigare experimentală;

capacitatea de exprimare în limbajul științei;

capacitatea de transfer;

capacitatea de a lua atitudine științifică.

Obiectivele fundamentale ale informaticii vizează dezvoltarea capacităților aflate în stadii incipiente și formarea de noi capacități.

Capacitatea de asimilare este prima care trebuie luată în considerare atunci când se proiectează conducerea unui proces de învățare. Ea exprimă disponibilitatea pentru cunoașterea pe care elevul o are și care trebuie dezvoltată.

Cercetările au arătat că, pentru ca un elev să-și însușească ceva, trebuie să fie înzestrat cu anumite scheme de acțiune, la care trebuie să supună obiectul cunoașterii lui, pentru a-l traduce în plan mental.

Tabloul schemelor care trebuie dezvoltate și formate la elevi este alcătuit din:

schemele senzomotorii;

schemele perceptive;

schemele spațiale;

schemele logice;

schemele numerice;

schemele cauzale.

Capacitatea de asimilare constă în capacitatea elevului de a utiliza o categorie sau alta, sau pe toate deodată într-un act de cunoaștere. Cu cât repertoriul acestor scheme este mai bogat și mai dezvoltat, cu atât elevul poate cunoaște mai mult și mai profund.

Dacă îi lipsește o schemă sau o categorie de scheme, elevul este “orb” pentru această categorie de proprietăți care pot fi extrase cu ajutorul acestor scheme.

Prin studiul informaticii, capacitatea de asimilare în structura căreia intră toate schemele de acțiune ale individului, se dezvoltă intensiv pentru că ea le solicită în fiecare act de învățare, de orice întindere ar fi aceasta.

Capacitatea de investigare experimentală este, în esență, capacitatea de a utiliza metoda experimentului științific în cunoașterea realității.

În structura acestei capacități intră trei categorii de comportamente:

cele de anticipare, prin care se ajunge la formarea ipotezei;

cele de efectuare, prin care se ajunge la realizarea experimentului;

cele de evaluare, prin care se ajunge la validarea rezultatelor.

Comportamentele de anticipare sunt:

identificarea sistemului care va fi supus cunoașterii;

delimitarea procesului în care se află acest sistem;

determinarea factorilor care condiționează procesul și a relațiilor dintre ei;

formularea ipotezelor cu privire la categoriile din care fac parte relațiile de studiat;

proiectarea experimentului (stabilirea etapelor, a ordinii lor și a mijloacelor necesare).

Comportamentul de efectuare:

realizarea experimentului;

înregistrarea datelor;

prelucrarea datelor;

interpretarea rezultatelor.

Comportamentul de evaluare:

formularea concluziei;

confruntarea cu ipoteza.

Un experiment trebuie să se încheie cu o concluzie, extrasă de elevi și confruntată cu ipoteza. În tot acest timp, profesorul îi dirijează și îndrumă, dar nu le substituie nici una din cele trei faze.

Dezvoltarea capacității de investigare experimentală constituie calea pe care elevul poate fi format ca un om realist, activ și lipsit de idei preconcepute, ca un om care cunoaște și transformă realitatea prin acțiunea lui directă.

Capacitatea de exprimare în limbajul științei se evidențiază mai întâi în însușirea corectă a schemelor logice, a limbajului pseudocod, a instrucțiunilor limbajelor de programare utilizate, apoi în corectitudinea utilizării lor și în sfârșit, în unitatea dialectică dintre concizie și explicitare în folosirea stilului științific al noțiunilor studiate.

Dezvoltarea capacității de exprimare implică, deci, sporirea rezervei de mijloace, perfecționarea sistematică a celor existente, fixarea informației noi cu aceste mijloace, dar mai ales, prelucrarea acesteia cu mijloacele de care dispune elevul, prelucrarea și producerea de noi informații.

Această capacitate constituie tocmai disponibilitatea de a folosi cât mai mult din ceea ce au produs înaintașii și de a pune la dispoziția contemporanilor sau urmașilor produsele cunoașterii individuale.

Capacitatea de transfer este, în esență, capacitatea de a utiliza o experiență acumulată anterior într-o situație nouă. Ea se poate manifesta în momentul în care se observă că o performanță pentru o sarcină ce influențează procesul rezolvării unei alte sarcini.

Astfel, în elaborarea unor algoritmi, transferul se manifestă prin aplicarea unor metode însușite anterior.

Dezvoltarea capacității de transfer este impusă de nevoia de a folosi din ce în ce mai bine, mai eficient, ceea ce deja ai învățat.

Învățarea, în esența ei, se justifică chiar prin acestă capacitate, pentru că este lipsit de sens să se învețe ceva ce nu se folosește niciodată sau se folosește foarte puțin.

Cel mai bun mijloc de a trezi interesul pentru ceva este de a-l prezenta astfel încât să îi apară celui care învață ca meritând să fie cunoscut. Aceasta înseamnă că respectivele cunoștințe să apară ca utilizabile și în afara situației în care sunt însușite.

2.3. Obiectivele instruirii pentru disciplinele de informatică

Literatura pedagogică evidențiază patru timpi ai tehnicii de elaborare ai unui obiectiv, redați în figura următoare :

Pentru evitarea unor greșeli de formulare a obiectivelor operaționale trebuie ținut cont de următoarele:

fiecare obiectiv trebuie să exprime formarea unui comportament care se poate manifesta ca o acțiune unitară;

obiectivele operaționale să acopere în întregime prevederile programei școlare;

prin formularea obiectivelor să se evite orice suprapuneri privind conținutul lor;

formularea obiectivelor să permită înțelegerea fără echivoc de către orice altă persoană care le-ar citi comportamentul dorit a se forma;

în formularea obiectivelor operaționale ale unei teme să fie respectate obiectivele generale ale disciplinei.

Pentru a se descrie cu claritate un comportament, trebuie să se aleagă un verb care să exprime cu claritate o acțiune. În continuare prezint modalitățile în care pot fi formulate obiectivele operaționale, ținând cont de tipul specific de activitate ce urmează a fi realizată:

Pentru cunoaștere : a defini, a distinge, a identifica, a cunoaște, a ști, a aminti, a redescoperi, a căuta.

Pentru înțelegere : a înțelege, a transforma, a ilustra, a diferenția, a explica, a estima, a extinde.

Pentru aplicare : a aplica, a generaliza, a alege, a dezvolta, a utiliza, a organiza, a clasifica, a transforma.

Pentru analiză : a distinge, a detecta, a identifica, a recunoaște, a clasifica, a deosebi, a analiza, a compara.

Pentru sinteză : a relata, a produce, a transmite, a modifica, a crea, a asambla, a generaliza, a se documenta, a organiza, a construi.

Pentru evaluare : a argumenta, a evalua, a decide, a propune, a arăta, a considera, a măsura, a aprecia, a valida.

Obiectivele generale pentru clasele de liceu, profilul matematică-informatică , cu referință la disciplinele de informatică :

stimularea gândirii independente a elevilor;

însușirea de către elevi a fondului de cunoștințe teoretice și formarea deprinderilor practice pentru a utiliza un calculator;

formarea gândirii algoritmice, însușirea deprinderilor și tehnicilor necesare practicării programării structurate;

însușirea programării în limbaje de largă circulație, astfel încât absolventul de liceu să poată proiecta, depana și întreține produse program;

formarea gândirii logice, care să permită elevului să aprecieze corect situațiile concrete specifice, cu scopul de a desprinde soluții optim;

formarea deprinderilor de aplicare corectă a soluțiilor alese.

Voi prezenta în continuare cîteva din obiectivele specifice disciplinelor de informatică, sistematizate în conformitate cu programa școlară și exprimate prin performanțele comportamentale ale elevului.

a)Obiective cognitive

însușirea limbajului algoritmic specific domeniului informatic;

formarea gândirii algoritmice proprie dialogului om-calculator;

aprofundarea structurilor de control fundamentale și, pe această bază, deprinderea programării structurate;

însușirea corectă și folosirea cu exactitate a principalelor noțiuni, definiții, concepte, legi, principii, care stau la baza programării structurate;

învățarea și utilizarea unor metode de reprezentare a algoritmilor (scheme logice, pseudocod), cu evidențierea avantajelor și dezavantajelor fiecărei metode;

utilizarea modularizării în realizarea aplicațiilor;

exploatarea eficientă a facilităților de programare în Turbo Pascal și C, utilizând permanent programarea structurată – predarea noțiunilor de programare prin structuri, nu prin instrucțiuni;

însușirea modului de lucru conversațional;

asimilarea noțiunilor fundamentale, referitoare la structura limbajelor de programare, cu exemplificări din diverse implementări ale limbajelor Turbo Pascal sau C;

proiectarea structurată a aplicațiilor, cu exemplificări din celelalte discipline școlare;

posibilitatea de a transfera cunoștințele dobândite la alte discipline (fizică, matematică, desen tehnic, studiul materialelor, electrotehnică și electronică aplicată, măsurări electrice și electronice, etc.) pentru a găsi explicația anumitor fenomene sau pentru construirea soluțiilor unor probleme de ordin teoretic sau practic din cadrul disciplinelor de informatică;

formarea capacității de a analiza, a înțelege și a explica, algoritmii pe care se bazează rezolvarea problemelor și de a le transpune în limbaj verbal, grafic, matematic;

cunoașterea, memorarea, reproducerea corectă a definițiilor și algoritmilor de calcul și posibilitatea de a transfera cunoștințele în condiții schimbate precum și de a extrapola cunoștințele la rezolvarea problemelor matematice, fizice sau ale altor domenii de instruire;

formarea deprinderilor de utilizare corectă a tabelelor, standardelor, caracteristicilor, ecuațiilor și de a le aplica în rezolvări de probleme, respectiv de a alege soluții optime, justificând alegerea făcută;

formarea capacității de înțelegere, explicare, interpretare corectă a algoritmilor utilizați;

asimilarea unor metode și tehnici de programare, metode menite să optimizeze soluțiile.

b) Obiective psihomotorii

deprinderea lucrului practic la calculatoarele I.B.M.;

formarea deprinderilor de a instala și întreține sisteme de operare și aplicații utilitare;

formarea deprinderilor de exploatare corectă și rațională a echipamentelor de calcul, de sesizare a regimurilor anormale de lucru;

însușirea celor mai uzuale tehnici de depanare, punere la punct și utilizare a programelor;

formarea deprinderilor de calcul a parametrilor corespunzători unor regimuri impuse;

formarea deprinderilor de execuție (construcție) a unor lucrări simple de întreținere sau reparații;

formarea capacităților de testare a sistemelor de calcul, pe baza cărora să se poată trage concluzii asupra fiabilității și randamentului, etc.;

c) Obiective afective

formarea convingerii că utilizarea echipamentelor de calcul este o condiție importantă a modernizării proceselor de lucru, cu toate implicațiile economice și sociale ce derivă de aici: creșterea productivității, a standardului de viață etc.;

formarea convingerii că studiul aprofundat, temeinic al acestei discipline, este de largă utilitate, putânduse aplica întro serie de alte domenii;

formarea unei atitudini pozitive față de muncă și față de producătorii de bunuri materiale, de grijă și respect față de baza materială a școlii, a laboratoarelor de informatică;

formarea convingerii că asimilarea și respectarea regulilor de protecția muncii este o condiție “sine qua non” a păstrării integrității corporale, a vieții chiar;

cunoașterea realizărilor românești și pe plan mondial în ceea ce privește construcția de echipamente de calcul, a preocupărilor, perspectivelor și a unor personalități și firme de prestigiu din acest domeniu;

formarea unor înclinații de angajare voluntară a elevilor în investigarea fenomenelor și legilor specifice disciplinei, element ce poate furniza satisfacții, siguranță în pregătirea viitoarei profesii și, în final, un atașament mai accentuat față de aceasta.

CAPITOLUL III

ELEMENTE DE TEORIA MATRICELOR

3.1. Noțiuni și concepte preliminarii

Fie matricele

A = (aij), i = 1, 2,…, m, j=1, 2,…, n

B = (bij), i = 1, 2,…, n, j=1, 2,…, p

C = (cij), i = 1, 2,…, n, j=1, 2,…, p

D = (dij), i = 1, 2,…, p, j=1, 2,…, q

Elementele matricelor sunt numere reale sau complexe.

Definiție. Prin matrice sumă E = B + C înțelegem matricea E = (eij) de tip nxp, unde eij = bij + c ij . Mai mult, B + C = C + B.

Definiție. Prin matrice produs F = ( fij) de tip mxp unde

Este adevărat că:

A(B + C) = AB + AC și

(B + C)D = BD + CD

atâta timp cât dimensiunile sunt compatibile. Nu este adevărat că AB = BA chiar dacă m = n = p. Dacă AB = BA spunem că A și B comută.

Definiție. Numim matrice nulă matricea care are toate elementele egale cu zero. Această matrice o vom nota O. Dacă pentru orice i și j avem -bij = cij atunci B + C = O.

Fie conjugatul numărului și fie A matricea obținută din înlocuirea elementelor cu . Deoarece conjugata sumei a două numere este suma conjugatelor și conjugata produsului este produsul conjugatelor rezultă .

Definiție. Prin transpusa unei matrice A = (aij) de tip mxn înțelegem matricea At = (gij), unde gij = aji .

Proprietăți:

(B + C)t = Bt + Ct

(AB)t = BtAt

(ABD)t = DtBtAt

Definiție. Prin conjugata transpusei A* a matricei A înțelegem matricea . Deci și .

Definiție. A se numește matrice simetrică dacă și numai dacă A = At.

Definiție. AC se numește matrice hermitiană dacă și numai dacă A*= A. Aceasta cere evident ca A să fie de tip mxm.

Dacă AR atunci A este hermitiană dacă și numai dacă A este simetrică.

Definiție. A se numește matrice simetrică și hermitiană dacă și numai dacă A este reală și A = At.

Definiție. H este matrice diagonală dacă și numai dacă H este matrice pătratică și hij = 0 dacă i j. Considerând hi = hii , matricea diagonală va fi notată h1 , h2 ,…, hn sau diag(h1 , h2 ,…, hn).

Definiție. H este matrice scalară dacă și numai dacă H este matrice diagonală ale cărei elemente hii = h.

Proprietăți:

hA = Ah = AH

hB = Bh = HB

Dacă h = 1 rezultă matricea identică I și avem:

IA = AI = A

Definiție. Dacă toate elementele de sub diagonala principală a matricei pătratice A de ordin n sunt zero atunci A se numește matrice superior triunghiulară. Dacă în plus, toate elementele de pe diagonală sunt zero atunci A se numește strict superior triunghiulară.

Definiție. Dacă toate elementele aflate deasupra diagonalei principale a matricei pătratice A de ordin n sunt zero atunci A se numește matrice inferior triunghiulară. Dacă în plus, toate elementele de pe diagonală sunt zero atunci A se numește strict inferior triunghiulară.

Definiție. Dacă A este pătratică și K este o matrice astfel încât AK=I atunci K este unică, o notăm cu A-1 și o numim inversa matricei A.

A-1A = AA-1 = I

Matricea pătratică A este nesingulară dacă și numai dacă există A-1. Dacă m = n = p și există A-1 și B-1 atunci (AB)-1 = B-1A-1.

Definiție. Matricea pătratică A este unitară dacă și numai dacă dacă A* = A-1 și este ortogonală dacă și numai dacă A* = A-1 = At .

Definiție. Se numește determinant de ordinul n al matricei pătratice A un număr notat det A = Dn = A = aij, i =1, 2,…, n , j = 1, 2,…, n și definit prin unde este unul și numai unul din numerele de pe fiecare linie și coloană ale lui A și unde suma se extinde peste toate permutările posibile p1p2…pn ale numerelor de la 1 la n. De asemenea, sgn(p1p2…pn) este 1 după cum permutarea este pară sau impară.

Proprietăți ale determinanților:

Dacă A este matrice triunghiulară atunci det(A) este produsul elementelor diagonale.

Determinantul numit minorul lui aij este asociat cu fiecare element aij al matricei pătratice A și este definit prin ștergerea din matricea A a liniei și coloanei ce conțin elementul aij . Când minorul este înmulțit cu (-1)i+j numărul rezultat este numit cofunctor al lui aij . Acest cofunctor îl notăm cu Aij .

.

Dacă matricea are două linii identice atunci .

Definiție. Se numește adjuncta matricei A matricea asociată K = (kij), unde Kij = Aji și se notează adj(A).

Datorită proprietăților de mai sus se poate observa că:

Aadj(A) = det(A) I

Dacă det(A) 0 atunci A-1 poate fi scrisă ca (fij) unde f ij = Aij/det(A) și cum det(det(A)I) = (det(A))n atunci det(adj(A)) = (detA))n-1.

Dacă det(A) = 0 atunci nu există A-1.

Matricea pătratică de ordin n este nesingulară dacă și numai dacă ea este de rang n. Un sistem de ecuații liniare are soluții dacă și numai dacă matricea coeficienților are același rang cu matricea extinsă (formată prin adăugarea unei coloane a termenilor liberi la matricea coeficienților). Un sistem de m ecuații omogene cu n necunoscute are soluție netrivială dacă și numai dacă rangul matricei coeficienților este mai mic decât n.

Definim vectorul ca matrice de tip nx1 ale cărei elemente sunt reale sau complexe. Produsul intern a doi vectori din spațiul Vn este definit astfel: (u, v) = u*v

Exemplu:

Dacă u = (2 + 3i, 4 + i), iar v = (1 + i, 1 – i)

atunci (u, v) = (2 – 3i)(1 + i) + (4 – i)(1-i) = 8 – 6i

Pentru scalarul c și vectorii u, v și w produsul intern e un număr complex astfel încât:

(u, v) = ()

(u, cv) = c(v, u)

(u + v, w) = (u, w) + (v, w)

(u, v + w) = (u, v) + (u, w)

(u, u) 0, (u, u) = 0 dacă și numai dacă u = 0

(cu, v) = c(u, v)

Definiție. Vectorii u și v sunt ortogonali dacă și numai dacă (u, v) = 0.

Lungimea vectorului v este notată cu și este . Vectorul unitate este vectorul de lungime unu. O mulțime finită de vectori u1, u2,…un este o mulțime ortogonală dacă și numai dacă (ui, uj) = 0 pentru i j și este ortonormată dacă fiecare vector este de lungime unu.

Matricele A1, A2,…, Am de tip pxn sunt liniar dependente dacă și numai dacă există scalarii c1, c2,…, cm nu toți zero astfel încât c1A1 + c2A2 + … + cmAm = 0. In caz contrar, spunem că sunt liniar independente. Definiția este aplicabilă, în particular, pentru matrice de tip nx1. Un spațiu vectorial este de dimensiune q dacă și numai dacă q vectori liniar independenți aparțin spațiului și oricare q+1 vectori din spațiu sau mai mulți sunt liniar dependenți. Orice vector din spațiu se poate scrie ca o combinație liniară de acești vectori (cei q vectori liniar independenți). Din acest motiv, o astfel de mulțime de q vectori liniar independenți este numită bază pentru spațiul respectiv (spațiul de dimensiune q). Fie (e1, e2,…,en) o bază a spațiului Vn unde ei = (0, 0,…, 1,…, 0)n. Orice vector uVn se scrie:

Fie mulțimea de vectori u1, u2,…, un+1 din Vn unde atunci există scalarii c1, c2,…, cn+1 nu toți nuli astfel încât:

.

Dacă sunt dați m vectori u1, u2,…, um atunci matricea U = (u1 u2 … um) de tip nxm este definită în formă pariționară. Invers, orice matrice U de tip nxm determină în mod unic m matrice coloane care pot fi construite ca vectori. Pentru orice matrice U de tip nxm, numărul maxim de coloane liniar independente este numit rangul coloanelor; numărul maxim de linii liniar independente este numit rangul liniilor. Se poate vedea că aceste numere sunt egale între ele și egale cu rangul matricei U anterior definit. Mai mult, rangul matricei U este egal cu rangul lui U* și egal cu rangul lui Ut. Dacă U-1 există, acesta are același rang cu U.

O matrice de ordin n al cărei rang este rxn poate fi scrisă ca produs de două matrice de tip nxr respectiv rxn fiecare de rang r. Invers, dacă două astfel de matrice fiecare de rang r se înmulțesc, putem găsi întotdeauna matricea produs.

Submatricele principale ale matricei A = (aij) sunt matricele:

, , ,…, A

Dacă principalele submatrice ale matricei pătratice A sunt nesingulare, ele pot fi scrise (nu în mod unic) ca produs de două matrice una inferior triunghiulară și una superior triunghiulară, unde elementele de pe diagonala principală a matricei inferior truinghiulară sunt egale cu unu.

Folosind partiționarea, A poate fi scrisă astfel:

unde Ar-1 este submatricea principală de rang r-1 a matricei A. Ar-1 este de forma:

A r-1 = L r-1 U r-1

unde Lr-1 și Ur-1 sunt nesingulare.

Fie și atunci:

unde b r r = a r r – s’w.

Definiție. Două matrice A, B Rnxn se numesc asemenea dacă există o matrice nesingulară S Rnxn astfel încât B = S-1AS. Se notează A B.

Definiție. Două matrice A, B Knxn se numesc ortogonal asemenea dacă există o matrice ortogonală Q Rnxn astfel încât B = QtAQ.

CAPITOLUL IV

PROCEDURI DE TRIANGULARIZARE ȘI FACTORIZARE A MATRICELOR

4.1. Proceduri de triangularizare

Procedurile de triangularizare superioară a unei matrice ARnxn se bazează pe o schemă de eliminare atribuită lui Gauss.

Triangularizarea superioară a matricei A se realizează într-un număr finit de etape în care se construiesc matricele A(1) = A, A(2), …, A(n) de forma:

, .

Să presupunem că am construit matricea A(k), , și că . Elementul îl vom numi pivot.

Fie matricea :

unde : ,

Matricea va fi :

.

Elementele matricei se calculează cu formulele :

Expresia este echivalentă cu .

Cele patru elemente care intervin în această expresie determină în matricea un dreptunghi cu un vârf în pivot. Regula de calcul în această expresie este regula dreptunghiului.

Matricea se transformă în matricea după următoarele reguli :

R1. liniile 1, 2,…, k și coloanele 1, 2,…, k-1, (k > 1), nu se modifică

R2. elementele subdiagonale din coloana k se anulează;

R3. elementele situate în liniile și coloanele k+1, k+2,…,n se transformă după regula dreptunghiului.

Aceasta este metoda eliminării a lui Gauss.

Dacă , atunci matricea finală va fi o matrice superior triunghiulară. Condiția ca toți pivoții să fie nenuli este echivalentă cu :

unde .

Matricea M = Mn-1Mn-2 ·…·M2M1 este o matrice inferior triunghiulară, nesingulară.

Am demonstrat astfel următoarea teoremă :

Teoremă. Dacă matricea satisface condiția atunci există o matrice inferior triunghiulară, nesingulară, astfel încât matricea MA = R este superior triunghiulară.

Să presupunem că în etapa k elementul . În acest caz se folosește una din următoarele metode :

1˚. Pivotare parțială. Se caută în coloana k acel element cu proprietatea :

Dacă , atunci . În acest caz Mk = I.

Dacă , atunci se permută liniile k și ik. Acestă permutare se poate face prin înmulțirea matricei , la stânga, cu matricea Pk obținută din matricea unitate prin permutarea liniilor k și ik. Se aplică în continuare metoda lui Gauss matricei .

Teoretic, în final se obține matricea superior triunghiulară , unde M=Mn-1Pn-1·…·M2P2M1P1. În acest produs considerăm Pj = I atunci când în etapa j nu se efectuează permutări de linii.

Deoarece , putem scrie :

unde :

Deoarece matricele , , sunt inferior triunghiulare rezultă că matricea este deasemenea inferior triunghiulară.

Am demonstrat următoarea teoremă :

Teoremă. Pentru orice matrice , există o matrice de permutare și o matrice inferior triunghiulară astfel încât matricea este superior triunghiulară.

2˚. Pivotare totală. În această metodă se determină elementul cu proprietatea :

Dacă atunci . Vom lua Mj = I, .

Dacă atunci se permută liniile k și ik , apoi se permută coloanele k și jk . Aceste permutări se pot realiza prin înmulțirea matricei la stânga cu Pk (din metoda pivotării parțiale), iar la dreapta cu matricea Sk obținută din matricea unitate prin permutarea liniilor k și jk .

Teorema precedentă are în acest caz următorul enunț :

Teoremă. Pentru orice matrice , există o matrice inferior triunghiulară și două matrice de permutare P, S astfel încât matricea este superior triunghiulară.

Metodele de pivotare parțială sau totală se recomandă a fi utilizate în general, nu numai în cazul când într-o anumită matrice elementul este nul. Aceste metode asigură stabilitate numerică algoritmului de triangularizare și evită situațiile în care erorile de rotunjire în calculator au efecte catastrofale asupra rezultatelor finale.

Exemplu. Să se triangularizeze matricea:

Soluții.

a) În cazul algoritmului obișnuit (metoda lui Gauss), fără pivotare parțială sau totală, se parcurg următoarele etape:

Etapa 1.

Etapa 2.

b) Pivotare parțială.

Etapa 1.

Etapa 2.

.

c) Pivotare totală.

Etapa 1.

Etapa 2.

4.2. Proceduri de factorizare

4.2.1. Factorizarea LR

În acest paragraf vom prezenta principalele proceduri de factorizare LR a unei matrice .

Definiție. Fie . O descompunere de forma:

A = L . R, (2.4)

unde L este o matrice inferior triunghiulară, iar R este o matrice superior triunghiulară, se numește factorizare LR a matricei A.

Rezultatul următor este o consecință imediată a teoremei 2.1.

Teoremă. Dacă matricele , sunt nesingulare, atunci există o factorizare LR a matricei A în care L este o matrice nesingulară.

Demonstrație. Fie M = Mn-1 … M2M1 matricea obținută în procedura de triangularizare a matricei A. Deoarece M este o matrice inferior triunghiulară, nesingulară, rezultă că L – M-1 este inferior triunghiulară și nesingulară. Din egalitatea A(n) = M . A rezultă A = L . R, unde R = A(n) este o matrice superior triunghiulară.

Teorema este demonstrată.

Comentariu. Dacă:

atunci:

Avem:

deoarece .

Rezultă:

.

Atunci:

deoarece pentru orice p și g, p < q, și deci:

.

În final se obține:

Exemplul 2.8. Fie:

Etapa 1.

,

Etapa 2. m32 = 1

,

Matricele:

,

realizează o factorizare LR pentru matricea A.

Comentariu În calculator toate calculele se pot face în matricea A. Pentru aceasta în etapa k elementele matricei A se transformă astfel:

1. Liniile 1, 2, …, k și coloanele 1, 2, …, k – l, (k > 1), nu se modifică.

2.

3.

În final matricea A va fi:

de unde:

Exemplu Pentru matricea A din exemplul precedent avem:

Rezultă:

Definiție. Factorizarea LR în care elementele diagonale ale matricei L sunt egale cu 1 se numește factorizare Doolittle.

Pentru o matrice A factorizarea Doolittle este unică. Într-adevăr, dacă A = Li . Ri, i = 1, 2, sunt două astfel de factorizări, atunci din:

L1 . R1 = L2 . R2

rezultă:

Matricea est inferior triunghiulară cu elementele diagonale egale cu 1, iar matricea este superior triunghiulară. De aceea egalitatea precedentă poate avea loc dacă și numai dacă:

Rezultă de aici: .

Definiție Factorizarea LR în care elementele diagonale ale matricei R sunt egale cu 1 se numește factorizare Crout.

Unicitatea factorizării Crout se demonstrează analog ca în cazul precedent.

Elementele matricelor L și R, care realizează factorizarea LR a matricei A, se pot calcula direct din egalitatea A = L R. Dacă lij, sunt elementele eventual nenule ale matricei L, iar , sunt elementele eventual nenule ale matricei R, atunci din egalitatea A = L • R rezultă:

(4.1)

Pentru factorizarea Doolittle se obțin formulele:

(4.2)

Pentru factorizarea Crout din 4.1 se obțin formulele:

(4.3)

Comentariu Algoritmul de factorizare LR poate fi completat cu o strategie de pivotare parțială. Din teorema 4.2 rezultă că pentru orice matrice există o matrice inferior triunghiulară M' și o matrice de permutare de linii P astfel încât matricea R = M'PA este superior triunghiulară. Rezultă de aici PA = LR. unde L = M’-1 este o matrice inferior triunghiulară.

În descrierea procedurii de pivotare parțială am stabilit egalitatea M = M'P, unde M == Mn-1Pn-1Mn-2Pn-2 … M1P1, iar matricea P este produsul matricelor Pk de permutare de linii în A, P = Pn-1Pn-2 … P1, (Pk = I, I fiind matricea unitate, dacă în etapa k nu se fac permutări de linii). Deci:

Am demonstrat astfel următoarea teoremă:

Teorema Pentru orice matrice există o matrice inferior triunghiulară M și o matrice de permutare de linii P astfel încât matricea PA poate fi, factorizată LR.

Exemplu Fie:

Etapa 1. A(1) = A. Aplicând procedura de pivotare parțială obținem:

Permutăm liniile 1 și 3. Obținem matricea:

, unde

Apoi:

Etapa 2. Aplicând din nou procedura de pivotare parțială obținem:

Permutăm liniile 2 și 3. Obținem matricea:

, undeP2 =

Apoi:

Rezultă:

Așadar:

Avem LP = P,4 unde:

Comentariu Algoritmul de factorizare LR poate fi completat de asemenea cu o strategie de pivotare totală. Din teorema 4.3 rezultă că pentru orice matrice există o matrice inferior triunghiulară M' și matricele P, S de permutare de linii, respectiv coloane, astfel încât matricea R = MPAS este superior triunghiulară. Rezultă de aici PAS = LR, unde L = Mi-1 este o matrice inferior triunghiulară,

Deci:

Teorema Pentru orice matrice există o matrice inferior triunghiulară M' și matricele P, S de permutare de linii, respectiv coloane, astfel încât matricea PAS poate fi factorizată LR.

Exemplu Fie:

Etapa 1. A(1) = A. Aplicând procedura de pivotare totală, obținem:

Permutăm liniile 1, 2 și coloanele 1, 3. Obținem matricea:

Apoi:

Etapa 2. Aplicând din nou procedura de pivotare totală obținem:

Permutăm liniile 2, 3 și coloanele 2, 3. Obținem matricea:

Apoi:

Rezultă:

Așadar:

Avem LR = PAS unde:

Comentariu Matricele dreptunghiulare pot fi factorizate LR folosind procedurile descrise anterior. În acest caz matricea L este superior triunghiulară, , iar matricea R este superior trapezoidală, .

Exemplu Fie:

Efectuăm factorizarea matricei A fără pivotări.

Etapa 1. A(1) = A.

Etapa 2.

Rezultă:

În continuare prezentăm procedura de factorizare LR pentru matricele tridiagonale.

Teoremă. Fie matricea tridiagonală:

(4.4)

Definim șirul , astfel:

(4.5)

Atunci:

Dacă , atunci o factorizare LR (Doolittle) a matricei A este:

Demonstrație.

. Presupunem . Dezvoltând det(Ak) după ultima coloană obținem:

Se verifică direct prin calcul, egalitatea A= LR.

Observații.

1˚. În teorema precedentă forma matricelor L, R este:

,

.

Din egalitatea A = LR obținem:

(4.6)

În aceste formule sunt mai puține calcule decât în (4.5).

2˚. Pentru o matrice pentadiagonală:

(4.7) ,

care îndeplinește condiția , există o factorizare LR în care L este o matrice inferior triunghiulară, cu elementele diagonalei principale egale cu 1 și R este o matrice superior triunghiulară, notate astfel:

,

.

Din egalitatea A = LR obținem:

Deoarece este îndeplinită condiția , rezultă .

3˚. Pentru matricele bandă (tridiagonale sau pentadiagonale) se poate folosi factorizarea LR a lui Crout. De exemplu pentru matricea tridiagonală A, din A = LR, unde:

,

,

se obțin formulele:

4.2.2. Factorizarea Cholesky

Teoremă. Dacă A este o matrice simetrică, pozitiv definită, atunci există cel puțin o matrice reală L, inferior triunghiulară, astfel încât : .

Dacă în plus, impunem comdiția ca elementele diagonale ale matricei L să fie strict pozitive, atunci factorizarea este unică.

Descompunerea se numește factorizare Cholesky.

Din egalitatea rezultă :

.

Pentru j =1 obținem : .

Deci :

pentru obținem :

Deci :

4.2.3. Factorizarea QR

Factorizarea QR a unei matrice se realizează prin transformări de echivalență ortogonale. Această factorizare are la bază o schemă de eliminare propusă de Householder în anul 1958.

Definiție. Fie . Matricea de forma:

(8) , unde

se numește matrice Householder.

Matricea este simetrică și ortogonală, deoarece : .

Convenim să considerăm și matricea unitate I ca o matrice Householder.

Proprietatea fundamentală a matricelor Householder este :

Propoziție. Fie un vector nenul. Atunci, există o matrice Householder astfel încât primele k-1 componente ale vectorului transformat să coincidă cu primele k-1 componente ale vectorului x, iar ultimele n-k componente ale vectorului să fie nule, adică :

(9)

Demonstrație. În primul rând observăm că orice transformare păstrează norma euclidiană, adică . Prin urmare, în (9) trebuie să avem :

Putem scrie :

,

deci componenta i a vectorului transformat este :

(4.10)

unde am notat :

Definim numărul real prin :

,

unde = -1 dacă și = 1 în caz contrar.

Dacă = 0, adică , atunci vectorul x este invariant la acțiunea lui , adică , oricare ar fi matricea de forma (4.8), iar are forma (4.9).

Pentru fie :

Rezultă :

.

Apoi :

Deci, conform relațiilor (4.10), componenta k a vectorului este , ultimele n-k componente sunt nule, iar primele k-1 componente coincid cu primele k-1 componente ale vectorului x.

În concluzie, transformarea (4.9) este complet definită prin următoarele formule de calcul :

(4.11)

Propoziția este demonstrată.

În general, dacă este o matrice Householder dată, iar x este un vector dat, atunci prin transformarea primele k-1 componente ale lui x rămân nemodificate, iar ultimele se calculează cu formulele :

(4.12)

Definiție Se numește factorizare QR a matricei ; o descompunere a acesteia A = Q . R, unde Q este o matrice ortogonală, iar R este o matrice superior triunghiulară.

Factorizarea QR a unei matrice se realizează prin transformări de echivalență ortogonale. Această factorizare are la bază o schemă de eliminare propusă de Householder în anul 1958.

Procedura de factorizare QR a matricei se realizează în n-1 etape.

Astfel, fie și matricea rezultată după primele k-1 etape ale procedurii.

Dacă ultimele n-k componente ale vectorului din coloana k din matricea nu sunt toate nule atunci, luând acest vector drept vectorul x, din (8) și (9) se determină matricea :

.

Matricea lasă invariante liniile și coloanele 1, 2,…, k-1 din matricea , anulează elementele subdiagonale din coloana k și transformă celelalte elemente ale matricei cu formule de tipul (12).

Dacă vectorul din coloana k din matricea are ultimele n-k componente nule, atunci matricea are deja forma matricei . În acest caz vom lua .

Matricea finală va fi superior triunghiulară.

Dacă și , atunci . În plus, matricea Q este ortogonală.

Teoremă. Pentru orice matrice există o matrice ortogonală Q și o matrice superior triunghiulară R, astfel încât .

Există cel puțin o factorizare , astfel încât elementele diagonale ale matricei R să fie nenegative.

Dacă matricea A este inversabilă, atunci factorizarea , unde R are elementele diagonale pozitive, este unică.

Demonstrație. Existența unei factorizări QR pentru matricea A a fost demonstrată anterior.

Fie o factorizare QR a matricei A și numerele definite astfel : dacă în caz contrar.

Dacă , atunci este o matrice ortogonală, iar este o matrice superior triunghiulară. În plus, este o factorizare QR a matricei A în care elementele diagonale ale matricei R sunt nenegative.

Deci, există factorizări QR în care . Dacă A este inversabilă atunci .

Să presupunem acum că avem două astfel de factorizări :

.

Rezultă de aici : .

Dacă atunci : .

Deci, matricea realizează o factorizare Cholesky a matricei unitate ( este o matrice superior triunghiulară deoarece este produsul a două matrice superior triunghiulare și ). Elementele diagonale ale matricei sunt :

.

Cum elementele diagonale ale matricelor și sunt pozitive, rezultă că elementele diagonale ale matricei sunt pozitive. Factorizarea Cholesky , în care L are elementele diagonale pozitive, este unică. Pentru matricea I o astfel de factorizare este : . Deci , ceea ce impune .

Teorema este demonstrată.

Observație. Dacă notăm cu coloanele matricei A, iar cu coloanele matricei Q, atunci egalitatea este echivalentă cu sistemul :

unde sunt elementele matricei superior triunghiulare R. deoarece vectorii formează un sistem ortonormat, de aici se obțin elementele matricelor Q și R astfel :

(4.13)

Elementele matricei R au fost calculate astfel încât elementele diagonale să fie pozitive.

Această metodă de determinare a matricelor Q și R are dezavantajul că erorile de rotunjire se propagă destul de mult.

Exemplu. Fie :

Să se realizeze o factorizare QR pentru matricea A.

Soluție. Avem ,

Rezultă :

,

Dacă se folosesc formulele (13), atunci se obțin matricele :

,

CAPITOLUL V

APLICAȚII ALE PROCEDURILOR DE TRANSFORMARE A MATRICELOR

5.1. Metode directe pentru rezolvarea sistemelor liniare

Considerăm sistemul de ecuații liniare :

(5.1) Ax = b

unde .

Metodele directe de rezolvare a sistemului (5.1) au două etape. În prima etapă se realizează triangularizarea sau factorizarea LR a matricei sistemului. În etapa a doua se rezolvă prin metode elementare unul sau două sisteme triunghiulare.

5.1.1. Metode directe bazate pe proceduri de triangularizare.

Pentru matricea A există matricea inferior triunghiulară și matricele de permutare P, S astfel încât matricea este superior triunghiulară. Procedura de triangularizare se poate aplica aici matricei extinse (A, b). Obținem astfel în final matricea . Procedura de pivotare totală care conduce la apariția matricei de permutare a coloanelor, trebuie aplicată numai în "blocul" care corespunde matricei A.

În etapa a doua se rezolvă sistemul :

(5.2) Ry = c,

unde , .

Fie : ,

.

Sistemul (5.2) se rezolvă cu următoarele formule :

(5.3)

Soluția sistemului (5.1) este : x = Sy. Deci, în y se fac permutările corespunzătoare celor care s-au efectuat în coloanele matricei A (în ordine inversă). Această situație se întâlnește numai în cazul în care s-au efectuat pivotări totale. În celelalte cazuri avem : S = I și x = y.

Exemplu. Să se rezolve sistemul:

Metoda 1. Metoda lui Gauss. Vom aplica formulele lui Gauss pentru matricea extinsă (A, b).

Vom nota cu B(k) matricea extinsă obținută în etapa k.

Sistemul (5.2), corespunzător matricei B(3), este:

Folosind formulele (16) obținem: . Deoarece nu s-au efectuat permutări de coloane rezultă S = I.

Deci, soluția sistemului dat este x = y.

Metoda 2. Metoda pivotării totale.

.

Se permută liniile 1, 2 și coloanele 1, 2. Obținem:

,

Se aplică metoda lui Gauss matricei . Rezultă:

Nu sunt necesare permutări de linii sau coloane. Se aplică metoda lui Gauss matricei B(2). Obținem:

Sistemul (5.2), corespunzător matricei B(3), are soluția: .

Soluția sistemului dat este: .

În procedura de triangularizare din primul paragraf al acestui capitol înlocuim matricele Mk cu matricele:

unde:

Matricea A(k) se transformă în matricea A(k+1) = M’kA(k) după următoarele reguli:

R’1. Primele k – l coloane nu se modifică.

R'2. Coloana k este coloana k din matricea unitate.

R'3. Linia pivotului se împarte la pivot.

R'4. Elementele situate în coloanele k + l, k + 2,…, n și liniile 1, 2,…, k – 1, k + 1, … , n se transformă cu regula dreptunghiului.

Dacă = 0, atunci se aplică metoda pivotării parțiale sau totale.

În acest mod se calculează matricele + 1. Matricea finală A(n+1) este superior triunghiulară având elementele situate pe prima diagonală egale cu 1 sau 0. În coloanele care au numărul 1 la intersecția cu diagonala, toate celelalte elemente sunt nule.

Dacă în toate cazurile în care se aplică metodele de pivotare se găsesc elemente nenule, care prin permutări de linii și (sau) coloane devin elemente pivot, atunci ((n+l) = I.

Matricea R = A(n+1) este de forma R = M" PAS, cu:

unde:

Matricele Pk, Sk sunt egale cu matricea unitate dacă în etapa k nu se fac permutări de linii, respectiv coloane.

Dacă matricea A a sistemului Ax = b este nesingulară, atunci, aplicând procedura precedentă matricei extinse (A, b), obținem în final R = I. Deci, soluția sistemului 2.30 este y = c = M"Pb.

Exemplu. Aplicăm această procedură sistemului din exemplul precedent. Avem:

.

.

Se permută liniile 1, 2 și coloanele 1, 2. Obținem:

.

Aplicăm matricei metoda lui Gauss descrisă de regulile R2-R4. Obținem:

.

,

.

Nu sunt necesare permutări de linii sau coloane. Se aplică metoda lui Gauss cu regulile R1-R4. Obținem:

.

Aplicăm matricei B(3) metoda lui Gauss cu regulile R1-R4. Rezultă:

.

Soluția sistemului Ry = c este: .

Soluția sistemului dat este: .

2˚. Metodele de rezolvare a sistemelor liniare bazate pe proceduri de triangularizare pot fi aplicate pentru studiul sistemelor liniare dreptunghiulare. Pentru sistemele Ax = b, , matricele din procedura de triangularizare sunt matrice pătrate, astfel: , . Deci: .

Exemple.

Să se determine valorile parametrului real pentru care sistemul:

este compatibil și să se rezolve în acest caz.

Soluție. Vom rezolva această problemă în două etape. În prima etapă vom aplica metoda lui Gauss fără pivotări, iar în etapa a doua vom aplica metoda lui Gauss după o pivotare totală. Avem:

.

Aplicăm metoda lui Gauss matricei . Obținem:

,

Permutăm liniile 2, 3 și coloanele 2, 4. Rezultă:

,

unde:

Aplicăm matricei metoda lui Gauss. Rezultă:

,

Dacă sistemul (5.2), corespunzător matricei , este incompatibil. Deci sistemul din exemplul nostru este incompatibil.

Dacă sistemul (5.2), corespunzător matricei are soluțiile . Soluțiile sistemului nostru sunt:

.

Să se determine valorile parametrului real pentru care sistemul:

este compatibil și să se rezolve în acest caz.

Soluție. Vom rezolva această problemă aplicând în fiecare etapă pivotarea totală. Avem:

,

.

Permutăm coloanele 1, 3. Obținem:

.

Aplicăm metoda lui Gauss matricei . Rezultă:

,

,

.

Permutăm coloanele 2, 3. Obținem:

.

Aplicăm metoda lui Gauss matricei . Rezultă:

,

,

.

Nu sunt necesare permutări de linii sau coloane. Aplicăm metoda lui Gauss matricei . Obținem:

.

Dacă sistemul (5.2), corespunzător matricei , este incompatibil. Deci sistemul din exemplul nostru este deasemenea incompatibil.

Dacă sistemul (5.2), corespunzător matricei , are soluția . Soluția sistemului din exemplul nostru va fi: .

5.1.2. Metode directe bazate pe proceduri de factorizare.

5.1.2.1. Metode directe bazate pe peocerudi de factorizare LR

Dacă se aplică un procedeu de factorizare LR matricei A a sistemului Ax = b, atunci :

Ax = b LRx = b.

Pentru determinarea soluției x vom rezolva succesiv sistemele Ly = b, Rx = y.

Sistemul inferior triunghiular Ly = b se rezolvă astfel :

Sistemul superior triunghiular Rx = y se rezolvă astfel :

(5.5)

Exemplu. Folosind factorizarea LR să se rezolve sistemul:

Soluție. Pentru matricea sistemului am realizat în capitolul precedent factorizarea Doolittle cu :

, .

Rezolvând sistemul Ly = b, unde b = (7, 6, 0)t, cu formulele (5.4), obținem soluția y = (7, -8, -1)t.

Apoi, rezolvând sistemul Rx = y cu formulele (5.5), obținem :

x = (1, 1, 1)t.

Observații.

1. În cazul sistemelor Au = v, cu A matrice "bandă" (tridiagonală sau pentadiagonală), vom folosi factorizarea LR. Astfel, dacă A este o matrice tridiagonală, vom determina mai întâi elementele matricelor L, R cu formulele (17), după care vom rezolva sistemele Lw = v, Ru = w cu formulele:

(5.6)

În cazul în care A este o matrice pentadiagonală, vom determina mai întâi elementele matricelor L și R cu formulele:

după care vom rezolva sistemele Lw = v și Ru = w cu formulele :

(5.8)

(5.9)

2. Metode directe bazate pe proceduri de factorizare QR

Fie sistemul liniar:

Ax = b,

unde

Fie deasemenea A = Q . R o factorizare QR a matricei A, unde este o matrice ortogonală, iar R este o matrice superior triunghiulară.

Sistemul Ax = b este echivalent cu sistemul:

QRx = b.

Pentru determinarea soluției x a sistemului Ax = b vom rezolva succesiv sistemele:

Qy = b, Rx = y.

Deoarece matricea Q este ortogonală, din egalitatea Qy = b rezultă y = Qtb.

Așadar sistemul Qy = b se rezolvă cu formulele:

(5.10)

Dacă rij, sunt elementele eventual nenule ale matricei R, atunci sistemul Rx = y se rezolvă cu formulele:

(5.11)

5.2. Calculul determinanților

Metode simple pentru calculul determinanților decurg din procedurile de triangularizare Gauss sau factorizare QR, prezentate anterior.

Astfel, dacă este matricea obținută în urma aplicării procedurii de triangularizare matricei A, deoarece det(Mk) = 1, rezultă :

unde = 1 dacă numărul permutărilor de linii și de coloane este par, = -1 în caz contrar, iar sunt elementele diagonale ale matricei superior triunghiulare .

Analog, deoarece determinantul unei matrice Householder este -1, rezultă :

unde = 1 dacă numărul matricelor Householder este par, = -1 în caz contrar, iar sunt elementele diagonale ale matricei R obținută prin aplicarea procedurii de factorizare QR matricei A.

O altă metodă de calcul a determinanților este metoda condensării pivotale. Aceasta constă în reducerea treptată a ordinului determinantului dat.

Dacă și atunci :

Această formulă se aplică succesiv până se obține un determinant de ordinul trei, doi sau unu.

5.3. Calculul inversei

În continuare voi prezenta câteva metode pentru calculul inversei unei matrice nesingulare A.

5.3.1. Metoda lui Gauss

Dacă , , 1 k n, sunt coloanele matricei , respectiv I, atunci egalitatea este echivalentă cu :

.

Fiecare din aceste sisteme poate fi rezolvat cu metoda lui Gauss. Deoarece toate sistemele au aceeași matrice a coeficienților, ele pot fi rezolvate simultan. Pentu aceasta se formează matricea extinsă (A, I) și se aplică metoda pivotării totale. În final se obține matricea extinsă :

,

Matricea va fi : .

Exemplu. Pentru matricea :

avem :

.

Permutăm liniile și coloanele 1, 2 . Rezultă :

, .

Aplicăm matricei metoda lui Gauss. Obținem :

,

,

.

Permutăm liniile și coloanele 2, 3. Rezultă :

.

Aplicăm matricei metoda lui Gauss. Obținem :

,

.

Aplicând încă o dată metoda lui Gauss matricei obținem :

.

Avem , unde :

.

Inversa matricei A este : .

Rezultă :

.

5.3.2. Metode de inversare a matricelor bazate pe procedurile de factorizare LR, QR.

Am stabilit că pentru orice matrice există matricele P, S de permutare de linii, respectiv coloane, astfel încât matricea PAS poate fi factorizată LR. Din egalitatea:

PAS = LR

rezultă:

Așadar matricea A este inversabilă dacă și numai dacă matricele L și R sunt inversabile.

Matricea este inferior triunghiulară, adică lij = 0 pentru Inversa sa este deasemenea inferior triunghiulară, adică uij = 0 pentru Elementele eventual nenule ale matricei L-1 se obțin rezolvând sistemele:

Aceste sisteme se rezolva cu formulele:

Matricea R = (rij) este superior triunghiulară, adică rij = 0 pentru . Inversa sa este deasemenea superior triunghiulară, adică vij = 0 pentru . Elementele eventual nenule ale matricei R-1 se obțin rezolvând sistemele:

Aceste sisteme se rezolvă cu formulele:

Am stabilit că pentru orice matrice există o matrice ortogonală Q și o matrice superior triunghiulară R astfel încât A = Q . R.

Dacă A este inversabilă atunci R este inversabilă. Din egalitatea precedentă rezultă:

A-1 == R-1 . Qt

5.3.3. Metoda partiționării

Această metodă determină inversa matricei A cu ajutorul inverselor unor matrice de ordin inferior.

Descompunem matricea A în patru blocuri astfel :

unde: .

Matricea și matricea unitate I se descompun asemănător, adică :

,

unde: sunt matrice unitate de ordin p, respectiv q, iar sunt matrice nule de tip , respectiv .

Egalitatea este echivalentă cu sistemul matriceal :

Dacă matricele și sunt nesingulare, atunci soluția acestui sistem este :

(5.12)

5.3.4. Metoda iterativă

Dacă , atunci :

,

unde :

,

,

.

Matricea :

se determină cu metoda partiționării.

Rezultă :

(5.13)

Dacă atunci . Folosind formulele (5.12) se calculează succesiv .

Observații.

1º. Dacă A este _____________________________________________nesingulară, atunci, pentru orice , există o matrice de dimensiune cu elemente din A, inversabilă. Într-adevăr, deoarece , există cel puțin un minor de ordin n-1 nenul, deci o matrice de dimensiune inversabilă. ș.a.m.d.

2º. Dacă și sunt inversabile atunci :

Într-adevăr, dacă notăm cu , componentele vectorilor , respectiv , vom obține succesiv :

.

Deci : .

Similar Posts