Gheorghiu A. Constantin Bogdan [303358]
UNIVERSITATEA “TRANSILVANIA” [anonimizat] I
Coordonator științific:
Conf. univ. dr. CIUPALĂ LAURA
Candidat: [anonimizat] „Spiru Haret”, Tecuci, Galați
2015-2017
UNIVERSITATEA “TRANSILVANIA” [anonimizat] – ÎNVĂȚARE
Coordonator științific:
Conf. univ. dr. CIUPALĂ LAURA
Candidat: [anonimizat] „Spiru Haret”, Tecuci, Galați
2015-2017
[anonimizat],
Subsemnatul____________________________________________
[anonimizat] – științifice cu titlul __________________________________________________________
__________________________________________________________
sub îndrumarea d-nei conf. univ. dr. _____________________________
Data, Semnătura,
Cuprins
Introducere 5
Capitolul I. Aspecte teoretice generale ale grafurilor orientate 8
1.1. [anonimizat], [anonimizat] 8
1.1.1. Un exemplu de graf 8
1.1.2. [anonimizat], incidență, grad. Mulțimile ”gama” și ”omega” 8
1.1.3. Reprezentarea grafurilor orientate 10
1.1.3.1. Matricea de adiacență 11
1.1.3.2. Listele vecinilor 13
1.1.3.3. Vectorul de arce 15
1.1.3.4. [anonimizat] 16
1.1.3.5. Matricea drumurilor 17
1.2. Noțiunile de graf parțial și subgraf. [anonimizat] 17
1.2.1. Graf parțial 17
1.2.2. Subgraf 21
1.2.3. Lanț 24
1.2.4. Drum 28
1.2.5. Circuit 29
1.3. Tipuri speciale de grafuri 33
1.3.1. Graf complet 33
1.3.2. Graf turneu 33
Capitolul II. Algoritmi de prelucrare a grafurilor orientate 34
2.1. [anonimizat](determinarea matricii drumurilor) 34
2.2. [anonimizat](determinarea drumurilor de cost minim) 36
2.3. Algoritmul lui Dijkstra([anonimizat]) 41
2.4. Conexitate în grafuri orientate 46
2.4.1. Verificarea conexității unui graf 46
2.4.2. Descompunerea în componente conexe a unui graf orientat 48
2.4.3. Verificarea proprietății de tare conex a [anonimizat] D.F., algoritmul lui Kosaraju 52
2.4.4. Descompunerea în componente tare conexe a unui graf orientat 57
Capitolul III. Metode și strategii didactice de învățare și evaluare 61
3.1. Metode didactice și funcțiile acestora 61
3.2. Procedeul didactic 62
3.3. Organizarea învățării 62
3.4. Clasificări ale metodelor de învățământ 63
3.5. Metodica predării informaticii 65
3.5.1. Expunerea sistematică a cunoștințelor 66
3.5.2. Metoda conversației 68
3.5.3. Problematizarea și învățarea prin descoperire 71
3.5.4. Modelarea 74
3.5.5. Exemplificarea sau demonstrarea materialului intuitiv 77
3.5.6. Metoda exercițiului 79
3.5.6.1. Exerciții și probleme de recunoaștere a [anonimizat], metode 80
3.5.6.2. Exerciții și probleme aplicative ale unor formule sau algoritmi cunoscuți 80
3.5.6.3. Probleme care permit însușirea unor noțiuni 80
3.6. Instruirea asistată de calculator(I.A.C.) 84
3.7. Evaluarea(clasificări, funcții) 89
3.8. Evaluarea prin proiecte 114
Capitolul IV.Creativitatea 117
4.1. Conceptul de creativitate 117
4.2. Creativitatea ca produs 117
4.3. Creativitatea ca proces 118
4.4. Creativitatea ca potențialitate general umană 118
4.5. Creativitatea ca dimensiune complexă a personalității 119
4.6. Factorii creativității 120
4.7. Relația dintre creativitate și inteligență 121
Capitolul V.Proiectarea didactică 123
5.1. Planul unității de învățare – “tare conexitate în grafuri orientate”(IAC) 123
5.2. Test de evaluare– tare conexitate în grafuri orientate 131
5.3. Proiect didactic – proiecte 140
5.4. Ghid de realizare a proiectului 143
5.5. Fișa de autoevaluare 145
5.6. Concluzii 146
Anexe 148
Bibliografie 185
INTRODUCERE
[29]Originile teoriei grafurilor se găsesc în rezolvarea unor probleme de jocuri și amuzamente matematice, care au atras atenția unor matematicieni de seamă, cum ar fi: Euler, Hamilton, Cayley, Sylvester, Birkoff.
Data nașterii teoriei grafurilor este considerată a fi anul 1736, când matematicianul Leonhard Euler a publicat un articol în care a clarificat problema celor șapte poduri și a prezentat o metodă pentru rezolvarea altor probleme de același tip. Articolul în limba latină avea titlul: Solutio problematis ad geometriam situs pertinentis (solutia unei probleme legate de geometria poziției) și a apărut în revista Commentarii Academiae Scietiarum Imperialis Petropolitanae.
Cu 200 de ani mai târziu, în 1936, apărea la Leipzig prima carte din teoria grafurilor al cărei autor este matematicianul maghiar Dénes König. În amintirea contribuției lui Euler, unele noțiuni și tipuri de grafuri de care acesta s-a ocupat sunt denumite de către Dénes König lanț(ciclu) eulerian, graf eulerian, etc.
Un alt matematician care s-a ocupat de aceleași probleme ca și Euler (se pare, fără a cunoaște articolul) dar care și-a publicat rezultatele cercetărilor sale în anul 1873, a fost Karl Hierholzer. Acesta a demonstrat în plus unele rezultate care lui Euler i se păruseră evidente.
În 1851 articolul lui Euler a fost tradus și publicat în revista Nouvelles Annales de Mathematiques, iar rezultatele sale au fost îmbogățite, fiind studiate în clase speciale de grafuri.
Alte izvoare ale teoriei grafurilor sunt: studiul rețelelor elctrice, problema celor patru culori, aplicațiile teoriei garfurilor în chimie(inițiate de Cayley), probleme hamiltoniene, grafuri planare.
Fizicianul Kirchoff a studiat în mijlocul secolului trecut rețelele electrice cu metode care aparțin astăzi teoriei grafurilor, contribuind la dezvoltarea acestei teorii (în anul 1845 a formulat legile care guvernează circulația curentului într-o rețea electrică, iar în 1847 tot el a arătat cum poate fi construită într-un graf o mulțime fundamentală de cicluri, demonstrând că, pentru orice graf conex cu n vârfuri și m muchii, o mulțime fundamentală de cicluri conține întotdeauna m-n+1 cicluri).
Termenul de graf a fost folosit pentru prima dată în sensul său actual (fiind derivat din termenul notație grafică din chimie) într-un articol publicat în 1878 de matematicianul J. Sylvester (prieten al lui Cayley), articol ce a apărut în primul număr al revistei American Journal of Mathematics. Teoria grafurilor are numeroase aplicații în chimie, cercetări privind determinarea numărului de izomeri ai compușilor organici contribuind în mare măsură la rezolvarea problemelor de numărare a grafurilor aparținând unor clase speciale.
”Azi teoria grafurilor a devenit o disciplină majoră, deși nu-și găsește locul într-o clasificare dogmatică a capitolelor matematicii.
Folosirea teoriei grafurilor în domenii variate, de la chimie la economie, de la studiul rețelelor electrice la critica textelor și la politică, îi dau azi un prestigiu de care cel ce clasifică științele trebuie să țină seama”
(Grigore C. Moisil)
Sinteze ale principalelor părți ale lucrării :
Capitolul I. (Aspecte teoretice generale ale grafurilor orientate) – prezintă aspecte teoretice generale ale grafurilor orientate, pornind de la noțiunea de graf, terminologia utilizată, reprezentările grafurilor. Următoarea secțiune a acestui capitol este dedicată descrierii tipurilor speciale de grafuri orientate: complet și turneu.
Capitolul II. (Algoritmi de prelucrare a grafurilor orientate) – este dedicat descrierii algoritmilor: Roy-Warshall, Roy-Floyd, Dijkstra împreună cu programele de implementare ale acestora precum și a conexității grafurilor orientate, cu verificarea conexității unui graf, descompunerea în componente conexe, verificarea proprietății de tare conex dar și descompunerea în componente tare conexe, parcurgerea în adâncime și algoritmul lui Kosaraju .
Capitolul III. (Metode și strategii didactice de învățare și evaluare) – cuprinde noțiuni teoretice referitoare la metodele didactice tradiționale și active utilizate în procesul de predare-învățare-evaluare, cu accent pe metoda instruirii asistată de calculator(I.A.C.) și metoda evaluării prin proiecte.
Instruirea asistată de calculator permite elevilor sa-și dezvolte aptitudini reale, cerute în zilele noastre, cum ar fi: capacitatea de a rezolva probleme complexe, capacitatea de auto – direcționare și de autoevaluare, stimularea creativității și a imaginației.
Capitolul IV. (Creativitatea) – urmărește descrierea conceptului de creativitate și analizează formele în care aceasta apare nu numai la elevi, ci în general, la orice persoană: ca produs, ca proces, ca potențialitate general umană, ca dimensiune complexă a personalitații.
Capitolul V. (Proiectarea didactică) – Unitatea de învățare „Tare conexitate în grafuri orientate” este organizată sub forma unui portofoliu care cuprinde :
planul unității de învățare (instruirea asistată de calculator(I.A.C.)) cu obiectivele operaționale aliniate competențelor specifice și competențelor generale vizate, cu setul de întrebări cheie, precum și cu activitățile desfășurate, metodele de predare și evaluare, mijloacele de învățare folosite, etc;
testul de evaluare finală ;
proiect didactic – evaluarea prin proiecte;
ghidul de realizare a unui proiect;
fișa de autoevaluare;
prezentări realizate de profesor, alte materiale documentare care sprijină predarea și evaluarea unității de învățare;
materiale realizate de elevi.
Procesul instructiv-educativ valorifică și dezvoltă continuu capacitățile de cunoaștere ale elevilor, spiritul de observație și de investigare, gândirea creativă, transformând nevoia de instruire și de autoinstruire într-o trebuință intrinsecă fiecărei personalități în formare.
CAPITOLUL I
Aspecte teoretice generale ale grafurilor orientate
1.1. Grafuri orientate: terminologie, noțiuni de bază, forme de reprezentare
1.1.1. Un exemplu de graf
[27] Pentru a înțelege mai bine utilitatea grafurilor orientate ne putem imagina un oraș. El poate fi privit ca un ansamblu de străzi care se intersectează între ele. Pentru a putea ajunge dintr-un loc în altul, trebuie să parcurgem niște străzi și să trecem prin intersecții.
Un graf orientat îl putem asemăna cu o hartă a orașului. Pentru a putea realiza această hartă, mai întâi vom reprezenta intersecțiile prin puncte. Apoi străzile care „leagă” aceste intersecții le vom reprezenta prin curbe, care pe harta noastră vor uni punctele deja fixate. Străzilor cu sens unic trebuie să le dăm o anumită orientare, cu ajutorul unor săgeți „pictate” pe curbele care reprezintă străzile pe hartă. Bineînțeles că o stradă pe care se poate circula în ambele sensuri o vom marca prin săgeți în ambele sensuri sau chiar prin două curbe câte una pentru fiecare sens.
Am construit astfel un graf orientat.
1.1.2. Noțiunea de graf orientat, adiacență, incidență, grad. Mulțimile ”gama” și ”omega”.
[27]Definiție:
Se numește graf orientat, o pereche ordonată de mulțimi G = (X,U), unde X este o mulțime finită și nevidă numită mulțimea vârfurilor, și U este o mulțime formată din perechi ordonate de elemente ale lui X, numită mulțimea arcelor.
Trebuie precizat că prin noțiunea de perechi ordonate nu trebuie să înțelegem diferența în lungime sau în măsura specifică, ci se înțelege faptul că arcul (x,y) nu este același cu (y,x).
Exemplu: în figura alăturată este reprezentat un graf orientat G(X,U), unde avem:
X = {1,2,3,4,5,6} și U = {u1,u2,u3,u4,u5,u6,u7}= {(1,2), (1,5), (1,6), (2,3), (4,1), (5,3), (5,4)}
Fiecare arc este de forma u = (x,y) unde x se numește extremitate inițială, sau predecesor al lui y, iar y se numește extremitate finală, sau succesor al lui x.
Privind un ansamblu de două arce împreună cu extremitățile lor, putem desprinde noțiunile de adiacență și incidență. Astfel, vârful 1 este adiacent cu vârful 4, deoarece acestea sunt unite printr-un arc. Dar vârfurile 1 și 3 nu reprezintă o pereche de vârfuri adiacente.
Muchia (1,6) este incidentă în vârful 1 respectiv 6 deoarece aceste vârfuri reprezintă extremități pentru un arc.
Gradul unui vârf
[27]Definiție:
Gradul exterior al unui vârf, notat cu d+(x), reprezintă numărul arcelor care ies
din vârful x, adică numărul arcelor de forma (x,y) Є U.
[27]Definiție:
Gradul interior al unui vârf, notat cu d-(x), reprezintă numărul arcelor care intră
în vârful x, adică numărul arcelor de forma (y,x) Є U.
După cum se observă în figura alăturată, există trei arce care ies din nodul 2 și anume: u1 = (2,1), u3 = (2,3), u4 = (2,4). În cazul nostru d+(2) = 3.
Există un arc care intră în nodul 2 și anume: u2 = (3,2). În cazul nostru d-(2) = 1.
Deoarece d+(5) = 0 și d-(5) = 0, putem spune că vârful 5 este izolat.
Mulțimile Γ și ω
[27]Definiție:
Se definește Γ+(x) = {y Є X / (x,y) Є U}, drept mulțimea nodurilor ce constituie extremități finale ale arcelor care pleacă din nodul x. Pe scurt, mulțimea succesorilor lui x.
În figura alăturată se poate observa că succesorii nodului 2 sunt 1, 3, și 4, urmare a faptului că muchiile care pleacă din 2 sunt (2,1), (2,3) și (2,4).
În cazul nostru Γ+(2) = {1, 3,4}.
[27]Definiție:
Se definește Γ-(x) = {y Є X / (y,x) Є U}, drept mulțimea nodurilor ce constituie extremități inițiale ale arcelor ce intră în nodul x. Pe scurt, mulțimea predecesorilor lui x.
În cazul nostru Γ-(2) = {3}, deoarece în nodul 2 intră doar muchia (3,2), deci mulțimea predecesorilor lui 2 conține doar nodul 3.
[27]Definiție:
Se definește ω+ (x) = {u = (x,y) / u Є U} drept mulțimea arcelor care ies din nodul x.
[27]Definiție:
Se definește ω- (x) = {u = (y,x) / u Є U} drept mulțimea arcelor care intră în nodul x.
Privind graful G (X,U) din figura 3, putem observa mulțimea arcelor care ies din nodul 2, pe care o vom nota cu ω+(2) = {(2,1), (2,3), (2,4)} și mulțimea acelor care intră in nodul 2, ω- (2) = { (3,2) }.
1.1.3. Reprezentarea grafurilor orientate
[4]Considerăm un graf orientat G=(X,U) cu m arce și n vârfuri numerotate 1,2,3,…..,n. Cele mai cunoscute forme de reprezentare ale unui astfel de graf sunt:
matricea de adiacență
listele vecinilor
vectorul arcelor
matricea vârfuri – arce(de incidență)
matricea drumurilor
Pentru implementările acestor metode de reprezentare vom considera definițiile globale de constante și tipuri următoare:
#define N 50 //numărul de vârfuri
#define M 100 //numărul de arce
#define INF 32000
typedef unsigned char tip;
1.1.3.1. Matricea de adiacență.
[4]Este o matrice pătrată de forma n*n, cu n numărul de vârfuri ale grafului, alcătuită din elementele 0 și 1. Această matrice nu este simetrică față de diagonala sa principală. Se va completa a[i,j](matricea) cu elementul 1 dacă există arc de la nodul i la nodul j și cu 0 dacă nu există arc de la nodul i la nodul j.
a[i][j]= 1, dacă există arcul [i,j] cu ij
0, în caz contrar
Pentru a exemplifica matricea de adiacență ne vom folosi de figura 4:
0 1 0 1
0 0 1 0
A4*4=
1 0 0 0
0 0 0 0
Observații
Suma elementelor de pe linia x din matricea de adiacență reprezintă gradul exterior al nodului x, iar suma elementelor de pe coloana x din matricea de adiacență reprezintă gradul interior al nodului x.
Suma tuturor valorilor din matricea de adiacență este egală cu numărul arcelor din graf.
Pentru memorarea în programe a matricei de adiacență se folosesc matrici pătratice binare. Uzual, dintr-un fișier text se citesc numărul vârfurilor și, eventual, cel al muchiilor, apoi perechi de valori diferite de vârfuri din graf reprezentând extremitățile unui arc. Din fiecare pereche citită, o singură valoare din matricea de adiacență primește valoarea 1.
Funcția următoare citește dintr-un fișier text informațiile referitoare la un graf în forma descrisă mai sus și construiește matricea de adiacență.
void citire(tip a[N][N],int &n,int &m)
int k,x,y;
ifstream f(“in.txt”); f>>n>>m;
//numarul de varfuri si numarul de muchii
for(k=1;k<=m;k++)
f>>x>>y; //extremitățile unui arc
a[x][y]=1;
f.close();
Dacă nu se precizează numărul arcelor din graf, funcția de citire se modifică în felul următor:
void citire(tip a[N][N],int &n)
int x,y;
ifstream f(“in.txt”); f>>n;
//numarul de varfuri
while(!f.eof())
f>>x>>y; //extremitatile unui arc
a[x][y]=1;
f.close();
Dacă în fișier este memorată integral matricea de adiacență, citirea se face element cu element ca în funcția următoare:
void citire(tip a[N][N],int &n)
int x,y;
ifstream f(“in.txt”); f>>n;
//numarul de varfuri
for(x=1;x<=n;x++)
for(y=1;y<=n;y++)f>>a[x][y]);
f.close();
Funcția de determinare a gradului exterior unui vârf x transmis ca parametru este următoarea:
int dplus(int x)
{
int i,s;
s=0;
for(i=1;i<=n;i++)
s=s+a[x][i];
return s;
}
Funcția de determinare a gradului interior unui vârf x transmis ca parametru este următoarea:
int dminus(int x)
{
int j,s;
s=0;
for(j=1;j<=n;j++)
s=s+a[j][x];
return s;
}
1.1.3.2. Listele vecinilor.
[4] O altă modalitate standard de reprezentare a unui graf orientat G(X,U) o constituie listele vecinilor. Lista vecinilor reține pentru fiecare vârf din graf, vârfurile adiacente cu acesta(vecine cu el). Pentru fiecare nod i se construiesc două liste ale vecinilor săi:
L+(x)- lista vecinilor succesori; deci va conține nodurile care sunt extremități finale ale arcelor ce ies din nodul x;
L-(x)- lista vecinilor predecesori; conține nodurile care sunt extremități inițiale ale arcelor care intră în nodul x.
Pentru a înțelege mai bine luăm spre exemplu un graf G(X,U), cu n=6 noduri și m=7 arce.
În figura de mai sus(figura 5) avem:
Pentru nodul x=1:
arcele care ies din nodul 1 sunt (1,6), (1,5) și (1,2). În consecință lista vecinilor succesori L+(1) conține nodurile 2,5 si 6;
în nodul 1 intră un singur arc și anume (4,1), motiv pentru care lista vecinilor predecesori conține doar nodul 4.
Pentru nodul x=2:
arcul care iese din nodul 2 este (2,3). L+(2) conține nodul 3;
arcul care intră în nodul 2 este (1,2). Deci L-(2) conține nodul 1;
Pentru nodul x=3:
arcul care iese din nodul 3 este (3,5).Deci L+(3)={5};
arcul care intră în nodul 3 este (2,3).Deci L-(3) conține nodul 2;
Pentru nodul x=4:
arcul care iese din nodul 4 este (4,1).L+(4) va conține un sigur nod: 1;
arcul care intră în nodul 4 este (5,4).În consecință L-(4) conține nodul 5;
Pentru nodul x=5:
arcul care iese din nodul 5 este (5,4). Deci L+(5) conține nodul 4.
arcele care intră în nodul 5 sunt (1,5) și (3,5).L-(5) conține nodurile 1 și 3.
Pentru nodul x=6:
din nodul 6 nu iese nici un arc. Prin urmare L+(6) nu va conține nici un nod; va fi egală cu mulțimea vidă.
în nodul 6 intră un singur arc (1,6). L-(6) conține nodul 1.
Pentru o exprimare mai puțin prolixă a listelor vecinilor putem constitui următorul tabel:
Observații:
Lista vecinilor unui graf G(X,U) poate fi determinată atât pe baza matricii de adiacență, cât și pe baza matricii vârfuri_arce.
Pe baza listei vecinilor putem determina gradul interior și gradul exterior al unui nod, cât și Γ+ și Γ- a unui nod.
1.1.3.3. Vectorul de arce.
[4]Fiecare arc al grafului poate fi privit ca o înregistrare cu două componente: cele două vârfuri care constituie extremitățile arcului. Notând aceste extremități cu x și y, putem defini tipul de date TARC astfel:
typedef struct {
int x,y;
} TARC;
Graful în ansamblul său, este o mulțime de arce, adică o mulțime de elemente de tipul TARC. În consecință, definim graful ca un “vector de arce”, adică un vector cu elemente de tipul TARC:
TARC v[M];
Numărul real de elemente este numărul de arce m. Astfel, elementele efectiv folosite ale vectorului vor fi v[1],v[2],….,v[m]. Fiecare element v[i] este de tipul TARC și reprezintă un arc al grafului, având două componente: v[i].x și v[i].y care sunt vârfurile extremități ale arcului.
Observații: în structura TARC se pot memora și alte informații referitoare la arcele grafului (de exemplu, costul arcului).
Funcția următoare realizează construirea vectorului arcelor prin citirea acestora dintr-un fișier text.
void citire(TARC v[M],int &n,int &m)
int k;
ifstream f(“in.txt”); f>>n>>m;
for(k=1;k=m;k++)
f>>v[k].x>>v[k].y;
f.close();
1.1.3.4. Matricea vârfuri-arce
[27]Matricea vârfuri-arce sau matricea de incidență este una dintre cele mai cunoscute modalități standard de reprezentare a unui graf G(X,U). Aceasta este o matrice “b” cu n linii și m coloane, în care fiecare element b[i,j] este:
1 daca nodul i este o extremitate inițială a arcului (i,j)
-1 daca nodul i este o extremitate finală a arcului (i,j)
0 daca nodul i nu este extremitate a arcului (i,j)
Pentru o înțelegere mai bună a matricii vârfuri-arce avem ca exemplu graful de mai jos(figura 6) cu n=4 vârfuri și m=5 arce.
Pentru a exemplifica construcția matricei vom deduce elementele liniei 3:
a[3,1]=0 pentru că nodul 3 nu este extremitate a arcului (1,2) ; analog, a[3,3]=0 deoarece nodul 3 nu este extremitate a arcului (4,2);
a[3,5]= -1deorece nodul 3 este extremitate finală a arcului (4,3);
a[3,2]=1 și a[3,4]=1 întrucât nodul 3 este extremitate inițială a arcului (3,2), respectiv (3,4).
Observații:
Pentru fiecare coloană j (aferentă arcului uj), avem exact 2 elemente nenule: un 1(linia i pe care se află reprezintă extremitatea inițială a arcului uj) și un -1 (linia i pe care se află reprezintă extremitatea finală a arcului uj).
Numărul valorilor de 1 de pe linia i reprezintă gradul exterior al nodului i( numărul arcelor ce au ca extremitate inițială pe i), iar numărul valorilor de -1 de pe linia i reprezintă gradul interior al nodului i( numărul arcelor care au ca extremitate finală pe i).
Matricea vârfuri_arce a unui graf G(X,U) poate fi construită pe baza matricii de adiacență a acestuia.
O modalitate de a ne asigura că matricea vârfuri_arce este corectă este ca suma tuturor numerelor de pe fiecare coloana sa fie 0 (ex:coloana matricii b[i,j]=1+(-1)+0+0=0), datorită unei singure valori 1 și a unei singure valori -1 (fiecare arc are un singur început și un sfârșit).
Funcția următoare ilustrează modul de construire a matricii de incidență prin citirea informațiilor dintr-un fișier text.
void citire(tip a[N][M],int &n,int &m)
int k,x,y;
int k,x,y;
ifstream f(“in.txt”); f>>n>>m;
//numarul de varfuri si numarul de arce
for(k=1;k<=m;k++)
f>>x>>y; //extremitatile unui arc
a[x][k]=1;
a[y][k]=-1;
//muchia k este incidenta cu extremitatile x si y
f.close();
1.1.3.5. Matricea drumurilor
Va fi prezentată la capitolul ”Algoritmi de prelucrare a grafurilor orientate-Algoritmul Roy-Warshall”.
1.2. Noțiunile de graf parțial și subgraf
Noțiunile de lanț, drum ȘI CIRCUIT
1.2.1. Graf parțial
[27]Definiție:
Fie graful G=(X,U). G1=(X,V), cu V, este un graf parțial al lui G dacă și numai dacă se obține prin eventuala eliminare a unor arce din G. Astfel, în cazul în care nu se va elimina nici un arc, un graf parțial al lui G poate fi chiar G.
Un exemplu de graf parțial este cel construit în figura 8, obținut din graful reprezentat în figura 7.
Astfel, grafului G=(X,U) cu X={1, 2, 3, 4} și U={u1, u2, u3, u4} îi corespunde graful parțial G1=(X,V), cu V={u1, u2, u3} obținut prin eliminarea arcului u4.
Se poate afla dacă G1 este un graf parțial al lui G folosind matricile de adiacență ale celor două grafuri. Având aceleași dimensiuni, cele două matrici a și b (aparținând lui G, respectiv lui G1) vor fi parcurse simultan pentru a verifica dacă există un arc în G1 care să nu existe în G. În acest caz, V nu este inclus în U pentru că are un element în plus, deci G1 nu este graf parțial al lui G. În schimb, dacă nu se găsește un asemenea arc, concluzia este că G1 este graf parțial al lui G. Dacă cele două matrici de adiacență sunt identice atunci G1 este chiar G.
Pentru exemplul reprezentat în figurile 7 și 8 am construit matricile de adiacență din figurile 9 și 10.
0 0 1 0 0 0 0 0
1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0
Figura 9 Figura 10
Matricea de adiacență Matricea de adiacență
a grafului G=(X,U) a grafului G1=(X,V)
Se observă astfel că nu există un arc în matricea de adiacență a lui G1 care să nu existe în matricea de adiacență a lui G. De asemenea, pot apare noduri izolate.
Programul C++ de generare a tuturor grafurilor parțiale ale unui graf G(X,U) dat prin vectorul de arce este următorul:
Programul utilizează tehnica Backtracking în varianta recursivă;
Se generează toate grafurile parțiale distincte după modelul combinărilor;
Soluțiile sunt prezentate sub forma matricilor de adiacență asociate grafurilor parțiale rezultate.
#include<iostream.h>
#include<conio.h>
int st[10],a[10][10],m,n,k,p;
struct arc
{
int x,y;
}v[10];
void citiri()
{
int i;
cout<<"Nr. de noduri: ";
cin>>n;
cout<<"Nr. de arce: ";
cin>>m;
cout<<"Introduceti extremitatile arcelor"<<endl;
for(i=1;i<=m;i++)
{
cout<<"v["<<i<<"]= ";
cin>>v[i].x>>v[i].y;
}
}
void init()
{
int i;
for(i=1;i<=p;i++)
st[i]=0;
}
int valid(int k)
{
if(k>1&&st[k]<=st[k-1])
return 0;
return 1;
}
void tipar()
{
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
for(i=1;i<=p;i++)
a[v[st[i]].x][v[st[i]].y]=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
cout<<"#############"<<endl;
}
void bktr(int k)
{
int i;
for(i=1;i<=m;i++)
{
st[k]=i;
if(valid(k))
if(k==p)
tipar();
else
bktr(k+1);
}
}
void main()
{
int i,j;
clrscr();
citiri();
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
cout<<"#############"<<endl;
for(p=1;p<=m;p++)
{
init();
bktr(1);
}
getch();
}
1.2.2. Subgraf
[15]Definiție:
Fie graful G=(X,U). G1=(Y,T), cu T și Y, este un subgraf al lui G dacă și numai dacă se obține prin eventuala eliminare a unor noduri din G, precum și a arcelor incidente cu acestea. Astfel, în cazul în care nu se va elimina nici un nod, un subgraf al lui G poate fi chiar G.
Fie graful orientat G=(X,U). Graful G1=(Y,T) va fi subgraf al lui G dacă Y este inclus în X și dacă T este inclus în U.
Pentru graful din figura 7 , am construit subgraful obținut prin eliminarea nodurilor 1 și 4, reprezentat în figura 11.
Astfel mulțimea X={1, 2, 3, 4} devine Y={1, 2, 4} iar U={u1, u2, u3, u4} se reduce la mulțimea T={u2} datorită suprimării arcelor u1, u3 și u4 incidente cu nodul 3.
Programul C++ de generare a tuturor subgrafurilor unui graf G(X,U) dat prin vectorul de arce este următorul:
Programul utilizează tehnica Backtracking în varianta recursivă;
Se generează toate subgrafurile distincte după modelul combinărilor;
Soluțiile sunt prezentate sub forma mulțimii nodurilor și mulțimii arcelor asociate subgrafurilor rezultate.
#include<iostream.h>
#include<conio.h>
int st[10],a[10][10],m,n,k,p;
struct arc
{
int x,y;
}v[10];
void citiri()
{
int i;
cout<<"Nr. de noduri: ";
cin>>n;
cout<<"Nr. de arce: ";
cin>>m;
cout<<"Introduceti extremitatile arcelor"<<endl;
for(i=1;i<=m;i++)
{
cout<<"v["<<i<<"]= ";
cin>>v[i].x>>v[i].y;
}
}
int exista(int q,int z)
{
int i;
for(i=1;i<=m;i++)
if(v[i].x==q&&v[i].y==z)
return 1;
return 0;
}
void init()
{
int i;
for(i=1;i<=p;i++)
st[i]=0;
}
int valid(int k)
{
if(k>1&&st[k]<=st[k-1])
return 0;
return 1;
}
void tipar()
{
int i,j;
cout<<"Noduri: ";
for(i=1;i<=p;i++)
cout<<st[i]<<' ';
cout<<endl;
cout<<"Arce: ";
for(i=1;i<=p-1;i++)
for(j=i+1;j<=p;j++)
if(exista(st[i],st[j]))
cout<<'('<<st[i]<<','<<st[j]<<"),";
cout<<endl;
cout<<"#############"<<endl;
}
void bktr(int k)
{
int i;
for(i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
if(k==p)
tipar();
else
bktr(k+1);
}
}
void main()
{
int i,j;
clrscr();
citiri();
for(p=1;p<=n;p++)
{
init();
bktr(1);
}
getch();
}
1.2.3. Lanț
[12]Definiție:
Se numește lanț într-un graf orientat G(X,U), o mulțime de arce L={(x1,x2),(x2,x3),…,(xk-1,xk), cu proprietatea că oricare două arce vecine în mulțime au o extremitate comună.
Observație:
Într-un lanț nu contează orientarea arcelor !!!
Lanțurile pot fi : – elementare;
– neelementare.
Lanțurile elementare sunt cele care au proprietatea că oricare două noduri comparate împreună din componența sa sunt distincte.
Lanțurile neelementare au proprietatea că cel puțin un nod se regăsește de cel puțin două ori în mulțimea de noduri a lanțului.
În figura 12, putem identifica atât lanțuri elementare cât și lanțuri neelementare.
Lanțuri elementare: 1 , 2 , 3 , 4 , 5 sau 1 , 2 , 4 , 5 , 3 sau 5 , 1 , 2 , 4 , 3
Lanțuri neelementare: 2 , 3 , 4 , 5 , 3 , 5 , 1 sau 2 , 4 , 5 , 3 , 4 , 1
Astfel, x1 și xk sunt extremitățile lanțului, numărul de arce dintre acestea ce leagă componentele lanțului între ele reprezentând lungimea lanțului.
Programul C++ de generare a tuturor lanțurilor elementare dintr-un graf G(X,U) dat prin matricea de adiacență este următorul:
Programul utilizează tehnica Backtracking în varianta recursivă;
Se generează toate lanțurile elementare distincte după modelul combinărilor;
Soluțiile sunt prezentate sub forma unor șiruri de noduri.
#include<iostream.h>
#include<conio.h>
int st[10], n,m, k,p, a[10][10],v[10][10],t,r;
int caut()
{
int t,z,sw,sw1,t1,nr;
if(r==0)
{
r++;
for(t=1;t<=p+1;t++)
v[r][t]=st[t];
return 0;
}
else
{
sw=0;
for(z=1;z<=r;z++)
{
nr=0;
for(t=1;t<=p+1;t++)
{
sw1=0;
for(t1=1;t1<=p+1;t1++)
if(v[z][t1]==st[t])
sw1=1;
if(sw1==1)
nr++;
}
if(nr==p+1)
sw=1;
}
if(sw==0)
{
r++;
for(t=1;t<=p+1;t++)
v[r][t]=st[t];
return 0;
}
}
return 1;
}
void init()
{ int i;
for(i=1; i<=p+1; i++)
st[i]=0;
}
int valid(int k)
{
int i;
if(k>1)
for(i=1; i<=k-1; i++)
if(st[k]==st[i])
return 0;
if((k>1)&&(a[st[k]][st[k-1]]==0)&&(a[st[k-1]][st[k]]==0)
return 0;
return 1;
}
void tipar()
{
int i;
if(caut()==0)
{
for(i=1;i<=p+1;i++)
cout<<st[i]<<' ';
cout<<endl;
}
}
void bktr(int k)
{
int i;
for(i=1; i<=n; i++)
{
st[k]=i;
if(valid(k))
if(k==p+1)
tipar();
else
bktr(k+1);
}
}
void introducere()
{
int i,j,x,y;
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
a[i][j]=0;
for(i=1; i<=m; i++)
{
cout<<"Tastati extremitatile unui arc: ";
cin>>x>>y;
a[x][y]=1;
}
}
void init1()
{
int i,j;
r=0;
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
v[i][j]=0;
}
void meniu()
{char c,w;
do
{
clrscr();
cout<<"0-Introducere date"<<endl;
cout<<"1-Afisarea solutii"<<endl;
cout<<"2-Parasire program"<<endl;
cout<<"Introduceti optiunea: ";
cin>>c;
if(c=='0')
{
introducere();
}
if(c=='1')
{
for(p=1;p<=m;p++)
{
init1();
init();
bktr(1);
}
cout<<endl;
cout<<"apasati o litera";
cin>>w;
}
}while(c!='2');
}
void main()
{
meniu();
}
1.2.4. Drum
[12]Definiție:
Se numește drum într-un graf orientat G(X,U), un șir de noduri D=[z1,z2,……..,zk], unde z1,z2,….,zk X, cu proprietatea că oricare două noduri consecutive sunt adiacente, adică există arcele [z1,z2], [z2,z3],………, [zk-1,zk] care să aparțină lui U.
Astfel, z1 și zk sunt extremitățile drumului, numărul de arce dintre acestea ce leagă componentele drumului între ele reprezentând lungimea drumului.
Drumurile se clasifică în: – elementare;
– neelementare.
Drumurile elementare sunt cele care, în afară de primul și ultimul, au toate nodurile distincte.
Exemplu: 1, 2, 3 în graful din figura 13.
Drumurile neelementare, spre deosebire de cele elementare, au proprietatea că cel puțin un nod se repetă în cadrul succesiunii.
Exemplu: 1, 2, 4, 2, 3 în graful din figura 13.
1.2.5. Circuit
[12]Definiție:
Într-un graf orientat oarecare G=(X,U), noțiunea de circuit se definește ca fiind un drum L={x1, x2, x3, …, xk} , unde x1, x2, x3, …, xk aparțin mulțimii X, cu proprietatea că:
– primul nod este egal cu ultimul(x1=xk);
– arcele (x1,x2), (x2,x3), …, (xk-1,xk) sunt distincte două câte două.
Astfel, x1 și xk sunt extremitățile circuitului, numărul de arce dintre acestea ce leagă componentele circuitului între ele reprezentând lungimea circuitului.
Circuitele se clasifică în: – elementare;
– neelementare.
Circuitele elementare sunt cele care, în afară de primul și ultimul, au toate nodurile distincte.
Exemplu: 5, 6, 7, 5 și 1, 2, 3, 4, 5, 1 în graful din figura 14.
Circuitele neelementare, spre deosebire de cele elementare, au proprietatea că cel puțin un nod se repetă în cadrul succesiunii, făcând abstracție de ultimul nod.
Exemplu: 1, 2, 3, 4, 5, 6, 7, 5, 1 în graful din figura 14.
Programul C++ de generare a tuturor circuitelor elementare dintr-un graf G(X,U) dat prin matricea de adiacență este următorul:
Programul utilizează tehnica Backtracking în varianta recursivă;
Se generează toate circuitele elementare distincte ;
Soluțiile sunt prezentate sub forma unor șiruri de noduri.
#include <iostream.h>
#include<conio.h>
int a[10][10],st[10],n,k,t;
void init()
{ int i;
for(i=1;i<=t+1;i++)
st[i]=0;
}
int valid(int k)
{int i;
if((k>1)&&(a[st[k-1]][st[k]]==0))
return 0;
if((k>1)&&(k<t+1))
{
for(i=1;i<=k-1;i++)
if(st[k]==st[i])
return 0;
if(st[k]<st[k-1])
return 0;
}
if((k==t+1)&&(st[k]!=st[1]))
return 0;
return 1;
}
void tipar()
{int i;
for(i=1;i<=t+1;i++)
cout<<st[i]<<" ";
cout<<endl;
}
void bktr(int k)
{int i;
for(i=1;i<=n;i++)
{
st[k]=i;
if(valid(k))
if(k==t+1)
tipar();
else
bktr(k+1);
}
}
void citiri()
{int i,j,x,y;
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
a[i][j]=0;
for(i=1; i<=m; i++)
{
cout<<"Tastati extremitatile unui arc: ";
cin>>x>>y;
a[x][y]=1;
}
}
void meniu()
{
cout<<"1-Introducere date"<<endl;
cout<<"2-Generari cicluri"<<endl;
cout<<"3-Parasire program"<<endl;
}
void main()
{int q;
do
{meniu();
cin>>q;
if(q==1)
{
citiri();
getch();
clrscr();
}
if(q==2)
{
for(t=3;t<=n;t++)
{
init();
bktr(1);
}
getch();
clrscr();
}
}while(q!=3);
cout<<"SFARSIT!";
}
1.3. TIPURI SPECIALE DE GRAFURI
1.3.1. Graf complet
[9]Definiție:
Un graf orientat G=(X,U) este complet, dacă și numai dacă oricare două noduri ale sale sunt adiacente.
Spre deosebire de grafurile neorientate la care există un graf complet unic cu n vârfuri, pentru un n dat, putem construi mai multe grafuri orientate complete având numărul de noduri n.
Acest lucru decurge din faptul că două vârfuri x, y sunt adiacente în oricare din următoarele situații: există arcul (x,y), există arcul (y,x), există ambele arce (x,y), (y,x). Cum sunt Cn2 posibilități de a alege două noduri distincte, iar pentru fiecare dintre acestea există 3 situații ca ele să fie adiacente rezultă că pentru un n dat sunt 3x grafuri orientate complete cu n vârfuri unde x= Cn2
Exemplu: Pentru n=2, vom avea trei grafuri orientate complete, ca în figura 15.
1.3.2. Graf turneu
[29]Definiție:
Un graf orientat este turneu, dacă oricare ar fi două vârfuri i și j, i≠j, între ele există un singur arc: arcul (i,j) sau arcul (j,i).
Proprietăți:
Orice graf turneu este graf complet;
Există grafuri turneu cu n noduri;
În orice graf turneu există un drum elementar care trece prin toate vârfurile grafului.
Exemplu de graf turneu cu n=4 vârfuri (figura 16):
CAPITOLUL II
ALGORITMI DE PRELUCRARE A GRAFURILOR ORIENTATE
2.1. Algoritmul Roy-Warshall(determinarea matricii drumurilor)
[12]Matricea drumurilor se obține aplicând matricei de adiacență niște transformări succesive. Vom spune că există drum de la nodul i la nodul j, dacă găsim un nod k(diferit de i și de j) cu proprietatea că există drum de la i la k și drum de la k la j.
Astfel, un element a[i,j] care este 0, devine 1, dacă există un nod intermediar, k, astfel încât a[i,k]=1 și a[k,j]=1. Pentru a găsi arcele nodului k, trebuie parcurse pe rând în variabila k toate nodurile 1, 2,.., n.
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (a[i,j]=0) and ((i<>k) and (j<>k) then
{vârful intermediar k trebuie sa fie diferit de cele 2 noduri între care se caută un drum}
a[i,j]:=a[i,k]*a[k,j];
Atribuirea a[i,j]:=a[i,k]*a[k,j] este o scriere elegantă a regulii de mai jos:
– în cazul în care unul din elementele a[i,k], a[k,j] este 0, a[i,j] va rămâne 0;
– dacă a[i,k]=1 și a[k,j]=1, atunci a[i,j] devine 1.
Pentru a înțelege mai bine vă vom prezenta un exemplu ce vă poate veni în ajutor.
Exemplu :
Fie graful G cu matricea de adiacență A dată mai jos:
A =
Graful are n=4 noduri, deci matricea de adiacență va suferi patru transformări într-un ciclu, pentru k=1,2,3,4.
Pentru început vom urmări în detaliu prima transformare, cu k=1.
În alte două cicluri for se parcurg elementele a[i,j] ale matricei de adiacență, dar cu condiția suplimentară i≠k și j≠k. Așadar la prima transformare nu vor fi „analizate”
elementele de pe linia 1 și coloana 1. Dintre restul elementelor se reperează cele egale cu 0 în matricea de adiacență. Acestea sunt a[2,2], a[3,2], a[3,3], a[3,4], a[4,3], a[4,4].
Ce face algoritmul pentru fiecare astfel de element a[i,j] egal cu 0? Încearcă să-l transforme în 1 prin atribuirea a[i,j]:= a[i,1]*a[1,j].Luând pe rând elementele a[i,j] enumerate mai sus avem:
– a[2,2]:=a[2,1]*a[1,2] = 0; – a[3,2]:=a[3,1]*a[1,2] = 0;
– a[3,3]:=a[3,1]*a[1,3] = 0; – a[3,4]:=a[3,1]*a[1,4] = 0;
– a[4,3]:=a[4,1]*a[1,3] = 1; – a[4,4]:=a[4,1]*a[1,4] = 0;
Observăm că la prima transformare, pentru k=1,a devenit 1 un singur element din rândul celor care erau nule, și anume a[4,3]. Pentru moment matricea a este
a =
Continuăm cu a doua transformare, pentru k=2, care, atenție, se aplică acum noii matrici obținute. În mod similar se caută a[i,j] nule, cu j≠k, adică i, j≠2. Acestea sunt: a[1,1], a[1,4], a[3,1], a[3,3], a[3,4], a[4,4]. Pentru fiecare dintre ele se aplică din nou transformarea a[i,j]:=a[i,k]*a[k,j], adică a[i,j]:=a[i,2]*a[2,j]. În urma atribuirilor respective, vor deveni 1 elementele a[1,4] și a[4,4]. Acum am obținut matricea
a =
Au mai rămas două transformări, pentru k=3 și k=4. Procedând absolut analog, veți putea observa că pentru k=3 nu se mai transformă nici un element, iar pentru k=4 vor fi transformate în 1 trei dintre elementele nule ale matricii. Vom obține în final matricea drumurilor de mai jos.
a =
2.2. Algoritmul Roy-Floyd(determinarea drumurilor de cost minim)
[12]Fiind dat un graf G=(X,U) cu X={x1, x2,…, x3} și o funcție l: U→R+ să se determine pentru fiecare pereche de noduri xi,, xj (i≠j) lungimea minimă a drumului de la xi la xj precum și aceste drumuri.
Algoritmul Roy-Floyd determină lungimile minime ale drumurilor între oricare două noduri ale grafului într-o matrice C=(cij)n*n unde
0, dacă i=j
Cij = lungimea drumului minim de la xi la xj, dacă există drum de la xi la xj
∞, dacă nu există drum de la xi la xj
Determinarea matricii C este asemănătoare algoritmului Roy-Warshall pentru obținerea matricii drumurilor.
Se pornește de la matricea costurilor C.
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (c[i,k]+c[k,j]) < c[i,j] then
c[i,j]:=c[i,k]+c[k,j];
Observație. Acest algoritm poate fi privit ca o succesiune de n transformări aplicate matricii C.
Simultan cu determinarea lungimilor minime ale drumurilor, pot fi reținute și acestea. Vom folosi o matrice D = (dij)n*n ale cărei elemente dij sunt mulțimi de noduri (dij va reprezenta în final mulțimea nodurilor ce pot precede pe xj în drumul minim de la xi la xj).
Odată cu inițializarea matricii C cu matricea costurilor vom inițializa și matricea D astfel:
{xi} dacă cij < ∞ sau i≠j
dij=
dacă cij = ∞ sau i=j
Pe măsură ce se actualizează matricea C vom actualiza și matricea D după cum urmează:
dacă cij < cik + ckj, atunci dij rămâne neschimbat;
dacă cij = cik + ckj (înseamnă că am găsit noi posibilități de construire a drumului minim de la xi la xj folosind nodul k) se adaugă la dij vârfurile din dkj;
dacă cij > cik + ckj se inițializează dij cu dkj.
În final reconstituirea drumurilor minime între oricare două vârfuri xi, xj se face pornind din xj, astfel: precedentul lui xj îl alegem din mulțimea dij având unul din aceste noduri fixat (să-l numim xq) precedentul acestuia va fi orice nod din mulțimea diq. Precedentul continuă până ajungem la nodul xi.
Observație: Dacă ne interesează doar câte un drum pentru fiecare pereche de noduri xi, xj vom considera în locul matricii D o matrice D’ tot n*n astfel încât d’ij să rețină un nod ce-l poate precede pe xj în drumul minim de la xi la xj.
Mai jos este prezentat programul Pascal de determinare a drumurilor minime între oricare două vârfuri ale unui graf G = (X,U) cu X = {1,2,……,n};
program roymin;
const nmax=20;
inf=maxint;
{inf poate fi o constanta cu o valoare mai mare decat suma tuturor costurilor}
type multime=set of 1..nmax;
var c:array [1..nmax,1..nmax[ of word;
{c initial matricea drumurilor}
d:array[1..nmax,1..nmax] of multime;
dr:array[1..nmax] of 1..nmax;
n,m,i,j,k,lg:word;
procedure initc;
{initializeaza matricea costurilor C}
begin
write(‘Introduceti nr. de noduri’);
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
c[i,j]:=inf;
c[i,i]:=0;
end;
write(‘Nr de arce este:’);
readln(m)
for i:=1 to m do
begin
write(‘ Extremitatile si lungimea arcului ‘,i,’:’);
readln(x,y,z);
c[x,y]:=z;
end;
end;
procedure initd;
{initializam matricea D}
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if (c[i,j]<inf) and (i<>j) then
d[i,j]:=[i]
else
d[i,j]:=[];
end;
procedure drum(i,j:integer);
{genereaza in vectorul dr un drum minim de la i la j pornind din nodul j}
var k:integer;
begin
if k<>j then
begin
for k:=1 to n do
if k in d[i,j] then
begin
inc(lg);
dr(lg):=k;
drum(i,k);
lg:=lg-1;
end;
end
else
begin
writeln;
for k:=lg downto 1 do
write(dr[k],’ ’);
end;
end;
procedure afisare;
var i,j:integer;
{afisarea rezultatelor}
begin
for i:=1 to n do
for j:=1 to n do
begin
writeln;
if c[i,j]=inf then
writeln(’nu exista drum intre’,i,’si’,j);
else
begin
writeln(’Lungimea drumurior minime de la’,i,’la’,j,’este’,c[i,j]);
if i<>j then
begin
lg:=1;
dr[1]:=j;
drum(i,j);
end;
end;
end;
end;
begin
initc;
initd;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if c[i,j]>c[i,k]+c[k,j] then
begin
c[i,j]:=c[i,k]+c[k,j];
d[i,j]:=d[k,j];
end
else
if c[i,j]=c[i,k]+c[k,j] then
d[i,j]:=d[i,j]+d[k,j];
afisare;
end.
Drumuri maxime în grafuri orientate
Fie G = (X,U) un graf fără circuite cu X={x1,x2,……..,xn} și l: U→ R+ .
Ne punem problema determinării drumurilor de lungime maximă în acest graf. Vom atașa grafului G o matrice M = (mij)n*n definită astfel:
l(xi,xj) dacă (xi,xj) € U
mij = −∞ dacă (x,x) € U și (i≠j)
0 dacă i=j
Observăm că această matrice este asemănătoare matricii costurilor atașată grafului pentru determinarea drumurilor minime, cu diferența că pentru perechi de noduri xi ,xj (i≠j) pentru care nu există arcul (xi,xj) marcăm în matrice −∞ (care evident nu va interveni niciodată într-un eventual drum maxim de la xi la xj).
Algoritmii de determinare a drumurilor minime pot fi adaptați cu mici modificări pentru determinarea drumurilor maxime. Considerând problema determinării tuturor drumurilor maxime între oricare două vârfuri xi,xj (i≠j) pentru care există drum de la xi la xj putem utiliza următorul algoritm:
Fie M matricea asociată grafului ca mai sus, iar D=(dij)n*n cu
{Xi} dacă mij > -∞ și (i≠j)
dij=
O dacă mij = -∞ sau i=j
For k:= 1 to n do
For i:= 1 to n do (k≠i)
For j:= 1 to n do (k≠j)
If mij < mik + mkj then
begin
mij:=mik +mkj;
dij:=dkj;
end
else
if mij=mik + mkj then
dij:=dij + dkj;
2.3. Algoritmul lui Dijkstra(determinarea costului și drumului minim, de la un VÂRF ales la toate celelalte)
[27]Algoritmul utilizează metoda Greedy, generând drumurile minime în ordinea crescătoare a lungimilor.
Exemplu:
Se pornește de la vârful xi0.Evident cel mai scurt drum de la x io la unul din celelalte vârfuri ale grafului este dat de arcul (xi0, xj) de lungime minimă. Următorul drum în ordinea lungimilor va fi dat fie de un alt arc cu extremitatea inițială xi0 fie de un drum (xi0, xj, xp). Alegem în continuare drumuri în ordinea crescătoare a lungimilor, până când am determinat drumuri minime de la xi0 către toate vârfurile pentru care există drum pornind de la xi0. Pentru aceasta se consideră S mulțimea vârfurilor xj aparținând mulțimii nodurilor grafului, pentru care am găsit drum minim de la xi0 la xj. Inițial S={xio}. La fiecare pas, adăugăm în S acel nod xk care aparține mulțimii nodurilor grafului și nu mai aparține mulțimii S, cu proprietatea că drumul minim de la xi0 la xk are cel mai mic cost dintre toate drumurile de la xi0 la xp( xp nu aparține lui S).
Pentru exemplul considerat, S va avea pe rând următorul conținut:
S={1}
S={1, 2}
S={1, 2, 5}
S={1, 2, 5, 3}
S={1, 2, 5, 3, 4}
Să observăm că drumul minim de la xio la xk (xk nodul ce urmează să-l adăugăm în S la un moment dat) trece numai prin vârfuri din S( cu excepția lui xk); într-adevăr notând xi primul vârf de pe acest drum ce nu aparține lui S și presupunând că xi≠xk ar rezulta că drumul de la xi0 la xi este mai scurt decât cel de la xio la xk ceea ce ar contrazice alegerea lui xk.
Pentru a alege nodul xk ce urmează a fi adăugat în S vom folosi un vector d=(d1, d2,…,dn) astfel incât:
Lungimea drumului minim de la xi0 la xi, dacă xi aparține lui S
di= Lungimea drumului minim de la xi0 la xi ce folosește numai vârfuri din S, dacă
xi nu aparține lui S
Inițial di=C(i0, i), i=1,n unde C este matricea costurilor.
La un moment dat, adăugăm în S nodul xk cu proprietatea că
dk= min (dj, xk ).
După adăugarea lui xk în S trebuie actualizate valorile lui d pentru elementele care nu sunt în S, deoarece este posibil ca drumul minim de la xi0 la unul din aceste noduri (folosind noduri din S) să folosească nodul xk pe care tocmai l-am adăugat. Fie xj (nu apartine lui S) un astfel de nod. Drumul minim de la xi0 la xj ce folosește noduri din S (inclusiv xk) va fi de forma D=(xi0,…,xk,xj). Într-adevăr, presupunând că există noduri intermediare xp la xi adică D=(xi0,…,xk,…,xp…,xj) ar exista drumul mai scurt format din drumul minim de la xi0 la xp (care evident nu conține xk deoarece xp a fost adăugat mai înainte la mulțimea S) și secvența din D de la xp la xj. Deci pentru xj, dj se modifică după adăugarea lui xk numai dacă
dk+ C(k,j)<dj, caz in care dj:=dk + C(k,j).
În final, vectorul d va conține costurile( lungimile) drumurilor minime de la xi0 la celelalte noduri; dacă pentru un nod xj nu există drum de la xi0 la xj, dj=∞.
Pentru a reține și drumurile minime (nu numai lungimile lor) vom considera un vector numit PREC care reține indicele precedentului fiecărui nod în drumul minim de la xi0 la acel nod.
Acest lucru se bazează pe faptul că dacă D=(z1, z2,…,zq) este drum minim de la z1 la zq atunci D1=(z1,…,zq-1) este drum minim de la z1 la zq-1, D2=(z1,…,zq-2) este drum minim de la z1 la zq-2 și așa mai departe.
Inițial, PRECi= 0 dacă i=i0 sau C(i0,i)=∞
i0 dacă C(i0,i)≠∞ și i≠i0
La fiecare modificare dj:=dk+ C(k,j) vom avea o actualizare a lui PREC de forma PRECj:=k.
Algoritmul se termină când S conține toate nodurile xj pentru care există drum de la xi0 la xj ; deci, fie când S cuprinde toate nodurile grafului, fie când nodurile care nu aparțin lui S cuprind numai noduri pentru care nu există drumuri pornind de la xi0 la ele (caz în care min(xi, xj)=∞).
Mai jos este prezentat algoritmul în limbaj Pascal. Pentru prezentarea mulțimii S s-a folosit vectorul caracteristic S cu n componente
0 dacă xi nu aparține lui S
S[i]=
1 dacă xi aparține lui S
Ca mulțime de noduri se consideră X=(1, 2,…, n) iar lungimile arcelor se consideră numere întregi.
program Dijkstra;
const nmax=15;
inf=maxint div 2;
var c:array[1..nmax, 1..nmax] of integer;
k,i,j,arc,m,n,x,y,z,xp:integer;
s,d,prec:array[1..nmax] of integer;
g:boolean;
procedure min(var k:integer);
var m,i:integer;
begin
m:=inf*2;
for i:= 1 to n do
if (S[i]=0) and (d[i]<m) then
begin
m:=d[i];
k:=i;
end;
end;
procedure drum(i:integer);
begin
if i<>0 then
begin
drum(prec[i]);
write(i);
end
else
writeln;
end;
begin
writeln(‘dati numarul de noduri’); readln(n);
for i:=1 to n do
for j:= 1 to n do
c[i,j]:=inf;
for i:=1 to n do
c[i,i]:=0;
writeln(‘dati numarul de arce’); read(arc);
for i:=1 to arc do
begin
write(‘dati arcul’,i,’si lungimea lui’);
readln(x,y,z);
end;
read(xp);
for i:=1 to n do
begin
d[i]:=c[xp,i];
s[i]:=0;
if c[xp,i]< inf then
prec[i]:=xp
else
prec[i]:=0;
end;
s[xp]:=1;
prec[xp]:=0;
g:=true;
x:=0;
repeat
min(k);
x:=x+1;
if (d[k]=inf) or (x=n) then
g:=false;
else
begin
s[k]:=1;
for j:=1 to n do
if (s[j]=0) and (d[j]>d[k]+c[k,j]) then
begin
d[j]:=d[j]+ c[k,j];
prec[j]:=k;
end;
end;
until (not g);
for i:= 1 to n do
if i<>xp then
if d[i]=inf then
begin
write(‘nu exista drum de la ‘,xp,’la’,i);
writeln;
end
else
begin
writeln(‘drum minim de la’,xp,’la’,i);
drum(i);
writeln;
end;
end.
2.4. CONEXITATE ÎN GRAFURI ORIENTATE
2.4.1. Verificarea conexității unui graf
[27]Definiție:
Un graf G(X,U) este conex, dacă oricare ar fi două vârfuri ale sale există un lanț care le leagă.
Fie graful G(X,U) din figura 19:
Verificarea proprietății de conex o putem ușor realiza prin aplicarea algoritmului B.F. de parcurgere în lățime, cu precizarea că prin ”vecin” trebuie să înțelegem orice vârf adiacent cu vârful curent din coadă(să existe arcul (i,j) sau (j,i)).
Aplicarea algoritmului de parcurgere în lățime B.F. pe graful din figura 19, furnizează, indiferent de nodul ales ca punct de start, un șir de valori ce conține toate vârfurile grafului.
Ordinea vizitării vârfurilor în parcurgerea BF, la considerarea ca vârf de start 1, este 1,2,5,6,3,4.
Șirurile obținute sunt de fapt lanțuri, ce unesc două noduri, trecând prin (n-2) noduri intermediare. Rezultă că luând oricare două noduri, ele pot fi unite printr-un lanț, ceea ce arată că graful din figură este conex.
Verificarea proprietății de graf conex se face simplu prin aplicarea algoritmului de parcurgere în lățime B.F.; ulterior, dacă au fost vizitate toate nodurile (echivalent cu depunerea în coadă a tuturor nodurilor), graful are proprietatea de conex.
Programul C++ pentru verificarea proprietății de conex a unui graf orientat G(X,U) cu n vârfuri, dat prin cele m arce ale sale, este următorul:
#include<iostream.h>
#include<conio.h>
int viz[30],n,a[20][20],c[30];
void introducere()
{
int i,j,x,y,m;
cout<<"Dati numarul de varfuri n=";
cin>>n;
cout<<"Dati numarul de arce m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
for(i=1;i<=m;i++)
{
cout<<"Extremitatile arcului "<<i<<" sunt: ";
cin>>x>>y;
a[x][y]=1;
}
}
int bf()
{
int i,pi,ps,pstart;
cout<<"Varful de start: ";
cin>>pstart;
for(i=1;i<=n;i++)
viz[i]=0;
pi=1;
ps=1;
viz[pstart]=1;
c[pi]=pstart;
while(pi>=ps)
{
for(i=1;i<=n;i++)
if((a[c[ps]][i]==1||a[i][c[ps]]==1)&&viz[i]==0)
{
pi++;
c[pi]=i;
viz[i]=1;
}
ps++;
}
return(pi==n);
}
void main()
{
int i;
clrscr();
introducere();
if(bf())
cout<<"Graful este conex";
else
cout<<"Graful NU este conex";
getch();
}
2.4.2. Descompunerea în componente conexe a unui graf orientat
[27]Definiție:
Se numește componentă conexă a grafului G =(X,U), un subgraf G1 =(X1,U1) a lui G, conex, cu proprietatea că NU există LANȚ care să lege un nod din X1 cu unul din X-X1.
Altfel spus, o componentă conexă a grafului G este un subgraf conex al lui G, maximal în raport cu această proprietate.
Dacă se consideră nodul 1 ca punct de start la aplicarea algoritmului B.F. pe graful din figura 20, atunci:
vecinul lui 1 este 2
vecinul nevizitat a lui 2 este 4
vecinii nevizitați ai lui 4 sunt 3 și 5
Ordinea vizitării nodurilor este 1, 2, 4, 3, 5 iar nodurile nevizitate sunt: 6,7,8,9.
Similar, dacă se consideră exemplul nodului 6 ca punct de start, se pot vizita numai nodurile 6, 7, 8, 9, rămânând nevizitate următoarele noduri: 1,2,3,4,5.
Prin urmare, la o parcurgere nu se pot vizita toate nodurile, consecința fiind clară: nu oricare două noduri pot fi legate printr-un traseu de tip lanț, rezultând că graful nu este conex, acesta deținând componente conexe.
Din definițiile și exemplele anterioare, se desprind următoarele concluzii care sunt foarte importante:
-Dacă numărul componentelor conexe dintr-un graf este mai mare decât 1, atunci graful nu este conex.
-Un graf conex are o singură componentă conexă, care cuprinde toate nodurile sale.
– Un nod izolat reprezintă o componentă conexă.
Programul C++ pentru descompunerea în componente conexe a unui graf orientat G(X,U) cu n vârfuri, dat prin cele m arce ale sale, este următorul:
#include<iostream.h>
#include<conio.h>
int viz[30],n,k,u,v,p,a[20][20],c[30],pstart;
void introducere()
{
int i,j,m,x,y;
cout<<"Dati numarul de varfuri n=";
cin>>n;
cout<<"Dati numarul de arce m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
for(i=1;i<=m;i++)
{
cout<<"Extremitatile arcului "<<i<<" sunt: ";
cin>>x>>y;
a[x][y]=1;
}
cout<<"Dati varful de plecare ";
cin>>pstart;
for(j=1;j<=n;j++)
viz[j]=0;
}
void bf()
{
int i,pi,ps;
pi=1;
ps=1;
viz[pstart]=1;
c[pi]=pstart;
while(pi>=ps)
{
for(i=1;i<=n;i++)
if((a[c[ps]][i]==1||a[i][c[ps]]==1)&&viz[i]==0)
{
pi++;
c[pi]=i;
viz[i]=1;
}
ps++;
}
if(pi==n)
cout<<"Graful este conex";
else
{
cout<<"Componenta conexa"<<endl;
for(i=1;i<=pi;i++)
cout<<c[i]<<' ';
cout<<endl;
}
}
void meniu()
{char c1,w;
do
{
clrscr();
cout<<"0-Introducere date"<<endl;
cout<<"1-Afisarea rezultatelor"<<endl;
cout<<"2-Parasire program"<<endl;
cout<<"Introduceti optiunea: ";
cin>>c1;
if(c1=='0')
{
introducere();
}
if(c1=='1')
{
do
{
bf();
pstart=1;
while(viz[pstart]==1&&pstart<=n)
pstart++;
}while(pstart<=n);
cout<<endl;
cout<<"apasati o litera";
cin>>w;
}
}while(c1!='2');
}
void main()
{
meniu();
}
2.4.3. Verificarea proprietății de tare conex a unui graf, parcurgerea D.F., algoritmul lui Kosaraju
[9]Definiție:
Un graf orientat G(X,U) este tare conex, dacă oricare ar fi două vârfuri ale sale x și y există un drum de la x la y precum și un drum de la y la x.
[31]Parcurgerea unui graf orientat în adâncime (depth first)
Parcurgerea unui graf în adâncime se face prin utilizarea stivei (alocate implicit prin subprograme recursive).
Pentru fiecare vârf se parcurge primul dintre vecinii lui neparcurși încă.
După vizitarea vârfului inițial x1, se explorează primul vârf adiacent lui, fie acesta x2, se trece apoi la primul vârf adiacent cu x2 și care nu a fost parcurs încă, ș.a.m.d. Fiecare vârf se parcurge cel mult o dată.
De exemplu, pentru graful de mai jos, se va proceda în felul următor:
se pornește din vârful 1, (se poate începe de la oricare alt vârf)
se explorează în continuare primul vecin al acestuia: vârful 2,
se obține 1,2
după care din 2 se explorează vârful adiacent cu acesta și care nu a fost vizitat : 3.
se obține 1,2,3
În continuare ar trebui să se parcurgă vecinul lui 3 nevizitat : 4
se obține 1, 2, 3, 4
Pentru vârful 4 ar trebui să se parcurgă primul său vecin neparcurs(vârful 1) dar acesta a fost deja parcurs. Nu mai avem ce vizita și se trece la nivelul anterior din stivă, la vârful 3.
1, 2, 3, 4 .
Se parcurge vecinul său nevizitat, vârful 5 .
Se obține : 1, 2, 3, 4 , 5.
Vârful 3 nu mai are vecini nevizitați și se trece pe nivelul anterior din stivă, vârful 2 : 1, 2, 3, 4, 5. Nici acesta nu mai are vecni nevizitați și se trece pe nivelul anterior, la vârful 1 : 1, 2, 3, 4, 5. Cum nici acesta nu mai are vecini nevizitați, se încheie algoritmul.
Vârful 6 rămâne nevizitat.
Programul C++ pentru parcurgerea în adâcime a unui graf orientat G(X,U) cu n vârfuri, dat prin cele m arce ale sale, este următorul:
#include<fstream.h>
#include<conio.h>
int a[20][20],n,m,viz[100];
void dfmr(int nod)
{
cout<<nod<<" ";
viz[nod]=1;
for(int k=1;k<=n;k++)
if(a[nod][k]==1&&viz[k]==0)
dfmr(k);
}
void main()
{int x,y,i,j,z;
clrscr();
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
for(i=1;i<=n;i++)
viz[i]=0;
for(i=1;i<=m;i++)
{cin>>x>>y;
a[x][y]=1;
}
cout<<endl<<"matricea de adiacente"<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"Dati vf de plecare ";
cin>>z;
cout<<endl<<"parcurgere in adancime incepand de la varful "<<z<<endl;
dfmr(z);
getch();
}
Verificarea proprietății de tare conex o putem ușor realiza prin aplicarea algoritmului Kosaraju.
Algoritmul lui Kosaraju
Algoritmul folosește două parcurgeri DFS (una pe graful inițial și una pe graful transpus) și o stivă pentru a reține ordinea terminării parcurgerii nodurilor grafului original (evitând astfel o sortare a nodurilor după acest timp la terminarea parcurgerii).
Graful din figura 21 este tare conex, ordinea vârfurilor fiind următoarea:
1, 4, 5, 8, 9, 7, 6, 3, 2
Programul C++ pentru verificarea proprietății de tare conex a unui graf orientat G(X,U) cu n vârfuri, dat prin cele m arce ale sale, este următorul:
#include <iostream>
#include <vector>
using namespace std;
#define nmax 100100
vector <int> v[nmax];
vector <int> vt[nmax];
vector <int> comp[nmax];
int t[nmax];
int viz[nmax];
int n,m,a,b,i,k,nr;
void dfs(int x)
{
viz[x]=1;
for(int i=0; i<v[x].size(); ++i)
if(viz[v[x][i]]==0)
dfs(v[x][i]);
t[++k]=x;
}
void dfst(int x)
{
viz[x]=-1;
comp[a].push_back(x);
for(int i=0; i<vt[x].size(); ++i)
if(viz[vt[x][i]]==1)
dfst(vt[x][i]);
}
int main()
{
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=m; ++i)
{
cout<<"a b ";
cin>>a>>b;
v[a].push_back(b);
vt[b].push_back(a);
}
for(i=1; i<=n; ++i)
if(viz[i]==0)
{
dfs(i);
}
a=0;
for(i=n; i>0; –i)
if(viz[t[i]]!=-1)
{
a++;
dfst(t[i]);
}
if(a==1)
cout<<"Graful este tare conex";
else
cout<<"Graful nu este tare conex”;
}
2.4.4. Descompunerea în componente tare conexe a unui graf orientat
[9]Definiție:
Se numește componentă tare conexă a grafului orientat G =(X,U), un subgraf G1 =(X1,U1) al lui G, tare conex, și maximal în raport cu această proprietate(adică pentru orice vârf x X-X1 subgraful indus de X1 {x} nu mai este tare conex).
Descompunerea în componente tare conexe se realizează simplu, prin aplicarea algoritmului Kosaraju.
Componentele tare conexe ale grafului din figura 22 sunt:
10
1, 4, 5, 3, 2
6, 8, 9, 7
Din definițiile și exemplele anterioare, se desprind următoarele concluzii care sunt foarte importante:
-Dacă numărul componentelor tare conexe dintr-un graf este mai mare decât 1, atunci graful nu este tare conex.
-Un graf tare conex are o singură componentă tare conexă, care cuprinde toate vârfurile sale.
– Un vârf izolat reprezintă o componentă tare conexă.
Programul C++ pentru descompunerea în componente tare conexe a unui graf orientat G(X,U) cu n vârfuri, dat prin cele m arce ale sale, este următorul:
#include <iostream>
#include <vector>
using namespace std;
#define nmax 100100
vector <int> v[nmax];
vector <int> vt[nmax];
vector <int> comp[nmax];
int t[nmax];
int viz[nmax];
int n,m,a,b,i,k,nr;
void dfs(int x)
{
viz[x]=1;
for(int i=0; i<v[x].size(); ++i)
if(viz[v[x][i]]==0)
dfs(v[x][i]);
t[++k]=x;
}
void dfst(int x)
{
viz[x]=-1;
comp[a].push_back(x);
for(int i=0; i<vt[x].size(); ++i)
if(viz[vt[x][i]]==1)
dfst(vt[x][i]);
}
int main()
{
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=m; ++i)
{
cout<<"a b ";
cin>>a>>b;
v[a].push_back(b);
vt[b].push_back(a);
}
for(i=1; i<=n; ++i)
if(viz[i]==0)
{
dfs(i);
}
a=0;
for(i=n; i>0; –i)
if(viz[t[i]]!=-1)
{
a++;
dfst(t[i]);
}
if(a==1)
cout<<"Graful este tare conex si are o singura componenta tare conexa";
else
cout<<"Graful nu este tare conex si are "<<a<<" componente tare conexe"<<'\n';
for(i=1; i<=a; ++i)
{
for(int j=0; j<comp[i].size(); ++j)
cout<<comp[i][j]<<' ';
cout<<'\n';
}
}
CAPITOLUL III
METODE ȘI STRATEGII DIDACTICE DE ÎNVĂȚARE ȘI EVALUARE
3.1. METODE DIDACTICE ȘI FUNCȚIILE ACESTORA
[18]. Metoda didactică reprezintă o cale spre didactică, și are ca scop atingerea obiectivelor educaționale. Ea este o cale în fixarea conturului unor fapte, legi, descrieri, interpretări, apropiindu-le cât mai mult de realitate.
În același timp, metodele didactice prezintă, coordonează cu informațiile, ce s-au acumulat în baza de cunoștințe a oricărei persoane. Unele metode au rolul de a descoperi adevăruri, altele slujesc la descoperirea altor adevăruri sau în cadrul cercetărilor științifice.
Metoda didactică reprezintă o sursă sigură de organizare și desfășurare a procesului de predare-învățare, și se împreunează cu alte componente ale educației.
Metoda didactică reprezintă următoarele modalități de lucru:
– încadrată în lecții sau activități extradidactice prin intermediul elevilor în scopuri utile acestora;
– intuiește, în mare parte a cazurilor, legătura dintre profesori și elevi, soluționarea problemelor împreună, prin depistarea adevărului de neadevăr;
– utilizată, sub forma unor procedee, unite și folosite, în dependență de cerințele elevilor, ca scop având înțelegerea și aprofundarea cunoștințelor, a dezvoltării creativității;
– ușurează rolul profesorului, ca persoană competentă în promovarea cunoștințelor noi, și organizator abil al proceselor de predare-învățare.
Metoda didactică poate lua parte la realizarea mai multor obiective de predare-învățare. Prin decizii complexe, profesorul, alege o metodă sau altă metodă în procesul instructiv, în dependență de scopurile urmărite, de deosebirile de vîrstă, psihologice, individuale, de experiența didactică a sa.
O metodă pedadogică ia naștere prin interacțiunea mai multor factori, la care educația se modelează după cerințele societății.
Metodele didactice conțin următoarele funcții:
– funcția cognitivă: prin care oricărui elev, i se deschide un drum spre aflarea adevărului, înțelegerea științei și tehnicii, de cercetare a culturii și a omului;
– funcția formativ-educativă: elevii din punct de vedere psihic și fizic sunt determinați să-și creeeze noi deprinderi intelectuale, structuri culturale, atitudini noi, sentimente, capacități, comportamente;
– funcția instrumentală: metoda reprezintă un instrument de execuție, fiind un mijlocitor spre atingerea obiectivelor educative;
– funcția normativă: metoda indică, faptul cum trebuie utilizate procedeele educative, cum trebuie de predat, și cum de învățat, astfel încât în final să existe un randament al învățării cât mai mare.
3.2. PROCEDEUL DIDACTIC
[18]Procedeul didactic se poate utiliza în situații concrete.
Procedeul didactic este o secvență a metodei, o bucățică, o particolă a acesteia, o tehnică, mai departe de acțiunea propriu-zisă, o parte minusculă a metodei.
Mai multe procedee legate și unite împreună, specifice unei situații concrete de învățare, dau naștere unei metode noi.
Metoda este recunoscută eficientă, în cazul în care, procedeele utilizate în cadrul ei, la fel sunt de valoare. În același context, ordinea procedeelor utilizate într-o metodă, se poate schimba în dependență de cerințele de moment, iar acest fapt face ca o metodă să poată căpăta trăsături noi, formate prin combinarea procedeelor.
Schimbările pot fi într-atât de mari, încât la un moment dat, o metodă să devină procedeu, și invers – procedeul poate să devină metodă.
Procedeul didactic reprezintă un mod de a manifesta, de a proceda, având ca scop punerea elevului într-o situație de învățare, cu sau fără profesor – în calitate de dirijor.
Acest fapt dezvoltă o altă situație, și anume una de cercetare științifică, în care sunt realizare descoperiri, dezvăluiri a adevărului. Informațiile primite sunt racordate la particularitățile lumii înconjurătoare.
Procedeul didactic reprezintă niște soluții didactice, utilizate în viața practică. În ajutorul procedeelor didactice vin tehnicile și mijloacele didactice. Relația dintre metodă și procedeu, este una mereu în schimbare, avînd un caracter dinamic.
3.3. ORGANIZAREA ÎNVĂȚĂRII
[17]Acest mod al educației este superior tuturor metodelor și procedeelor didactice.
Organizarea învățării reprezintă un grup de metode și procedee, care activează într-un anumit moment al educației, sau prin interacțiunea cu un mod nou de realizare a învățării: învățarea asistată, învățarea bazată pe cărți, etc.
În cadrul metodologiei didactice, există nivele, iar o metodă este mai sus față de alta în dependență de secvențele procedurale utilizate. Nu mai putem vorbi de o metodologie pură, în cadrul ei infiltrându-se, alte metode și procedee.
Omenirea, pe parcursul a mai multor veacuri, necesită un mod de învățare cât mai dificil. Învățarea și finalitățile acesteia, în mare măsură depind de modificările, care au loc în societate, chiar schimbările care au loc în oameni însuși: modul de gândire, concentrare, memorare. Anume aceste particularități ale omului, au dat ton la crearea diferitor metode noi de învățare.
Oricum, putem spune, că omenirea încă nu a găsit soluția potrivită în raport cu etapele educării, a proceselor încadrate în sistemul educațional. Acest fapt este observat în cazul apariției multor întrebări legate de învățământ, a greutăților, care încetinesc acest proces. Un rezultat al învățării va fi mic, în cazul în care omul nu și-a înțeles propriile capacități de prelucrare a cunoștințelor, de primire a acestora în container.
Din cauza situațiilor, în care doar o parte reușesc la învățătură, se trezesc interese asupra metodologiilor, încadrate în procesele de predare-învățare.
În momentul în care cauzele sunt descoperite, se recurge la construcția altora mai rezonabile. Prin analiza detaliată a proceselor educative s-a descoperit posibilitatea în care oamenii vor să prelucreze informații, iar acest fapt a tras după sine probabila explicație a proceselor, care vor ajuta la constituirea competențelor.
Acestea au dezvăluit faptul, de ce, cînd omul dorește să studieze, atunci când nu înțelege materia, nu primește rezultatele dorite. Rezultatele sunt cele așteptate, atunci când omul deține o înțelegere corectă asupra materialului studiat.
3.4. CLASIFICĂRI ALE METODELOR DE INVĂȚĂMÂNT
[18]O metodă se caracterizează prin dominarea unor procedee într-un anumit timp, și se pot schimba, astfel încât metoda corespunzătoare să fie clasificată altfel.
În clasificarea metodologiei didactice, se respectă următoarele:
– criteriile de clasificare trebuie să fie aceleași, nerepetate;
– clasificarea trebuie să fie completă
– clasele, în care sunt plasate metodologiile, nu trebuie să se repete;
În rezultat există următoarele clasificări posibile:
1. din punct de vedere istoric:
– metode tradiționale: expunerea, conversația, exercițiul etc.;
– metode moderne: algoritmizarea, problematizarea, brainstorming-ul, instruirea programată
2. din punct de vedere al extinderii sferei de aplicabilitate:
• metode generale: expunerea, prelegerea, conversația, discursul magistral etc.;
• metode particulare: exercițiul moral sau exemplul, în cazul educației morale.
3. din punct de vedere a prezentării cunoștințelor:
• metode verbale, bazate pe cuvântul scris sau rostit;
• metode intuitive, bazate pe observarea directă, senzorială a obiectelor și fenomenelor realității.
4. din punct de vedere al angajării elevilor la lecție:
• metode expozitive, centrate pe memoria reproductivă și pe ascultarea pasivă;
• metode active, care suscită activitatea de explorare personală a realității.
5. după funcția didactică principală:
• cu funcția principală de predare și comunicare;
• cu funcția principală de fixare și consolidare;
• cu funcția principală de verificare și apreciere a rezultatelor muncii.
6. din punct de vedere al însușirii materiei:
• metode algoritmice, bazate pe secvențe operaționale, stabile, prestabilit construite;
• metode euristice, bazate pe descoperire proprie și rezolvare de probleme.
7. din punct de vedere al structurării muncii:
• metode individuale, pentru fiecare elev individual;
• metode de predare-învățare în grupuri: de nivel sau omogene și pe grupe eterogene;
• metode frontale, cu întreaga clasă;
• metode combinate, prin alternări între variantele de mai sus.
8. după modul de percepție – învățare conștientă, prin descoperire:
• metode bazate pe învățarea prin receptare: expunerea, demonstrația cu caracter expozitiv;
• metode care apar în preponderent descoperirii dirijate: conversația euristică, studiul de caz;
• metode de descoperire propriu-zisă: exercițiul euristic, brainstorming-ul etc.
9. după schimbări produse la elevi:
• metode heterostructurante: transformarea se produce prin altul, ca în cazul expunerii, conversației, studiului de caz, problematizării etc.;
• metode autostructurante: individul se transformă prin sine, prin descoperire, exercițiu.
3.5. [32] METODICA PREDĂRII INFORMATICII
Metode, tehnici, procedee didactice.
Sarcinile didactice se realizează cu ajutorul tehnicilor, metodelor și procedeelor didactice.
Subdomeniile informaticii nu pot fi predate apelând la o singură metodă. În cele ce urmează se vor prezenta metode specifice de abordări; a predării diferitelor domenii din informatică; metodele clasice de predare (prin expunere, descoperire dirijată ctc.) urmând să fie prezentate ulterior. Bineînțeles, metodele didactice se vor combina, de asemenea se vor dezvolta pe baza experienței fiecărui profesor. Dar există câteva elemente care neapărat trebuie luate în considerare în momentul în care se alege o metodă sau o combinație a mai multora:
1 – domeniul propriu-zis al disciplinei; conținutul științific;
2 – categoria de vârstă;
3 – obiectivele generale și specifice;
4 – nivelul clasei;
5 – personalitatea clasei;
6 – personalitatea profesorului;
7 – convingerile profesorului.
Metodele care vor fi prezentate se vor analiza cu avantajele și dezavantajele lor. Se recomandă să nu se fixeze nicicând pentru totdeauna o anumită metodă aleasă la un moment dat pentru predarea unei anumite părți din materie. S-ar plictisi profesorii, s-ar plictisi elevii, iar rezultatul nu va fi cel scontat.
Metode generale de învățare:
Vom analiza metodele generale utilizate în predarea informaticii.
1. Expunerea sistematică a cunoștințelor.
2. Conversația
3. Problematizarea
4. Modelarea
5. Demonstrarea folosind materialul intuitiv
6. Exercițiul
7. Învățarea pe grupe mici
8. Munca cu manualul
9. Jocurile didactice
10. Instruirea programată
În tratarea acestor metode se vor urmări cu predilecție particularitățile specifice predării disciplinelor de informatică și, în special, aplicațiile practice de laborator și contribuția informaticii la realizarea obiectivelor didactice ale altor discipline din învățământul preuniversitar.
3.5.1. Expunerea sistematică a cunoștințelor
Dintre formele pe care le îmbracă expunerea sistematică a cunoștințelor (povestirea, prelegerea, descrierea, explicația, conversația etc.), opinăm că informatica utilizează cu precădere explicația. Elementele explicative domină procesul de instruire informatică, acestea fiind caracteristice atingerii unor obiective de referință care cuprind formarea de deprinderi și abilități practice de utilizare a unor produse soft deseori complicate și dominate de interfețe neprietenoase față de utilizator (netransparente). Ceea ce conferă o accentuată notă de adaptabilitate este operativitatea impusă de aplicarea acestei metode prin alternarea expunerii cu demonstrația practică, elevii fiind astfel scoși din pasivitatea posturii de simpli receptori. Analogiile cu situații cunoscute fac din receptorul pasiv un participant activ la expunere. Expunerea nu se desfășoară în condiții perfect univoce, adică fără alternative și reveniri, nici la disciplinele cărora metoda le este caracteristică. La informatică, aceasta se întâmplă cu atât mai puțin. Elevul primește în condiții univoce doar ceea ce i se comunică în funcție de nivelul de cunoștințe dobândit, de propriile-i presupuneri, de experiența sa practică, de nivelul său de gândire, de înțelegerea codului de comunicație, ca să nu mai vorbim de oscilațiile de atenție. Profesorul trebuie să reproiecteze lecția prin prisma posibilităților elevilor și cu mijloacele lor de gândire. Accentul trebuie pus pe raționament, prin argumentări temeinice, prin scoaterea în evidență a modului în care trebuie să gândească. Expunerea trebuie să fie însoțită de un control permanent al gradului de receptivitate al clasei, urmărindu-se mimica elevilor (edificatoare în special la elevii mici), satisfacția înțelegerii lecției sau îngrijorarea și neliniștea în cazul în care elevul a pierdut firul explicației citindu-se pe fața elevilor, întrebările, repetiția, explicațiile suplimentare, analogiile cu alte noțiuni cunoscute permit realizarea unui control permanent al receptivității la expunere, în informatică recurgem neapărat la metoda expunerii (explicației) atunci când tema este complet nouă și printr-o metodă activă nu se poate descoperi noutatea, sau metoda activă este ineficientă din punctul de vedere al operativității. Astfel este necesară această metodă pentru a înțelege noțiunea de algoritm (inclusiv exemplificările clasice), de structură de date (inclusiv modalitățile de reprezentare), de comandă, funcție sau procedură standard (în legătură cu sistemul de operare sau mediul de programare ales), de raționament (într-un spațiu închis ales) și chiar a modalității de prezentare și introducere a unor programe utilitare, softuri de aplicație etc. În acest context, pentru prezentarea comenzilor unui sistem de operare, a unui editor de texte (sau grafic), a altor softuri mai complicate (prevăzute de programa școlară) se poate recurge la următoarele (sub)metode:
Expunerea (la tablă, prin slide-uri pe videoproiector sau prin PowerPoint) cu „desenarea" meniurilor și prezentarea funcțiilor fiecărei opțiuni, urmând ca elevul (prin aplicațiile de laborator) să exerseze fiecare funcție în parte, individual sau în grupe mici de lucru.
Prezentarea meniurilor și funcțiilor fiecărei opțiuni simultan cu exersarea acestora în cadrul orelor de aplicații practice de laborator.
Prezentarea meniurilor și funcțiilor fiecărei opțiuni simultan cu demonstrarea practică în momentul prezentării lor de către profesor, sarcina elevului fiind numai aceea de a urmări și reține modul de executare a operațiilor prezentate de profesor, urmând ca elevul să aplice cunoștințele dobândite în cadrul orelor de laborator, în aplicații ample (integrate, de dorit, într-un mediu economic clar), care necesită utilizarea în mod repetat și în situații diferite a funcțiilor fiecărei opțiuni din meniul discutat.
Fiecare dintre variantele de mai sus au avantajele și dezavantajele lor. Prima variantă este cel mai des folosită deoarece, de regulă, profesorul nu are la dispoziție un laborator și pentru predare (iar aceasta se face cu întreaga clasă). Ea prezintă dezavantajul că elevul nu vede pe viu efectul executării fiecărei opțiuni (profesorul fiind nevoit în acest caz să-1 descrie în cuvinte), dinamica transformărilor și efectul video al acestora fiind greu de redat în cuvinte. Singurul avantaj este cel al obținerii de către elev a unui rezumat logic și coerent după care se va ghida în timpul realizării unor aplicații practice. A doua variantă înlătură dezavantajul neobservării pe viu a efectului executării fiecărei opțiuni, dar atenția elevului este îndreptată spre realizarea practică (simultan cu comunicarea modului de realizare a funcțiilor opțiunilor din meniuri). Astfel, o parte dintre funcții sunt abordate prea „abrupt" sau sunt chiar omise, iar altele sunt exersate prea mult. La acest dezavantaj se adaugă și reducerea randamentului prin faptul că profesorul trebuie să urmărească modul în care fiecare elev sau grupă aplică funcția prezentată și să intervină ori de câte ori un elev sau o grupă este în impas, în plus, unii elevi își formează mai repede deprinderea utilizării, iar alții mai greu, primii fiind tentați să încerce între timp alte opțiuni (chiar neprezentate încă de către profesor), ceea ce creează disfuncționalități în desfășurarea lecției, aprecierea gradului de asimilare și chiar formarea unor idei greșite de utilizare (datorate încercărilor individuale, necoordonate). Pe lângă acestea, se pierde din vedere și realizarea unui rezumat sistematic al modului de utilizare, elevul fiind tentat să exerseze imediat funcția și uită să-și noteze „în stil propriu" modul de utilizare a acesteia. Ultima variantă pare să cumuleze toate avantajele celor anterioare prin faptul că elevul urmărește și reține (neavând alte preocupări care să-i distragă atenția) modul în care profesorul execută (corect) și explică simultan, elevii putând nota tot ce acesta prezintă. Este o manieră de expunere ce înlătură formarea unor deprinderi greșite, mărind randamentul la predare și asimilarea noilor cunoștințe. Această variantă are însă și un dezavantaj: necesitatea existenței unei dotări speciale, care să permită observarea în bune condiții, de către toți elevii clasei, a ecranului calculatorului pe care profesorul face demonstrația. Utilizarea unui retroproiector sau a unui videoproiector are multe inconveniente (în afară de costul ridicat), printre care faptul că trebuie să existe anumite condiții de mediu specifice în sala de clasă. De exemplu, pentru grupe mici poate fi folosit numai calculatorul ca atare, dacă elevii pot fi așezați în preajma acestuia astfel încât fiecare să poată observa fără efort ecranul. Indiferent de conținutul lecției, metoda expunerii nu se folosește singură decât foarte rar pe parcursul unei ore întregi, aceasta alternând cu alte metode de predare. Pe de altă parte, există o tendință accentuată a cadrelor didactice de a nu-și propune aprioric folosirea cu precădere a nici unei metode, ceea ce este foarte dăunător.
3.5.2. Metoda conversației
Metoda conversației se referă la dialogul dintre profesor și elev, în care profesorul nu trebuie să apară în rolul examinatorului permanent, ci în rolul unui colaborator care nu numai întreabă, ci și răspunde la întrebările elevilor. Prin metoda conversației se stimulează gândirea elevilor în vederea însușirii, fixării și sistematizării cunoștințelor și deprinderilor, în vederea dezvoltării spiritului de colaborare și de echipă. Se asigură astfel o participare activă din partea elevilor, întrebările putând fi adresate (teoretic) în orice moment al lecției. Metoda conversației este frecvent utilizată în învățarea informaticii, ea implicând un dialog continuu între elev și profesor, respectându-se anumite reguli elementare de colaborare constructivă care să nu determine diminuarea demersului didactic, ci să-1 amplifice și să-1 consolideze. Conversația didactică poate îmbrăca forme diferite, în funcție de anumite criteria; în funcție de numărul de persoane, ea poate fi:
Individuală. Se poartă între un elev și profesor.
Colectivă sau frontală, întrebările sunt adresate întregii clase, iar răspunsurile „vin" de la diferiți elevi.
După obiectivele urmărite în diferite variante de lecții, conversația poate fi:
Introductivă. Aceasta este folosită în momentul captării atenției și reactualizării cunoștințelor asimilate anterior, pentru a trezi interesul pentru lecția care urmează.
Expozitivă, în timpul prezentării unei noi lecții, ea poate trezi interesul pentru fixarea noilor cunoștințe.
Recapitulativă. Este utilizată atunci când se urmărește recapitularea și generalizarea unor rezultate prezentate anterior.
Evaluativă. Este indicată, desigur, pe parcursul procesului de verificare și evaluare.
Dezvoltată. Este destinată prezentării unui nou subiect, nu complet necunoscut.
Caracteristicile principale ale întrebărilor, indiferent de forma de conversație, impun precizie și vizarea unui singur răspuns. De multe ori se pun întrebări vagi care încep cu Ce puteți spune despre… sau Ce știți despre…, care plasează elevul într-un dubiu total în legătură cu conținutul răspunsului. Din aceeași gamă face parte și celebrul îndemn de evaluare Prezintă subiectul pe care-l cunoști tu cel mai bine. Nu este normal ca întrebarea să conțină răspunsul sau să ceară un răspuns prin da sau nu. Ea contribuie la dezvoltarea gândirii. De asemenea, răspunsurile acceptate trebuie să fie corecte, complete, exprimate în termeni preciși, să oglindească o înțelegere efectivă a problemei abordate. Discuțiile au și rolul de a corecta greșelile din răspuns. Identificarea cauzei, eliminarea greșelii, cât și posibilitatea reapariției ei sunt foarte importante. Conversația are un rol primordial prin faptul că ajută la formarea limbajului informatic, la dezvoltarea raționamentului logic și a gândirii elevului. Dificultățile pe care elevul le întâmpină în formarea limbajului de specialitate pot lăsa urme în plan afectiv, repercutându-se asupra dezvoltării lui intelectuale. De aceea se impune o analiză amănunțită a cauzelor acestor dificultăți, iar scoaterea lor în evidență trebuie relevate prin examinări (scrise, orale, reprezentări schematice, utilizarea simbolurilor specifice). A fi la curent cu dificultățile de limbaj pe care le au elevii la anumite vârste școlare și la un anumit stadiu de însușire a disciplinei înseamnă în primul rând să nu se abuzeze de termeni de specialitate (înlocuindu-i cu termeni sinonimi din vocabularul curent sau explicându-le sensul, dacă un alt înțeles al termenului este accesibil). Dificultatea formării vocabularului de specialitate constă și în faptul că aceste cuvinte noi sunt introduse în același timp cu introducerea noțiunilor noi, ceea ce face ca îmbogățirea limbajului informatic să se facă simultan cu dezvoltarea și formarea gândirii informatice. Stăpânirea limbajului se reflectă în rezolvarea problemelor și înțelegerea textelor și documentațiilor de specialitate. Nestăpânirea acestuia provoacă inhibiție, imposibilitatea comunicării sau chiar o comunicare și o înțelegere defectuoasă, făcându-1 pe elev timid, incoerent sau chiar ridicol în exprimare. Această metodă mai are și următoarele subdirecții:
Euristică. Nu există reguli precise, se bazează doar pe întrebare/răspuns, în funcție de evoluția concretă a dialogului.
Tip dezbatere. Se realizează un schimb de păreri în care este implicat un anumit colectiv. Ar fi bine să fie trase și niște concluzii care să nu aibă doar un rol istoric.
Catehetică. Aceasta impune efectuarea unor teste care implică memoria.
Este clar că o conversație se face prin întrebări, în plus, acestea trebuie să satisfacă următoarele condiții (unele dintre ele rezultând din ceea ce am amintit mai înainte):
Să fie precise (vizând un singur răspuns).
Să nu conțină răspunsul și să aibă un rol instructiv.
Să stimuleze gândirea și capacitatea de creativitate a elevilor (De ce ?, Din ce cauză ?, In ce caz ? etc.).
Să fie formulate prin enunțuri variate și „atrăgătoare".
Să se adreseze întregului colectiv vizat.
Să conțină întrebări ajutătoare atunci când răspunsul este eronat sau parțial.
Răspunsurile acceptate trebuie să fie nu numai corecte, ci și exprimate in termeni preciși și să oglindească un anumit nivel de înțelegere. Răspunsurile eronate trebuie corectate imediat, prin discuții individuale. Cadrul didactic trebuie să dirijeze conversația astfel încât ideile să fie bine conturate înainte de a trece la altele, în timp ce lecția își menține caracterul unitar. În ceea ce privește informatica, recomandăm și utilizarea unor instrumente ajutătoare, ca de exemplu introducerea/exprimarea noțiunilor printr-un limbaj „de programare" (scris/oral) care să implice utilizarea eficientă a simbolurilor (în afară de latura didactică propriu-zisă), ceea ce înseamnă separarea clară a sintaxei de semantică.
3.5.3. Problematizarea și învățarea prin descoperire
Predarea și învățarea prin problematizare și descoperire presupun utilizarea unor tehnici care să producă elevului conștientizarea „conflictului" dintre informația dobândită și o nouă informație, determinându-1 să acționeze în direcția lichidării acestuia prin descoperirea unor (noi) proprietăți ale fenomenului studiat. Pedagogic vorbind, conflictele se mai numesc și situații-problemă (problematizare), putând fi de cel puțin două tipuri:
Contradicții între posibilitățile existente ale elevului (nivelul intelectual și de pregătire) și cerințele, situațiile în care este pus de noua problemă. Aceste conflicte se datorează imposibilității elevului de a selecta dintre cunoștințele sale anterioare pe cele potrivite cu valoarea operațională de aplicabilitate a viitorului.
Incapacitatea elevului de a integra noțiunile selectate într-un sistem, în același timp cu conștientizarea faptului că sistemul este pe moment ineficient operațional (lucru
care poate fi remediat doar prin completarea informației de bază).
Întrebările frontale sau individuale utilizate în etapa de pregătire a introducerii unei noțiuni, a prezentării unui domeniu nou, întrebări care se adresează capacității de reacționare a individului, pot genera noi situații conflictuale de tipul menționat anterior. Pe cât posibil, cadrul didactic trebuie să gestioneze el însuși apariția situațiilor-problemă. La modul ideal, ele trebuie să apară de la sine în mintea elevului. Relativ la condițiile pedagogice ale acestor situații conflictuale generate de anumite probleme practice putem spune că problemele trebuie să aibă un sens precis și să fie enunțate într-un moment „optim" al lecției. Ele trebuie să înglobeze cunoștințe anterior însușite de elev, să le trezească interesul, să le solicite un anumit efort mental creator. Există părerea că rezolvarea problemei poate fi privită ca un proces prin care elevul descoperă că o combinație de reguli învățate anterior se poate aplica pentru găsirea soluției unei noi situații conflictuale. în acest sens se pot evidenția următoarele etape in rezolvarea problemei :
Prezentarea problemei (verbal, scris, grafic etc.).
Definirea problemei de către elev în sensul distingerii caracteristicilor esențiale ale situației, însușirii enunțului, găsirii legăturii între date, informații etc.
Formularea de către elev a anumitor criterii, ipoteze care pot fi aplicate în vederea găsirii unei soluții.
Verificarea succesivă a unor asemenea ipoteze, eventual și a altora noi, și găsirea efectivă a unei soluții (sau a tuturor).
Desigur că în contextul de mai sus expresiile situație conflictuală, problemă, rezolvare de problemă se referă la probleme și soluții noi, necunoscute încă de elev, și nu la ceva de tipul substituirii de valori numerice în expresii date, execuția unui program dat pentru niște valori de intrare etc. Utilizarea în predare a acestei metode este totdeauna utilă în momentul în care se și găsește rezolvarea conflictului.
Descoperirea apare ca o întregire a problematizării. Se pot pune astfel în evidență trei modalități principale de învățare prin problematizare și descoperire (clasificarea făcându-se după tipul de raționament folosit):
Modalitatea inductivă
Modalitatea deductivă
Modalitatea prin analogie.
În primul caz este vorba de generalizări. Elevul trebuie încurajat să-și dezvolte propria cale de învățare, care să nu contrazică lucrurile în care deja „crede", prin folosirea unor mijloace tehnice și resurse informaționale personale, în al doilea caz se folosește logica sau, mai exact, sistemele deductive (ca metodă de raționament). Putem deriva (obține) cunoștințe noi din cunoștințe vechi (cu ajutorul unor reguli de inferență specifice), în ultimul caz, se încurajează folosirea unei experiențe anterioare nu numai dintr-un domeniu conex, ci chiar din domenii total diferite.
Problematizarea are astfel interferențe cu conversația, întrebările individuale sau frontale care se adresează gândirii, raționamentului născând situații conflictuale. Generarea situațiilor-problemă trebuie produsă astfel încât întrebările să apară în mintea elevului fără ca acestea să fie puse de către profesor. După cum am mai precizat, ca disciplină cu caracter formativ, informatica își propune formarea unei gândiri algoritmice, sistematice și riguroase, care să promoveze creativitatea, să stimuleze imaginația și să combată rutina. Chiar dacă aparent travaliul informatic se sprijină pe anumite șabloane, acestea reprezintă numai tendințe utile de standardizare. Procesele care izvorăsc din situații reale, care implică folosirea calculatorului în rezolvarea unor probleme aparținând diferitelor sfere ale vieții de zi cu zi, analiza acestor probleme, alegerea structurilor de date pe care se mulează informația oferită de mediul înconjurător, pașii algoritmilor și programarea în sine determină folosirea metodei problematizării, iar aplicarea acestei metode necesită formarea unor deprinderi ce nu se obțin decât printr-un exercițiu îndelungat. Rezolvarea de probleme, ceva curent în învățarea informaticii, poate fi privită ca un proces prin care elevul descoperă că o altă combinație de reguli învățate anterior conduc la rezolvarea unei noi situații problematice. Formularea de probleme de către elevii înșiși constituie forme ale creativității și presupune că elevii și-au format deprinderi intelectuale eficiente din punctul de vedere al generalizării și aplicabilității (orice soluție generează o nouă problemă). Problemele propuse pot fi inspirate din viața cotidiană, din cunoștințele dobândite prin studiul altor discipline, din generalizarea unor probleme de informatică rezolvate anterior, probleme de perspicacitate, jocuri etc. Problematizarea și descoperirea fac parte dintre metodele formativ-participative, care solicită gândirea creatoare a elevului, îi pun la încercare voința, îi dezvoltă imaginația, îi îmbogățește experiența; în lecțiile în care se aplică aceste metode profesorul alege problemele, le formulează, dirijează învățarea și controlează munca depusă de elev în toate etapele activității sale. Această metodă este caracteristică, de exemplu, unor lecții de aplicații practice de laborator, metoda învățării prin descoperire fiind frecvent aplicată în momentul în care este necesară folosirea programelor utilitare, a softurilor de aplicație etc. Utilitarele se abordează în funcție de problemele concrete care urmează a fi rezolvate. Obiectivul imediat este cunoașterea și exploatarea produsului și nu îmbunătățirea lui. Concentrarea atenției va fi dirijată spre rezolvarea problemei și nu asupra analizei facilităților și lipsurilor produsului software. Cu siguranță, în acest caz este deosebit de importantă experiența dobândită, cunoștințele și deprinderile formate în alte situații similare de învățare : lucrul cu meniuri, funcții comune mai multor utilitare, cunoașterea structurilor de date, dexteritatea în tehnoredactare etc. Cunoașterea facilităților produsului soft se face în momentul ivirii necesității exploatării acestuia și nu printr-o prezentare a lui ca o înșiruire mai mult sau mai puțin sistematică și completă de funcții sau facilități. Bineînțeles că este obligatorie o prezentare generală a utilitarului; în contextul altor produse similare, trebuie concepută o viziune de ansamblu din care să se desprindă caracteristicile dominante ale utilitarelor din clasa respectivă și să se prezinte particularitățile specifice produsului, cu îmbunătățiri fată de versiunile anterioare și perspective de dezvoltare pentru cele viitoare.
Ca informaticieni, ne interesează (în acest context) și ceea ce numim rezolvarea problemelor (problem solving). Îndemânările dobândite în legătură cu acest subiect depind în primul rând de cunoștințele specifice acumulate, dar din punctul de vedere al psihologiei există acordul că se pot căpăta și „îndemânări generale". Procesul cognitiv în ansamblu este foarte complicat, numai pentru explicarea coerentă a acestuia fiind necesară o întreagă carte. Vom sublinia doar câteva elemente-cheie și direcții principale pentru abordarea rezolvării unor probleme. Astfel, când dorim să rezolvăm o problemă cu ajutorul calculatorului, presupunând că enunțul este „acceptat", trebuie să ne întrebăm în primul rând:
Ce știm în legătură cu domeniul implicat?
Cum sunt apreciate „pe piață" rezultatele?
Care strategii generale sunt aplicabile ?
Care sunt motivațiile suplimentare ?
După ce problema a fost enunțată și sunt furnizate anumite indicații suplimentare, putem trece la alegerea strategiei concrete de rezolvare. Aceasta trebuie să fie selectată după un anumit plan, să permită un anumit tip de verificare și generalizare. De asemenea, trebuie avute în vedere metode sau metodologii prin care să se interzică anumite „ramuri" și să se permită explorarea de direcții colaterale. Una dintre strategiile generale poate fi următoarea:
Pot să rezolv problema (am cunoștințele necesare).
Definesc în mod (semi)formal.
Caut informațiile suplimentare astfel încât să am o definiție formală concretă (eventual, chiar într-un limbaj de programare concret).
Fac planul de implementare.
Îl execut (scriu „programele" și le „rulez").
Verific faptul că ceea ce am făcut este „corect".
Generalizez (la alte cazuri, la alte probleme).
Peste tot, cunoașterea măcar a unei părți din logica formală este indispensabilă.
3.5.4. Modelarea
Modelarea ca metodă pedagogică poate fi descrisă ca fiind un mod de lucru prin care gândirea elevului este condusă la descoperirea adevărului, folosind un așa-numit model și utilizându-se raționamentul prin analogie. Modelul și metoda în sine nu presupun o asemănare perfectă cu cazurile reale inițial specificate, ci numai o analogie rezonabilă. Ea constă în construirea unui sistem a cărui descriere coincide cu descrierea sistemului original până la un anumit punct, și poate avea o natură diferită și este în general mai simplificat și formalizat. Ideea este că, investigând sistemul și prin metode specifice legate de o anumită temă de lecție, se pot găsi noi soluții, care apoi pot fi translatate în concluzii asupra evoluției sistemului de bază. Modelarea are o mare valoare euristică colaterală, prin utilizarea ei putându-se dezvolta spiritul de observație, capacitatea de analiză și sinteză, creativitatea. Ideea ar fi să putem determina elevii să descopere singuri modelul. Astfel elevul se obișnuiește să creeze noi probleme ce trebuie rezolvate, să adapteze algoritmi cunoscuți la situații noi etc. Realitatea înconjurătoare este percepută și înțeleasă pe baza unor modele deja cunoscute. Dezvoltarea deprinderilor de modelare, obișnuirea elevilor cu gândirea logică se realizează prin prezentarea exactă și clară a modelelor și prin transparența particularizărilor. Un exemplu edificator îl constituie învățarea metodelor de elaborare a algoritmilor. Necesitatea unor formalizări se impune prin rigoarea modului de abordare a problemei, prin sistematizarea organizării informației de intrare, a exactității proiectării prelucrării și prin standardizarea ieșirii. Formalizarea necesită cunoștințe dobândite în studiul altor discipline, fundamentate teoretic, iar accesibilitatea formalizării este condiționată de factori specifici nivelului de cunoștințe dobândite anterior, de categoria de vârstă, de capacitatea de asimilare (de nivelul clasei, de exemplu). Abordarea ponderată a acestor aspecte conduce la dezvoltarea deprinderilor de abstractizare, a gândirii algoritmice și sistemice. Utilizarea modelelor în realizarea algoritmilor presupune stabilirea unor analogii și în organizarea datelor de intrare, învățarea algoritmilor este legată de cunoașterea modului de organizare a datelor, de cunoașterea profundă a structurilor de date posibile a fi prelucrate ușor de către calculator. Etapa cea mai importantă este cea a descoperirii algoritmului, urmată de stabilirea modului de organizare a datelor, dar importanța acestui ultim aspect este esențială în determinarea performanțelor produsului program care implementează algoritmul. Modelarea (ca metodă pedagogică) este definită ca un mod de lucru prin care gândirea elevului este condusă la descoperirea adevărului cu ajutorul modelului, grație raționamentului prin analogie. Modelarea similară constă în realizarea unui sistem de aceeași natură cu originalul care să permită evidențierea trăsăturilor esențiale ale originalului. O gamă variată de probleme sunt rezolvate prin metoda backtracking. Pentru implementarea într-un limbaj de programare a unui algoritm elaborat prin backtracking, elevul are nevoie de un model reprezentat de un program, cum ar fi cel de generare a permutărilor sau de rezolvare a problemei celor opt dame, și, prin mici modificări, el poate obține multe alte programe care implementează algoritmi ce rezolvă probleme clasice, cum ar fi: generarea aranjamentelor, combinărilor, problema parantezelor, partițiile unei mulțimi, problema celor opt turnuri etc. Similar se procedează în rezolvarea problemelor care necesită utilizarea stivelor sau a cozilor, folosind operațiile elementare cu elementele acestor structuri dinamice elementare. Modelarea analogică nu presupune o asemănare perfectă cu originalul, ci numai folosirea unei analogii. Momentele cunoașterii în procesul modelării sunt:
Trecerea de la original la model.
Transformarea modelului sau experimentarea pe model.
Transferul pe original a rezultatelor obținute pe model.
Verificarea experimentală pe original a proprietăților obținute pe model.
Trecerea de la original la model se face prin simplificare. Se impune ca simplificarea să nu fie exagerată, pentru a nu se omite trăsăturile esențiale ale originalului. Totodată, trebuie să nu se scape din vedere că valoarea modelului va fi apreciată prin prisma eficacității lui, adică a posibilităților pe care le oferă pentru atingerea scopului și că noile informații obținute pe baza modelului vor fi transferate cu grijă asupra originalului, având în vedere diferența dintre model și original. Modelul devine astfel purtătorul unei semnificații, informații, care poate fi exprimată printr-un suport material sau ideal. O clasificare a modelelor după natura suportului sub care se vehiculează informația poate fi:
Modele materiale, care au suport concret și care se folosesc foarte puțin în învățarea informaticii: folosirea unui table de șah în rezolvarea problemei celor opt dame determină o rapidă înțelegere a mecanismului metodei backtracking ; utilizarea unei stive de monede de dimensiuni diferite pentru înțelegerea rezolvării problemei turnurilor din Hanoi. Nu trebuie exclusă posibilitatea învățării direct pe obiectul de studiu, caz întâlnit (și recomandat) în studiul structurii și arhitecturii sistemelor de calcul, unde prezentarea părților componente ale unui sistem de calcul și a conexiunilor dintre ele, în contextul funcționalității ca un ansamblu (sistem), este esențială.
Modele ideale (virtuale), care se exprimă prin imagini, sisteme de simboluri sau semne convenționale.
Învățarea informaticii prin modelare presupune două etape, într-o primă etapă, învățarea se va face pe baza modelelor construite „de profesori", etapă în care se vor analiza trăsăturile modelului și compararea lui cu originalul. Pentru a reliefa condițiile pe care trebuie să le îndeplinească modelul, se vor da și contraexemple. În a doua etapă, elevii vor fi deprinși să construiască singuri modele. Importanța descoperirii modelului de către elev constă în faptul că elevul este obișnuit să reprezinte într-o formă standard condițiile impuse de problemă și-și adâncește convingerea că informatica este un domeniu în care rezultatele pozitive se obțin doar printr-o înlănțuire logică de raționamente. Folosirea modelelor nu înseamnă impunerea unor metode care trebuie reținute și aplicate orbește. Se va pune accentul pe înțelegerea pașilor unui algoritm și se va încuraja prezentarea oricăror metode care exclud modelul și care se impun prin eleganță și eficiență. Elevii vor fi încurajați să-și dezvolte și să-și prezinte ideile proprii, contribuind astfel la creșterea încrederii în posibilitățile lor, în valoarea ideilor lor. Ei nu trebuie să fie obligați să reproducă ideile altora, să aștepte ca totul să fie prezentat de profesor, să asimileze rețete, ci să descopere metode noi, să le prezinte, analizeze și perfecționeze printr-o comunicare continuă și constructivă. Folosirea modelelor în învățare deschide pentru informatică o impresionantă arie de aplicabilitate (inclusiv utilizarea ei în predarea altor discipline, de la artele plastice la cele mai diverse domenii ale tehnicii).
3.5.5. Exemplificarea sau demonstrarea materialului intuitiv
Prin exemplificare sau demonstrație, în acest caz, înțelegem prezentarea sistematizată și organizată a unor obiecte, procese, experimente, cu scopul de a ușura înțelegerea intuitivă și executarea corectă a unor activități programate. Cuvântul intuiție din titlu înseamnă utilizarea oricărui raționament inductiv, în contextul temei și bagajului de cunoștințe ale elevului. Utilizarea intuiției împreună cu exemplificarea necesară poate implica folosirea a diverse modalități și tehnici didactice datorită diversității materialului de studiu. Exemplificarea sau demonstrarea materialului intuitiv presupune utilizarea obiectelor reale, cum ar fi: material grafic (planșe, scheme); retroproiector/videoproiector și material pretipărit; calculator (imagini grafice, multimedia, power point). În acest context putem spune că: Prin demonstrarea materialului intuitiv se înțelege prezentarea sistematică și organizată a unor obiecte, procese etc. sau producerea unor experiențe, fenomene în fala elevilor, cu scopul de a ușura înțelegerea și executarea corectă a unor activități. Un rol deosebit îl joacă astfel intuiția (intuiția este o experiență mentală ; înseamnă o simplă observare și notare a unor fapte; intuiția poate fi asimilată cu un raționament de tip inductiv). Intuiția realizează corelația dintre imagine și cuvânt, fiind atât sursă de cunoștințe, cât și mijloc de verificare. Informatica nu poate fi desprinsă decât artificial de bazele ei intuitive și de extinderea ei în realitatea cotidiană. Convertirea principiului intuiției în metoda demonstrației se realizează în funcție de materialul intuitiv : machete, grafică, film didactic, televiziune școlară, software-uri de învățare. Materialul intuitiv este frecvent folosit în numeroase lecții, cum ar fi:
învățarea algoritmilor de sortare, unde prin diferite moduri de reprezentare sunt urmărite grafic valorile care se compară și se schimbă între ele, conducând la
ordonarea șirului.
învățarea metodei backtracking, unde folosind materialul natural se urmărește formarea soluției prin avansări și întoarceri repetate.
Vizualizarea ocupării și eliberării zonelor de memorie prin alocarea dinamică a variabilelor.
Ilustrarea modului de lucru cu elementele listelor simplu și dublu înlănțuite, a stivelor și a cozilor.
Echilibrarea arborilor binari (arbori AVL).
Ținând cont de eficiența transmiterii informației prin mijloacele vizuale (inclusiv Internet) și de orientarea cu predilecție spre mijloacele de informare rapidă care solicită atât memoria vizuală, cât și cea auditivă și formarea involuntară a unui public consumator de informație audio-video, o orientare a metodelor și procedeelor didactice în vederea exploatării acestei stări de lucruri creează un avantaj aparte procesului instructiv-educativ. Crearea unor filme (casete video) didactice care să urmărească cu exactitate programa școlară creează facilități de predare multor discipline și ar permite elevului să poată revizualiza predarea lectici. Aceasta ar putea elimina ambiguitățile sau golurile create de momentele de neatenție din timpul predării și ar constitui un veritabil profesor la purtător al elevului. Este evident că acest mijloc didactic nu poate înlocui (nici măcar suplini) exercițiul individual și nici prezența efectivă a cadrului didactic. Efortul profesorului este însă cu totul special. Nu este suficient ca un elev să vadă un material, el trebuie învățat să vadă. Poate că în acest moment ar trebui să aducem în discuție euristicile și încurajarea creativității. Se pot pune în evidență chiar euristici pentru dezvoltarea creativității:
• Încercați să aveți cât mai multe idei. Cu cât sunt mai multe, cu atât puteți selecta câteva „bune".
„Inversați" (reformulați, reiterați, puneți într-un alt context etc.) problema.
„Ghiciți" o soluție la întâmplare (chiar urmărind un Dicționar…).
Gândiți-vă la ceva distractiv, apropo de utilizările posibile ale rezolvării.
Gândiți-vă la probleme similare și la soluțiile acestora, chiar în contexte diferite.
Concepeți o listă generală „explicativă" de cuvinte-cheie, proprietăți utile, stimulente ș.a.m.d. care au cât de cât legătură cu tema în cauză.
3.5.6. Metoda exercițiului
La modul cel mai general, exercițiile pot fi privite ca acțiuni concrete efectuate conștient și repetat în scopul dobândirii unor priceperi și deprinderi (mai rar cunoștințe) noi, pentru a ușura anumite activități și a contribui la dezvoltarea unor aptitudini. Avantajele metodei exercițiului sunt:
Se poate forma o gândire productivă, creatoare, cu implicație financiară.
Se oferă posibilitatea câștigării unei anumite independențe.
Se oferă posibilitatea inițierii unui dialog-conversație cu obiective precise asupra unor metode și soluții.
Se activează atitudinea critică și poate crește discernământul elevilor în privința celor mai bune metode de lucru.
Se oferă profesorului o anumită posibilitate de a analiza și evalua activitatea sau performanțele generale ale unui elev.
Condiția primordială de reușită este dată în principal de selecția corespunzătoare a problemelor sau exercițiilor, precum și de activitatea de îndrumare-proiectare. Prin urmare, exercițiile sunt acțiuni efectuate în mod conștient și repetat de către elev cu scopul dobândirii unor priceperi și deprinderi și chiar cunoștințe noi, pentru a ușura alte activități și a contribui la dezvoltarea altor aptitudini, însușirea cunoștințelor de informatică este organic legată de exersarea utilizării unor softuri de aplicație, de rezolvarea unor probleme de programare etc. Nu există lecție în care să nu se aplice această metodă. Alte avantaje sunt concretizate în rezultatele aplicării ei: formează o gândire productivă; oferă posibilitatea muncii independente; oferă posibilitatea analizei diverselor metode și soluții de rezolvare a problemelor; activează simțul critic și autocritic și îi învață pe elevi să-și aprecieze rezultatele și metodele de lucru; oferă posibilitatea depistării și eliminării erorilor.
Este clar că metoda nu contribuie numai la formarea priceperilor și deprinderilor de lucru cu calculatorul, ci contribuie substanțial la dezvoltarea unui raționament flexibil și operant. Pentru profesor, alegerea, formularea și rezolvarea problemelor și apoi exploatarea rezultatelor obținute constituie o sarcină de importanță deosebită. Alegerea problemelor este condiționată de programa analitică, succesiunea prezentării noțiunilor în manuale, metodele de rezolvare ce pot fi folosite și de elevii cărora li se adresează. Formularea problemelor trebuie să țină cont de noțiunile cunoscute de elevi, să fie clară, concisă (nu ambiguă) și să folosească limbajul de specialitate numai în măsura în care este cunoscut elevilor. Rezolvarea trebuie să aibă în vedere obținerea rezultatelor pe căi clare și ușor de verificat, reținerea tipurilor de raționamente folosite, deschiderea perspectivei pentru rezolvarea unor probleme analoage sau mai complexe. Folosirea rezultatelor obținute trebuie să vizeze lămurirea conținutului activ în cunoașterea noțiunilor învățate și adâncirea semnificației lor, asimilarea metodelor de rezolvare și aplicarea lor la rezolvarea altor probleme. Utilizarea pe scară largă a acestei metode a condus la o clasificare a exercițiilor și problemelor în funcție de aportul capacităților intelectuale necesare rezolvării lor. În subsecțiunile care urmează insistăm asupra unor particularizări.
3.5.6.1. Exerciții și probleme de recunoaștere a unor noțiuni, formule, metode
De exemplu, elevilor li se prezintă metoda backtracking. Utilizând-o, se pot descrie algoritmii care generează permutările, aranjamentele, combinările, apoi li se poate cere să genereze toate funcțiile injective, surjective, bijective definite pe o mulțime cu m elemente, cu valori într-o mulțime cu n elemente.
3.5.6.2. Exerciții și probleme aplicative ale unor formule sau algoritmi cunoscuți
Cunoscând modul de lucru cu elementele structurilor de date tip stivă sau coadă, elevilor li se poate propune să rezolve problema parcurgerii „în lățime" sau „în adâncime" a unui graf oarecare. Exercițiile aplicative trebuie utilizate atât timp cât ele trezesc interesul. Repetarea lor nejustificată poate conduce la efecte contrarii. Contraexemplele însoțite de o analiză amănunțită vin să sublinieze trăsăturile esențiale. În același timp, analiza erorilor este utilă prin faptul că dezvăluie anumite lacune în cunoștințele elevilor.
3.5.6.3. Probleme care permit însușirea unor noțiuni
Specifice informaticii sunt problemele al căror grad de dificultate crește treptat, o dată cu formarea și asimilarea noțiunii, fiecare nouă problemă aducând un plus de dificultate. În rezolvarea unei probleme de programare este necesar să se țină seama de următoarele etape :
• Analiza inițială a problemei prin care se stabilește formatul și natura datelor de intrare, intervalele de variație a datelor de intrare, a variabilelor de lucru (date intermediare), precum și formatul și intervalele de variație a datelor de ieșire. Tot în această etapă se va stabili un algoritm (plan) de rezolvare, exprimat, eventual, în limbaj natural, pe baza căruia se va permite fiecărui elev să lucreze independent.
Rezolvarea propriu-zisă a problemei este etapa în care se realizează transpunerea într-un limbaj de programare a algoritmului stabilit în prima etapă. În prealabil, algoritmul este reprezentat în una dintre formele cunoscute; se stabilesc variabilele de lucru, forma lor de alocare, prelucrările ce vor avea loc, apoi se trece la implementarea în limbajul dorit.
Dacă rezolvarea se poate face pe mai multe căi, trebuie să se sublinieze,
dacă este posibil, calea optimă.
Verificarea soluției sau soluțiilor obținute va permite elevului să-și dea seama dacă soluția obținută este cea corectă, în această etapă intervine profesorul cu seturi de
date de test care să cuprindă, dacă este posibil, majoritatea (dacă nu toate) cazurilor
ridicate de problemă și în special cazurile critice, la limită, ale datelor de intrare.
Aceste etape cuprind în esență: însușirea enunțului; discutarea problemei și stabilirea algoritmului de rezolvare; rezolvarea propriu-zisă; verificarea soluțiilor. Ele se pot modifica după natura problemelor. Acolo unde problema permite mai multe căi de rezolvare, profesorul analizează toate aceste căi și le selectează pe cele mai importante, propunându-le spre rezolvare pe grupe, comparând rezultatele, avantajele și dezavantajele fiecărei metode în parte. Se va evidenția în mod obligatoriu cea mai bună soluție.
Exemplu. Se cere elevilor determinarea arborelui parțial de cost minim asociat unui graf, prin algoritmul lui Kruskal.
În prima etapă:
Se analizează enunțul.
Se verifică dacă elevii cunosc noțiunea de arbore și de arbore parțial de cost minim.
Pe tablă se desenează un graf oarecare, se numerotează nodurile și se stabilesc costurile muchiilor.
Se stabilesc datele de intrare, formatul acestora, tipul lor (deja se gândește în direcția implementării într-un limbaj de programare); în acest caz datele de intrare se vor citi dintr-un fișier text cu înregistrări de forma:
n – numărul de noduri ale grafului;
i, j , ai,j . – muchia de la nodul i la nodul y are costul a. •
Fișierul va conține un număr de înregistrări de forma celor de mai sus, egal cu numărul de muchii al grafului.
Aici poate interveni profesorul, solicitând elevilor sau prezentând o formă mai condensată a fișierului de intrare, cu înregistrări de forma:
n – numărul de noduri ale grafului;
1 i1 a1,il i2 a1,i2… ik a1,ik – nodul l are vecinii i1, i2, …, ik, cu ik>1, iar costurile acestor muchii sunt a1,il, a1,i2, …, a, 1,ik
2 j1 a2,j1 -nodul 2 are vecinii j1, j2,……jt, cu jk>2, iar costurile acestor muchii sunt a2,j1, a2,j2, …, a2,jt
…………………………….
n-1 11 an-1,11 – nodul n-1 poate avea cel mult un vecin mai mare decât el, nodul n. Dacă un nod nu are vecini mai mari decât el, linia din fișierul de intrare corespunzătoare acelui nod va lipsi.
Vom construi fișierul de intrare pentru graful desenat pe tablă, pe care îl vom folosi ca prim fișier de test.
În a doua etapă:
Se va stabili modul de memorare a datelor de intrare. Elevii vor fi tentați să reprezinte graful printr-o matrice de adiacență (simetrică), iar într-o altă matrice, tot simetrică, costurile muchiilor – sau, în cel mai fericit caz, printr-o singură matrice, atât costurile muchiilor, cât și graful. Aici trebuie să intervină profesorul. El va sublinia risipa de memorie realizată prin acest tip de memorare și va propune sau va încerca să obțină de la elevi o memorare mai eficientă (printr-un vector) a grafului și costurilor muchiilor. Se va defini un tip de dată numit muchie:
muchie : record
i,j:byte;
a:byte;
end;
cu semnificația că i, j sunt extremitățile muchiei, iar a – costul ei și se va aloca un vector de muchii, a cărui dimensiune maximă se va stabili împreună cu elevii. Profesorul va prezenta Algoritmul lui Kruskal. Apoi se consideră inițial arborele parțial vid. Se va selecta muchia de cost minim neselectată anterior și care nu formează un circuit cu muchiile deja selectate; procedeul se oprește după selectarea a n – l muchii (< 16>, <25>, < 36 >). Se insistă asupra criteriului de oprire, profesorul având două posibilități: să prezinte el criteriul și să verifice cu clasa de ce acesta este cel corect, sau să încerce să obțină de la clasă un criteriu de oprire. Următoarea problemă care trebuie abordată este cea a alegerii muchiei. Evident că prin ordonarea crescătoare a vectorului de muchii acestea vor putea fi selectate în ordinea crescătoare a costurilor lor, dar se pune problema eliminării muchiilor care formează circuite. Aici se va obține de la clasă o soluție, ținând cont că determinarea componentelor conexe ale unui graf a fost deja rezolvată. Se va stabili algoritmul de ordonare a vectorului de muchii și modul de memorare a nodurilor selectate pe parcursul determinării arborelui parțial de cost minim. Tot în această etapă, se va determina o soluție în cazul numeric prezentat în figura de pe tablă.
În a treia etapă li se va propune elevilor implementarea algoritmului fie cu memorarea datelor de intrare în matrice, fie în vectorul de muchii, pe grupe de lucru. Li se poate cerc chiar folosirea de algoritmi de sortare diferiți, pentru a constata faptul că soluția nu este unică și, în plus, li se va cere să determine cauza obținerii de soluții diferite, dar optime. Profesorul va supraveghea implementarea solicitând elevilor verificarea etapă cu etapă a realizării programului, prin afișarea temporară chiar a unor rezultate intermediare. În ultima etapă, elevii vor proba corectitudinea programului prin folosirea de date de test construite de ei și prin noi teste propuse de către profesor, dar aceste teste vor fi prezentate sub formă grafică, prin desen pe tablă etc., pentru ca ei să construiască singuri fișierul de intrare. În final se vor propune elevilor, spre rezolvare, probleme care să utilizeze rezultatul obținut sau să folosească tehnici asemănătoare – evident, fără a li se specifica acest lucru.
Problemă. O localitate având n puncte vitale, legate prin străzi a căror lungime se cunoaște, este complet înzăpezită. Primăria, care nu dispune de suficiente rezerve de combustibil, este obligată să deszăpezească un număr de străzi, astfel încât toate punctele vitale ale localității să fie accesibile din fiecare punct și să realizeze un consum minim de carburant. Să se determine străzile care trebuie deszăpezite știind că orice consum de carburant este direct proporțional cu lungimea drumului deszăpezit. Exemplul prezentat subliniază importanța și consecințele pe care le are asupra modului de rezolvare a unei probleme modul de organizare a datelor de intrare și a celor intermediare, de lucru. O posibilă clasificare a problemelor/exercițiilor (relativ la capacitățile intelectuale pentru rezolvare) ar fi:
Exerciții de recunoaștere a unor noțiuni (unitate curentă de I/E, unitate de disc, memorie internă, comandă externă, programe executabile de tip .com sau .exe, HTTP-uri, telnet etc.).
Exerciții aplicative (programe pentru transcrierea unor formule, pseudocoduri). Aceste două clase de exerciții sunt recomandate în special pentru fixarea unor cunoștințe deja predate, în acest context poate fi utilă o complicare graduală a enunțului inițial, urmărindu-se memorarea mai bună a formulei sau a ideii algoritmului, cum ar fi: încadrarea acestuia într-un eventual alt tip de probleme cunoscute; complicarea lui în mod progresiv în vederea utilizării sale în alte situații; prezentarea unor cazuri-limită care pot conduce la rezultate eronate.
Exerciții grafice – planșe, vizualizări.
Exerciții complexe – presupun o analiză mult mai detaliată a problemei în ansamblu și implică descompunerea problemei în subprobleme, succesiv, până în momentul în care rezolvarea subproblemelor elementare este cunoscută.
În rezolvarea exercițiilor este importantă crearea posibilității îndeplinirii unei independențe (individual, grup, echipă). Pentru formarea unor priceperi sau abilități legate de munca independentă se poate utiliza și așa-numita formulă a exercițiilor comentate. Aceasta constă în rezolvarea exercițiilor de către toți elevii, în timp ce un elev desemnat explică permanent rezultatele obținute. Nu este nevoie ca această explicație să fie utilizată pe calculator. Profesorul poate în orice moment să invite oricare alt elev pentru continuarea explicației (în acest fel, metoda este deosebit de activă). Discuțiile suplimentare sunt obligatorii în acest caz. Se vor evidenția permanent avantajele și dezavantajele rezolvărilor propuse, alte metode posibile de rezolvare, idei privind utilizarea acestor rezolvări în lecțiile următoare, particularizări ale lor în lecțiile anterioare.
3.6 INSTRUIREA ASISTATĂ DE CALCULATOR
[28]În anii 1950, B.F.Skinner și Norman Crowder, teoreticieni americani, au emis idei despre instruirea programată, aceștia fiind considerați pionierii modernelor tehnici de instruire cu ajutorul calculatorului.
Principiile instruirii programate au fost aplicate într-o metodă de instruire numită sistem de învățare personalizată.
Aceasta este o metodă de instruire, în care elevul învață în ritm propriu, materialul educațional este structurat în secvențe mici de studiu, urmate de chestionare, instruitul și instructorul putând să observe imediat evoluția procesului de instruire.
Folosirea calculatorului în procesul de învățămînt se dovedește a fi o necesitate în condițiile dezvoltării în ritm accelerat a tehnologiei informației. Pentru noile generații de elevi și studenți, a devenit o cerință conceptul de asistare a procesului de învățămînt cu calculatorul, în condițiile avalanșei de informații multimedia.
Conceptul de asistare a procesului de învățământ cu calculatorul include :
Predarea unor lecții de comunicare de cunoștințe ;
Aplicarea,consolidarea,sistematizarea noilor cunoștințe;
Verificarea automată a unei lecții sau a uni grup de lecții.
Numită și « inovația tehnologică cea mai importantă a pedagogiei moderne », instruirea asistată de calculator – IAC – contribuie la eficiența instruirii,este un rezultat al introducerii treptate a informatizării în învățămînt.
Calculatorul poate fi utilizat în procesul de predare –învățare de către profesor și elev în scopul intermedierii activității de predare interumană ce are loc între cei doi poli educaționali : profesor și elevi.
«Mișcarea pedagogică de învățămînt programat a fost inaugurată de B.F. Skinner ca fiind o aplicare a principiilor cunoscute ale instruirii,care înseamnă organizarea condițiilor de învățare prin mânuirea balanței,recompensei și penalizării,în alegera răspunsului corect. Simplificat putem spune că în secvența de învățare prin instruire programată apare în evidență succesiunea : stimul – răspuns – confirmare».
Învătămîntul programat permite două modalități de programare pedagogică :
Programare liniară (tip Skinner)
Programarea ramificată (tip Crowder)
În "Dicționarul de pedagogie contemporană" se regăsesc următoarele principii,ce stau la baza instruirii programate:
Principiul participării active și independente a elevului;
Principiul pașilor mici;
Principiul progresului gradat;
Principiul întăririi imediate a răspunsului;
Principiul ritmului individual de studiu;
Principiul răspunsurilor corecte ;
Principiul repetiției.
Metoda instruirii programate dezvoltă propriile sale principii,valabile la nivel strategic în orice variantă de organizare cibernetică a învățării, într-o structură liniară sau ramificată:
Principiul pașilor mici – se referă la divizarea materiei în unități de conținut,care asigură elevului șansa reușitei și a continuității în activitatea de predare – învățare – evaluare;
Principiul comportamentului activ – vizează dirijarea efortului elevului în direcția selecționării,înțelegerii și aplicării informației necesare pentru elaborarea unui răspuns corect;
Principiul evaluării imediate a răspunsului – înseamnă întărirea pozitivă sau negativă a comportamentului elevului în funcție de reușita sau nereușita în îndeplinirea sarcinii de învățare corespunzătoare fiecărui «pas».
După constituirea ciberneticii ca știință au fost realizate numeroase mașini de învățat și au fost puse bazele teoretice ale instruirii programate ; printre acestea se remarcă lucrările lui B.F.Skinner, care au inițiat și au fundamentat instruirea programată cu program me liniare și ale lui N.A.Crowder, inițiatorul programelor ramificate.
Programarea ramificată – varianta N.A.Crowder – "solicită un efort intelectual mai mare" necesar elevului pentru "recunoașterea răspunsului corect din cîteva răspunsuri date, pe baza testului alegerii repetate" (Okon,Vicenty,1974).
Acest tip de programare nu urmărește numai preîntâmpinarea greșelilor – ca în cazul variantei liniare – ci tratarea acestora în diferite modalități de întărire negativă, care reorientează activitatea elevului în direcția recuperării, reselecționării, reinterpretării, reaplicării informației necesare pentru parcurgerea "pasului" respectiv.
Secvența de instruire, proiectată în cazul instruirii ramificate are următoarea structură de organizare:
a. Informarea elevului;
b. Prezentarea sarcinii didactice;
c. Rezervarea spațiului și timpului pentru alegerea răspunsului;
d. Întărirea pozitivă, în cazul răspunsului corect, care asigură trecerea la informația necesară pentru parcurgerea secvenței următoare/"pasului" următor, sau întărirea negativă, în cazul alegerii răspunsului incorect, care orientează elevul spre o "programă secundară",
obligatorie pentru corectarea răspunsului, după care urmează trecerea la informația necesară pentru parcurgerea secvenței următoare/"pasului" următor;
e. Confirmarea răspunsului (corect sau incorect în varianta de întărire pozitivă, respectiv în cea de întărire negativă);
f. Informarea din secvența următoare (Țîrcovnicu,1975).
Reușita acestei metode, în varianta sa liniară, ramificată sau combinată, depinde de calitatea mijloacelor didactice necesare pentru proiectarea și realizarea activității de predare – învățare – evaluare în spiritul principiilor cibernetice și pedagogice evocate anterior: manualele programate și mașinile de instruire. În toate situațiile, însă, rolul profesorului rămîne determinant.
Avantajele și dezavantajele instruirii asistate de calculator.
Această metodă depinde nu numai de calitatea calculatorului, ci și de condiția pedagogică asumată la nivelul programelor elaborate special pentru :
Conștientizarea valorii interactive a informației alese ;
Sistematizarea rapidă a unui volum mare de informații ;
Difuzarea eficientă a unor informații esențiale solicitate de un număr ridicat de participanți la actul didactic;
Individualizarea reală și completă a actului învățării, adaptabilă la ritmul fiecărui elev prin asistență pedagogică imediată, realizată/realizabilă de/prin calculator;
Stimularea capacității profesorului de "a deveni un adevărat educator: ghid și animator, evaluator și îndeosebi formator preocupat de cultivarea atitudinilor superioare’’ (Văideanu, 1988).
Valoarea instruirii programate constă în faptul că, prin organizarea procesului de învățare, principiile didactice (al însușirii conștiente și active, al sistematizării și continuității, al accesibilității și însușirii temeinice a cunoștințelor) acționează concomitent și în fiecare moment al activității elevului cu programa, stimulând formarea și dezvoltarea capacităților intelectuale, precum și deprinderi de muncă independentă. De asemenea, se reduc în mod simțitor timpul necesar însușirii cunoștințelor și redundanța inerentă procesului de transmisiune a informațiilor de la profesor sau de la manual la elev.
În instruirea asistată de calculator rolul esențial revine educatorului. Pe lîngă o serie de avantaje, această modernă și eficientă formă de învățare are și anumite limite :
Individualizarea excesivă a învățării duce la negarea dialogului elev-profesor și la izolarea actului de învățare în contextul său psihosocial ;
Segmentează și atomizează prea mult materialul de învățat;
Duce prea mult la „tutelare”, dirijând pas cu pas activitatea mentală a subiectului și, prin aceasta, împiedicîndu-l să-și dezvolte capacitățile creatoare.
Totodată, instruirea programată nu poate cuprinde întregul proces instructiv-educativ și nu poate constitui o metodă generală și universală în pedagogie, în primul rînd din cauză că modelul cibernetic al procesului de învățămînt pe care se bazează îl reprezintă, ca orice model, numai din anumite puncte de vedere și nu cuprinde toate reacțiile elevului la perturbațiile interne și externe, dar și pentru că nu toate obiectele de învățămînt sau disciplinele științifice pot fi programate, pentru că accentuează verbalismul (în scris) fără a dezvolta suficient intuiția, pentru că elevul nu are imaginea conturată a obiectului în ansamblu și pentru că, dificultățile fiind fragmentate, se limitează formarea unor motivații superioare, spiritul critic și gândirea independentă. De asemenea, instruirea programată prezintă, datorită formalizării procesului de instruire, și pericolul formalismului și al standardizării cunoștințelor.
Cu toate acestea, integrarea noilor tehnologii – dependente de capacitatea de asistență pedagogică a calculatorului – în structura de acțiune specifică metodei didactice conferă activității elevului un caracter reactiv și proactiv, în raport cu informația vehiculată, cu timpul real de învățare, cu valoarea formativă a cunoștințelor dobîndite.
Modalități de utilizare a calculatorului electronic în procesul de predare – învățare.
Calculatorul oferă posibilități reale de individualizare a instruirii. El nu este doar un mijloc de transmitere a informației ci poate oferi programe de învățare adaptate conduitei și cunoștințelor elevului.
Realizarea unei metodologii care să facă eficientă asistarea procesului de învățământ cu calculatorul a solicitat folosirea instrumentelor psihopedagogiei.
« Conceptul de asistare a procesului de învățământ cu calculatorul include :
Predarea unor lecții de comunicare de noi cunoștințe ;
Aplicarea, consolidarea, sistematizarea noilor cunoștințe;
Verificarea automată a unei lecții sau a unui grup de lecții ;
Verificarea automată a unei discipline școlare sau a unei anumite programe școlare.
Utilizarea calculatorului în procesul de învățământ devine din ce în ce mai importantă (chiar indispensabilă) deoarece:
Are loc o informatizare a societății;
Mediile de instruire bazate pe informatică oferă un puternic potențial educativ ».
Calculatorul – instrument didactic
Din acest punct de vedere remarcăm mai multe modalități de apariție a calculatorului în demersul didactic:
Utilizarea calculatorului pentru tehnoredactarea computerizată a documentelor școlare cum ar fi cele care reprezintă rezultate ale proiectării didactice la nivel micro, adică planificări, proiecte de unități de învățare, proiecte de lecție, cât și a unor documente de evidență școlară cum ar fi cele legate de prezența la anumite activități didactice sau notarea evoluției elevilor la activitățile de verificare și evaluare a cunoștințelor ;
Utilizarea calculatorului ca mijloc de predare în cadrul lecțiilor de comunicare de noi cunoștințe, de recapitulare sau a prelegerilor în care calculatorul poate reprezenta suport al unor sinteze, imagini, figuri ce pot fi proiectate în scopul transmiterii de cunoștințe. În felul acesta elevii au posibilitatea să vizioneze o expunere concretă și clară a teoremelor, pot să aibă pe ecran imaginea unor fenomene sau procese simulate pe calculator ;
Realizarea unor calcule numerice, mai mult sau mai puțin complicate, în scopul formării deprinderilor de calcul sau al eliberării de etapa calculatorie în rezolvarea unor probleme, prelucrarea unor date ;
Realizarea unor bănci de date, adică stocarea de informații dintr-un domeniu oarecare într-o modalitate care să permită ulterior regăsirea informațiilor după anumite criterii ;
Învățarea unui limbaj de programare ;
Realizarea unor laboratoare asistate de calculator.
3.7 [17] EVALUAREA(CLASIFICĂRI, FUNCȚII)
Evaluarea ne permite să ne pronunțăm “asupra stării unui fapt, proces, la un anumit moment, din perspectiva informațiilor pe care la culegem cu ajutorul unui instrument care ne permite să măsurăm în raport cu o anumită normă la care ne raportăm” (Etienne Brunswic).
În sens larg, prin strategie se înțelege ansamblul de acțiuni întreprinse într-o organizație (militară, economică, educațională etc.) pentru atingerea obiectivelor stabilite pe termen lung sau mediu.
Strategia vizează asigurarea și pregătirea resurselor umane și materiale, probleme de planificare și organizare a muncii, de cooperare în cadrul organizației sau cu alte organizații etc., potrivit funcțiilor managementului modern, toate acestea având însă un caracter anticipativ, cu bătaie lungă, deci un pronunțat spirit de previziune.
Se poate asocia termenul de strategie, definit astfel, cu activitatea didactică în general și cu cea de evaluare, în particular. Activitatea didactică, indiferent de tipul și gradul (nivelul) instituției de învățământ, se desfășoară în conformitate cu anumite finalități, cunoscute sub denumirea de obiective pedagogice sau didactice.
Pentru atingerea lor, atât la nivelul instituției de învățământ, cât și la nivelul clasei, intră în joc resursele materiale (spații de învățământ, mobilier, materiale didactice, mijloace tehnice etc.) dar și cele umane (profesori, elevi, personal auxiliar etc.), au loc procese de planificare, organizare și dirijare, de control și evaluare, toate acestea, împreună, vizând atingerea obiectivelor pedagogice stabilite.
De priceperea utilizării resurselor și de capacitatea de conducere a procesului de învățământ (deci, de strategia didactică) depind, în ultimă instanță, performanțele școlare obținute de elevi.
Problema se pune asemănător și în cazul evaluării, o componentă principală a procesului de învățământ, alături de predare și învățare, deoarece atât profesorul, la nivelul clasei, cât și directorul, la nivelul școlii, sunt datori să-și stabilească din timp când și cum vor verifica dacă se află pe drumul cel bun, la capătul căruia obiectivele stabilite vor fi atinse și aceasta nu oricum, ci cu cheltuieli materiale, financiare, de timp și umane cât mai reduse.
Așadar, a stabili o strategie de evaluare în învățământ echivalează cu a fixa când evaluezi, sub ce formă, cu ce metode și mijloace, cum valorifici informațiile obținute etc. Desigur, în final, în funcție de concluziile desprinse, elevul își va modifica strategia de învățare, profesorul pe cea de predare iar directorul strategia managerială.
Strategia de evaluare denotă modul de integrare a acțiunii de evaluare (realizabilă prin operațiile de măsurare-apreciere-decizie) în structura de funcționare a activității didactice/ educative. Conceptul de strategie de evaluare reflectă tendința de extindere a acțiunilor evaluative: de la verificările tradiționale la evaluarea proceselor și condițiilor de desfășurare a activității didactice, a situațiilor de instruire/învățare.
Fiind un proces multidimensional, se pot identifica, în funcție de criteriile alese, mai multe strategii/tipuri de evaluare:
1. Din punct de vedere al situațiilor de evaluare, putem identifica două strategii:
♦ evaluare realizată în circumstanțe obișnuite, bazată pe observarea activității elevilor;
♦ evaluare specifică, realizată în condiții special create ce presupune elaborarea și aplicarea unor probe, partenerii angajați în proces fiind conștienți de importanța demersurilor de verificare și apreciere întreprinse;
2. După funcția dominantă îndeplinită, putem identifica două strategii:
♦ evaluare diagnostică (se realizează o diagnoză descriptivă ce constă în localizarea lacunelor și erorilor în cunoștințe și abilități dar și a “punctelor forte” și o diagnoză etiologică care relevă cauzele care au generat neajunsurile constatate);
♦ evaluare predictivă prin care se urmărește prognozarea gradului în care elevii vor putea să răspundă pe viitor unui program de instruire;
3. După modul în care se integrează în desfășurarea procesului didactic, putem identifica trei strategii:
♦ evaluare inițială, realizată la începutul demersurilor instructiv-educative, pentru a stabili nivelul la care se situează elevii;
♦ evaluare formativă, care însoțește întregul parcurs didactic, organizând verificări sistematice în rândul tuturor elevilor din toată materia;
♦ evaluarea sumativă, care se realizează de obicei, la sfârșitul unei perioade mai lungi de instruire;
Prezentăm în continuare o analiză comparativă a celor trei strategii de evaluare, urmărind criteriile: scopul, principiul temporalității, obiectul, funcțiile, modalitățile de realizare, avantajele, dezavantajele și notarea:
SCOPUL URMĂRIT
Evaluarea inițială:
identifică nivelul achizițiilor inițiale ale elevilor în termeni de cunoștințe, competențe și abilități, în scopul asigurării premiselor atingerii obiectivelor propuse pentru etapa imediat următoare;
“este indispensabilă pentru a stabili dacă subiecții dispun de pregătirea necesară creării de premise favorabile unei noi învățări” (Ioan Cerghit, 2002).
Evaluarea formativă:
urmărește dacă obiectivele concrete propuse au fost atinse și permite continuarea demersului pedagogic spre obiective mai complexe; “Unicul scop al evaluării formative este să identifice situațiile în care întâmpină elevul o dificultate, în ce constă aceasta și să-l informeze” (De Landsheere, 1975), atât pe el cât și pe profesor.
Evaluarea sumativă:
stabilește gradul în care au fost atinse finalitățile generale propuse (fie dobândirea unei atitudini sau a unei capacități), comparându-i pe elevi între ei (interpretare normativă), ori comparând performanțele manifestate de fiecare cu performanțele așteptate (interpretarea criterială).
PRINCIPIUL TEMPORALITĂȚII
Evaluarea inițială:
se efectuează la începutul unui program de instruire (ciclu de învățământ, an școlar, semestru, începutul unui capitol și chiar al unei lecții).
Evaluarea formativă:
axată pe proces și internă, se face pe parcursul învățării;
frecventă, la sfârșitul fiecărei unități de studiu.
Evaluarea sumativă:
este finală și de regulă externă, având loc după învățare;
regrupează mai multe unități de studiu, face bilanțul.
OBIECTUL EVALUĂRII
Evaluarea inițială:
este interesată de “acele cunoștințe și capacități care reprezintă premise pentru asimilarea noilor conținuturi și formarea altor competențe” (I. T. Radu), premise “cognitive și atitudinale” capacități, interese, motivații), necesare integrării în activitatea următoare.
Evaluarea formativă:
vizează cunoștințele, competențele și metodologiile în raport cu o normă prestabilită, dar și cu o sarcină mai complexă de învățări ulterioare despre care elevul își face o reprezentare” (I. T. Radu);
se extinde și asupra procesului realizat.
Evaluarea sumativă:
“se concentrează mai ales asupra elementelor de permanență ale aplicării unor cunoștințe de bază, ale demonstrării unor abilități importante dobândite de elevi într-o perioadă mai lungă de instruire” (S.N.E.E.)
FUNCȚII ÎNDEPLINITE
Evaluarea inițială:
funcție diagnostică;
funcție prognostică.
Evaluarea formativă:
“funcție de constatare a rezultatelor și de sprijinire continuă a elevilor” (I.T.Radu);
funcție de feed-back;
funcție de corectare a greșelilor și ameliorare și reglare a procesului;
funcție motivațională.
Evaluarea sumativă:
funcție de constatare și verificare a rezultatelor;
funcție de clasificare;
funcția de comunicare a rezultatelor;
funcție de certificare a nivelului de cunoștințe și abilități;
funcție de selecție;
funcție de orientare școlară și profesională.
MODALITĂȚI DE REALIZARE
Evaluarea inițială:
harta conceptuală;
investigația;
chestionarul;
testele.
Evaluarea formativă:
observare curentă a comportamentului școlar al elevului;
fișe de lucru;
examinări orale;
tehnica 3-2-1;
metode R.A.I.;
probe de autoevaluare.
Evaluarea sumativă:
examene (susținute prin rezolvarea unor probe scrise, orale sau practice);
portofoliul;
proiectul.
AVANTAJELE
Evaluarea inițială:
oferă profesorului cât și elevului posibilitatea de a avea o reprezentare cât mai exactă a situației existente (potențialul de învățare al elevilor, lacunele ce trebuiesc completate și remediate) și a formula cerințele următoare;
pe baza informațiilor evaluării inițiale se planifică demersul pedagogic imediat următor și eventual a unor programe de recuperare.
Evaluarea formativă:
permite elevului să-și remedieze erorile și lacunele imediat după apariția ei și înainte de declanșarea unui proces cumulativ;
oferă un feed-back rapid, reglând din mers procesul;
este orientată spre ajutorul pedagogic imediat;
oferă posibilitatea tratării diferențiate (I. Cerghit);
dezvoltă capacitatea de autoevaluare la elevi;
reduce timpul destinat actelor evaluative ample, sporindu-l pe cel destinat învățării;
sesizează punctele critice în învățare.
Evaluarea sumativă:
rezultatele constatate pot fi folosite pentru preîntâmpinarea greșelilor la alte serii de cursanți;
permite aprecieri cu privire la prestația profesorilor, a calității proceselor de instruire, a programelor de studii;
oferă o recunoaștere socială a meritelor.
DEZAVANTAJELE
Evaluarea inițială:
nu permite o apreciere globală a performanțelor elevului și nici realizarea unei ierarhii;
nu-și propune și nici nu poate să determine cauzele existenței lacunelor în sistemul cognitiv al elevului.
Evaluarea formativă:
“aplicarea acestei strategii de evaluare, foarte pretențioasă, necesită o organizare riguroasă a predării, competență în precizarea obiectivelor, în stabilirea sarcinilor, în alegerea tehnicilor de evaluare” (Ioan. Cerghit);
“recursul la evaluarea formativă este testul unei pedagogii a rigorii, a lucidității și a eficienței” (I. Cerghit).
Evaluarea sumativă:
nu oferă suficiente informații sistematice și complete despre măsura în care elevii și-au însușit conținutul predat și nici dacă un elev stăpânește toate conținuturile esențiale predate;
are efecte reduse pentru ameliorarea/reglarea și remedierea lacunelor, efectele resimțindu-se după o perioadă mai îndelungată, de regulă, pentru seriile viitoare;
deplasează motivația elevilor către obținerea unui rang mai înalt în ierarhia grupului, punând accent pe competiție;
nu favorizează dezvoltarea capacității de autoevaluare la elevi;
nu oferă o radiografie a dificultăților în învățare;
generează stres, teamă, anxietate.
DIN PUNCT DE VEDERE AL NOTĂRII
Evaluarea inițială:
nu își propune aprecierea performanțelor globale ale elevilor și nici ierarhizarea lor.
Evaluarea formativă:
“Acest tip de evaluare nu se exprimă în note și cu atât mai puțin în scoruri.” (I. T. Radu)
nu realizează ierarhii și clasificări între elevi;
oferă premise pentru notare.
Evaluarea sumativă:
Evaluarea sumativă se traduce printr-un scor… Prin scor desemnăm rezultatele obiective obținute în urma unui test sau a oricărei alte forme de evaluare prin adunare sau scădere de puncte după reguli fixe.
constată performanțele și clasifică (ierarhizează) elevii în funcție de acestea.
4. După autorul care efectuează evaluarea, putem identifica trei strategii:
♦ evaluare internă, întreprinsă de aceeași persoană/instituție care este direct implicată și a condus activitatea de învățare (de exemplu, învățătorul sau profesorul clasei);
♦ evaluarea externă, realizată de o altă persoană/instituție, alta decât cea care a asigurat derularea predării și învățării;
♦ autoevaluare, efectuată de subiectul însuși asupra propriului progres;
5. Nu este mai puțin importantă nici departajarea ce se face între:
♦ evaluarea preponderent pedagogică, vizând în esență ceea ce subiecții au asimilat, ceea ce știu să facă și ce capacități și trăsături și-au format;
♦ evaluarea preponderent psihologică, privind funcțiile psihice implicate în activitatea de învățare. Evaluările psihologice vizează aptitudinea subiectului de a învăța, adică ceea ce poate să facă;
6. După obiectul evaluării:
♦ evaluarea procesului de învățare (atât a achizițiilor cât și a procesului în sine);
♦ evaluarea performanțelor (realizate individual, în grup sau de către grup);
♦ evaluarea a ceea ce s-a învățat în școală sau a ceea ce s-a învățat în afara școlii;
7. După accentul pus pe proces sau pe sistem:
♦ evaluarea de proces – se referă la performanțele elevilor;
♦ evaluarea de sistem – accentul se pune pe sistemul în care se desfășoară procesul de învățământ;
8. După domeniu:
♦ evaluarea în domeniul psihomotor (capacități, aptitudini, deprinderi);
♦ evaluarea în domeniul socio-afectiv ( atitudini);
♦ evaluarea în domeniul cognitiv (cunoștințe);
9. După modul în care pot sau nu pot fi cuantificate rezultatele:
♦ evaluare cantitativă – rezultatele sunt cuantificabile în funcție de un punctaj;
♦ evaluare calitativă – la care rezultatele nu pot fi măsurate prin cuantificare;
10. Evaluarea este realizată întotdeauna cu un anumit scop. Diversitatea situațiilor educative, precum și spectrul larg de obiective presupun aplicarea unor variate strategii de evaluare, în unele cazuri apare necesitatea de a compara performanțele elevilor; în altele – de a determina nivelul achizițiilor elevului în raport cu un obiectiv fixat. Există situații în care se impune identificarea abilității elevilor de a executa acțiuni necesare pentru rezolvarea unei probleme specifice; în alte situații se urmărește obținerea unor informații generale despre performanțe în contextul dezvoltării preconizate și al devierilor posibile. În sfîrșit, profesorul are nevoie de o înțelegere amplă, cuprinzătoare a comportamentului elevului.
Cerințele enumerate pot fi executate prin utilizarea următoarelor strategii de evaluare: evaluarea normativă, evaluarea criterială, evaluarea detaliată, evaluarea exploratorie, evaluarea diagnostică.
Evaluarea normativă
Evaluarea care compară performanțele unui elev cu ale altora se numește evaluare normativă. Ea permite determinarea poziției relative a elevului în clasă, de a afla dacă întreaga clasă se înscrie în limitele unei norme stabilite la nivelul unității de învățământ sau la nivelul țării. Evaluarea normativă creează posibilitatea de a măsura progresul școlar. Cel mai frecvent se utilizează în activitățile de selectare.
Limite: informația obținută este prea generală pentru organizarea procesului de formare; normele prestabilite deseori sunt inconvenabile pentru un elev (o clasă) concret(ă).
Evaluarea criterială
Evaluarea care măsoară performanțele individuale ale elevului la un obiectiv specific educațional se numește evaluare criterială. Această strategie este orientată spre nivelul de performanță al unui singur elev, realizările celorlalți nefiind relevante.
Avantajele evaluării criteriale consistă în flexibilitatea și adaptabilitatea ei la diverse curriculumuri, în posibilitatea măsurării capacităților specifice la diferite niveluri și a identificării nivelurilor acceptabile de formare a capacităților.
Evaluarea criterială se utilizează la probele de absolvire, în evaluarea curentă.
Limite: lipsa informației despre poziția relativă a elevului în clasă; concentrarea pe nivelul de performanță doar al unui singur elev.
Evaluarea detaliată
Rezolvarea oricărei probleme implică un complex de activități (problema în acest context are o semnificație foarte largă). Dificultățile ce apar în acest proces sunt cauzate fie de lipsa unor capacități specifice, fie de inaptitudinea elevului de a integra capacitățile necesare într-o suită de pași ce conduc la soluționarea problemei, fie de faptul că abilitățile formate nu sunt aplicate în situații noi. Evaluarea realizării unei sarcini, în cadrul căreia o capacitate este divizată în unități didactice și măsurată-apreciată fiecare în parte, se numește evaluare detaliată.
Avantaje: selectarea obiectivelor de referință, identificarea pașilor ce conduc la rezolvarea problemei, evidențierea unor unități de învățare comune, pe care elevul trebuie să le stăpânească.
Evaluarea detaliată necesită un interval de timp mai mare și în multe sisteme de învățământ este efectuată de specialiști în domeniu.
Evaluarea exploratorie
Evaluarea care se angajează să confirme că un elev a rămas în urma colegilor de clasă se numește evaluare exploratorie. Ea permite conturarea competențelor la formarea cărora elevul întâmpină dificultăți.
Evaluarea exploratorie este orientată pe curriculum: se face o trecere în revistă a deprinderilor de bază. Dacă în rezultatul evaluării sunt detectate discrepanțe neînsemnate între ceea ce realizează elevul și ceea ce se așteaptă de la el, atunci sunt proiectate acțiuni de remediere, în cazul unor discrepanțe mari, se recurge la o evaluare diagnostică.
Avantaje: posibilitatea de a evalua structura achizițiilor elevului, de a contura ariile de conținut în care acesta se confruntă cu dificultăți de învățare.
Limite: perioada îndelungată de timp necesară pentru identificarea riguroasă a multiplelor capacități prevăzute de curriculum.
Evaluarea diagnostică
Evaluarea care se angajează să determine cauzele restanțelor unui elev se numește evaluare diagnostică. Aceste cauze pot fi atât de ordin intern (proiectarea și aplicarea nesatisfacătoare a intervențiilor educative etc.) cât și de ordin extern. La evaluarea diagnostică se recurge dacă: s-a stabilit că abilitățile și comportamentul elevului diferă semnificativ de cele prevăzute pentru o dezvoltare și formare normală; discrepanța dintre nivelul achizițiilor elevului și obiectivele preconizate persistă sau este în creștere; discrepanța nu se înscrie în limitele variației normale și intervențiile profesorului nu conduc la schimbări vizibile.
În cadrul evaluării diagnostice, profesorul observă comportamentul elevului în diferite situații și condiții. O informație pertinentă poate fi obținută prin combinarea metodelor formale și informale de evaluare.
Avantaje: posibilitatea depistării și înțelegerii cauzelor ce provoacă probleme de învățare, în consecință pot fi elaborate remedii precise.
Consumul mare de timp necesar pentru elaborarea instrumentelor de evaluare și evaluarea propriu-zisă constituie principala dificultate la utilizarea acestei strategii de evaluare.
Aceste cinci strategii de evaluare reprezintă strategiile de bază utilizate în școală. Diferențierea dintre ele nu este absolută. Și evaluarea detaliată, și evaluarea exploratorie, și cea diagnostică sunt, de fapt, evaluări criteriale.
Evaluarea exploratorie presupune examinarea achizițiilor elevului de la o "înălțime mare" (pot fi analizate numai elementele importante). Evaluarea criterială este o apreciere de la o "înălțime medie" (sunt vizibile practic toate detaliile). Evaluarea detaliată constituie o examinare "cu lupa" a landșaftului achizițiilor (deși sunt observate cele mai mici detalii, sunt explorate doar unele dintre componentele landșaftului). Evaluarea diagnostică este o cercetare "cu lupa", efectuată însă pe anumite porțiuni.
11. Evaluarea formativă promovează un nou demers în cadrul căruia “interesează din ce în ce mai mult progresul elevului în timp, în raport cu obiectivele pedagogice dinainte definite.” Dezvoltându-se pe terenul inovației pedagogice, evaluarea formativă
sprijină realizarea unei pedagogii diferențiate care “permite o reglare interactivă” în
cadrul căreia “formatorul nu mai e interesat numai de rezultat, ci și de procesul care
conduce la acest rezultat.”
Dezvoltând interesul pentru autoevaluare, noțiunea de evaluare se transformă:
Evaluarea formativă Evaluarea formatoare
Evaluarea formativă “realizează o diagnoză asupra rezultatelor unei perioade
încheiate” de învățare, depistând “lacunele în însușirea conținutului” și “dificultățile de
învățare” (I.T. Radu, 2000)
Ea presupune compararea rezultatelor cu obiectivele concrete/operaționale ale
activității de predare-învățare-evaluare, atât profesorul cât și elevul cunoscând care este stadiul progresului la învățătură și care sunt măsurile ameliorative ce trebuie adoptate, orientând desfășurarea ulterioară a secvenței de învățare.
“Realizarea ei presupune din partea profesorului un rol din ce în ce mai activ în
învățare. El trebuie să supravegheze activitatea elevilor, să comenteze explicațiile
acestora și să-i orienteze diferențiat pe cei care comit erori sau întâmpină dificultăți”
Pentru a exprima mai bine funcția sa prioritară – aceea de a-l ajuta pe elev –
evaluarea formativă primește de la autorul G. Nunziati (1990) calificativul de formatoare.
Evaluarea formativă, creează lumină asupra procesului de desfășurat în clasă,
fiind centrată pe intervenția profesorului către elev. Ea relevă răspunsuri din partea
elevului, la intervenția profesorului. Evaluarea formatoare vine către elev și inițiativa îi
aparține. Dacă evaluarea formativă facilitează învățarea, iar cadrul didactic orientează
și conduce elevul, în cadrul evaluării formatoare inițiativa de învățare și implicit de evaluare aparține elevului care reflectă asupra rezultatelor activității sale. Profesorul îi
urmărește evoluția, oferindu-i sprijin și îndrumare.
Evaluarea formativă nu garantează de la sine că elevul a învățat, deoarece vine
din afara sa. Rolul său prioritar este cel de reglare a activității cu ajutorul profesorului.
Evaluarea formatoare este mult mai eficientă pentru că vine din propria inițiativă a celui care învață și se implică în realizarea unor materiale cu scop evaluativ, sporinduși în același timp capacitățile de autoevaluare. Pentru acesta este necesar ca profesorul să dețină o serie de tehnici prin care să-i învețe pe elevi să învețe, modalități prin care elevul să se simtă activ și să-și poată evalua propriile activități. Evaluarea formatoare are rol de reglare și autoreglare a activității cu sprijnul ambilor parteneri ai acțiunii educaționale.
Evaluarea formatoare îl ajută pe elev să învețe cerându-i să anticipeze. Obiectivelor de reglare pedagogică, de gestionare a erorilor și întărire a reușitelor,
obiective comune diferitelor modele de evaluare formativă, dispozitivul de evaluare
formatoare le mai adaugă o exigență, care-l privește pe elev: reprezentarea corectă a
scopurilor, planificarea prealabilă a acțiunii, însușirea criteriilor și autogestionarea erorilor.
Această abordare lărgește și mai mult conceptul de evaluare, în măsura în care tot ce are legătură cu construirea unui model personal de acțiune este considerat parte integrantă a evaluării formative și obiectiv prioritar de învățare. “Versiune modernă a vechiului contract de muncă individual, acest model îi înfățișează elevului diferite obiective ale învățării.
Acestea din urmă fac însă, pe de o parte, obiectul unei negocieri între profesor și elev, ceea ce costituie o primă condiție pentru îmbunătățirea învățării; pe de altă parte, elevului i se oferă două posibilități: să abordeze învățarea pe baza unei logici combinatorii, legată de un scop, de un produs, și să reflecte la mijloacele, metodele și criteriile de realizare a obiectului finit. Urmele evaluării formatoare a unei competențe vor fi deci, pe de o parte, etapele sau obiectivele intermediare prin care elevul a hotărât să treacă și, pe de altă parte, lista metodelor sau instrumentelor pe care le va utiliza sau pe care le-a utilizat (criterii de realizare). Accentul cade, în acest model, pe reperarea de către elev a criteriilor de realizare. Aceasta este și principala dificultate de ordin pedagogic” – afirmă Genevieve Meyer (2000).
Caracteristicile celor două tipuri de evaluări, prezentate sintetic:
EVALUAREA FORMATIVĂ
inițiativa îi aparține profesorului;
profesorul intervine asupra elevului;
este exterioară elevului, provenind din procesul didactic la care elevul nu are acces decât prin intermediul profesorului;
se repercutează pozitiv asupra schimburilor dintre profesor și elev, din exterior.
EVALUAREA FORMATOARE
inițiativa aparține elevului și este orientată sau nu de către profesor;
izvorăște din reflecția elevului asupra propriei transformări, asupra propriei învățări;
este susținută de motivația interioară a elevului;
se repercutează pozitiv asupra schimburilor dintre elev și profesor, dinăuntru.
Astfel, cadrul didactic trebuie să-și îmbunătățească practica evaluării, alternând
metodele și instrumentele de evaluare tradiționale (probe scrise, probe orale, probe practice) cu cele complementare (observarea sistematică și directă a elevului, investigația, interviul) și active (lucrări de laborator, proiectul de cercetare, portofoliul, studiul de caz, jurnalul reflexiv, hărțile conceptuale).
12. Evaluarea traditională tinde să fie tot mai mult înlocuită cu evaluarea alternativă, dialogată, (“dialogical evaluation”)
Iată care sunt diferențele dintre cele două modele de evaluare, adaptate la nivelul învățământului:
EVALUAREA TRADIȚIONALĂ
este o căutare a obiectivității și a modalităților știintifice de evaluare cu proceduri standard. Accentul se pune pe profesorul-evaluator.
este interesată mai mult de măsurarea aspectelor cantitative. Aspectele calitative fiind dificil de măsurat tind să fie ignorate.
are un grad înalt de control managerial al procesului de evaluare de către evaluator, singurul care pune întrebările. Ceilalți participanți care sunt afectați de constatările evaluării au o influență slabă în procesul evaluării și anume în a formula întrebările care pot fi puse, în a-și exprima părerea despre modalitățile de evaluare ori să discute cu profesorul despre concluziile la care acesta a ajuns. Elevul nu e direct implicat în procesul de evaluare. El e exterior acestuia prin faptul că se supune intervenției profesorului. Acesta este cel care vine cu propunerea: când, cum și ce se evaluează.
nu există o cooperare între evaluator și elev privind modalitățile de evaluare; din acest motiv profesorul evaluator poate fi perceput negativ.
EVALUAREA DIALOGATĂ
este privită ca parte integrantă a procesului de dezvoltare și schimbare și implică judecata reflexivă
este centrată pe dialog, pe cercetarea calitativă mai mult decât pe măsurarea cantitativă; folosește mai puțin metodele formale.
funcția principală este de energizare din interior a procesului, depășind concepția prin care evaluarea este un proces de control care acționează din exteriorul procesului de învățare. Se pleacă de la ideea că fiecare este unic, având propriul stil de lucru, diferite modalități de percepție, gândire și acțiune. Elevul participă activ la procesul de evaluare. Negocierea și consensul constituie elemente importante, iar profesorul discută cu elevii rezultatele și le face recomandări.
rolul evaluatorului este cel de facilitator din interior al procesului de învățare mai mult decât un observator neutru. El ușurează învățarea și evaluarea, plecând de la premiza că evaluarea îndeplinește funcții mai degrabă de ameliorare și de corectare decât de sancționare și de speculare a greșelilor.
13. Metode de evaluare: metoda orală, metoda scrisă, metoda practică, evaluarea asistată de calculator, alte metode.
Numeroase discuții s-au purtat de-a lungul timpului și continuă să se poarte și astăzi în legătură cu gradul de obiectivitate și de precizie al metodelor de evaluare.
Sunt numeroase argumente „pro” și „contra” utilizării exclusive a uneia sau alteia dintre metodele cunoscute. În realitate, îmbinarea lor constituie soluția cea mai potrivită.
Metoda de evaluare orală
Este una dintre cele mai răspândite și se poate aplica individual sau pe grupe de elevi. Principalul avantaj al acestei metode îl constituie posibilitatea dialogului profesor-elev, în cadrul căruia profesorul își poate da seama nu doar „ce știe” elevul, ci și cum gândește el, cum se exprimă, cum face față unor situații problematice diferite de cele întâlnite pe parcursul instruirii. Cu prilejul examinării orale, profesorul îi poate cere elevului să-și motiveze răspunsul la o anumită întrebare și să-l argumenteze, după cum tot el îl poate ajuta cu întrebări suplimentare atunci când se află în impas.
Metoda are însă și unele dezavantaje: ea este mare consumatoare de timp, timp care, adesea, le lipsește profesorilor ale căror discipline sunt prevăzute în planul de învățământ cu un număr mic de ore, deci care au mai mulți elevi cărora trebuie – potrivit reglementărilor în vigoare – să le atribuie cel puțin trei note „în oral” pentru a li se încheia media semestrială.
Un alt dezavantaj este și acela referitor la dificultatea de a selecționa, pentru toți elevii examinați, întrebări cu același grad de dificultate. Pentru a elimina aceste dezavantaje se pot stabili anumite restricții cu privire la durata acestor examinări orale, în funcție de vârstă; întrebările vor fi stabilite din vreme pentru a fi cât mai uniforme, ca grad de dificultate, pentru întregul grup de elevi supus verificării, formularea lor făcându-se clar și precis, fără ambiguități.
Ca să-i fie mai ușor, profesorul poate avea în față, pe durata examinării, o fișă de evaluare orală.
Metoda de evaluare scrisă
Este utilizată sub diferite forme: extemporal, teză, test, chestionar, eseu, referat, temă executată acasă, portofoliu, proiect etc.
Prin această metodă se asigură uniformitatea subiectelor (ca întindere și ca
dificultate îndeosebi) pentru elevii supuși evaluării, ca și posibilitatea de a examina
un număr mai mare de elevi în aceeași unitate de timp.
Ea îi avantajează pe elevii emotivi și-i pune la adăpost pe profesorii tentați
să evalueze preferențial prin metoda orală.
Ca și metoda de evaluare orală și cea scrisă are unele dezavantaje sau limite: la teste, de exemplu, elevii pot ghici răspunsurile la itemii cu alegere multiplă; la extemporale și teze se poate copia.
Indiferent de forma utilizată, în cazul probelor scrise este dificil de apreciat
anumite răspunsuri, când acestea sunt formulate ambiguu, deoarece profesorul care
corectează lucrarea nu-i poate cere lămuriri autorului.
În general, metoda de evaluare scrisă nu oferă aceleași posibilități de investigare a pregătirii elevilor (cunoștințe, deprinderi, abilități, capacități, competențe etc.) ca evaluarea orală. În realitate, combinarea celor două metode amplifică avantajele și diminuează dezavantajele, așa încât e preferabilă folosirea unui sistem de metode pentru a realiza o evaluare cât mai apropiată de adevăr.
Ca și în cazul evaluării orale, pentru evaluarea scrisă, este necesar să se stabilească unele criterii de apreciere.
La cerințele de conținut, ar trebui să se țină cont de volumul și corectitudinea cunoștințelor, de rigoarea demonstrațiilor (acolo unde este cazul).
Important este întotdeauna să nu se omită cunoștințele esențiale din materia supusă verificării (examinării).
Prezentarea conținutului să se facă sistematic și concis, într-un limbaj
inteligibil (riguros din punct de vedere științific și corect din punct de vedere gramatical).
Forma lucrării presupune și o anumită organizare a conținutului (în funcție de specificul acestuia), unele sublinieri, realizarea unor scheme, tabele și grafice, pentru a pune în valoare unele idei principale și a-i permite corectorului să urmărească, mai ușor, aceste idei. Când se recurge la citate, este necesar să se indice și sursa.
Metoda de evaluare practică
Le permite profesorilor să constate la ce nivel și-au format și dezvoltat elevii anumite deprinderi practice, capacitatea de „a face” (nu doar de „a ști”). Și această metodă se realizează printr-o mare varietate de forme, în funcție de specificul obiectului de studiu de la probele susținute de elevi la educația fizică, unde există baremuri precise, la lucrările din laboratoare și ateliere unde elevii pot face dovada capacității de a utiliza cunoștințe asimilate prin diverse tehnici de lucru: montări și demontări, executări de piese sau lucrări, efectuarea unor experiențe etc.
Și, la această categorie de probe, evaluatorii trebuie să stabilească unele criterii, norme și/sau cerințe pedagogice, pentru că, de fapt, evaluarea din învățământ, prin oricare dintre metode s-ar realize, are prin excelență, o valoare, o semnificație pedagogică. Aceste cerințe nu trebuie să difere de cele formulate pe parcursul instruirii, în schimb, ele trebuie să fie cunoscute și de elevi, împreună cu bareme (standardele) de notare.
Evaluarea cu ajutorul calculatorului
Noile tehnologii ale informării și comunicării (N.T.I.C), cu largi aplicații în toate domeniile, au pătruns – e adevărat, destul de greu – și în învățământ.
Studii internaționale de profil menționează că aplicațiile N.T.I.C „au fost
experimentate în toate etapele procesului educativ: motivare, diagnoză, prezentarea
informațiilor, pregătire, memorare, rezolvare de probleme, verificare, notare” (O. I. D. I., 1990)
Învățământul asistat de calculator – marea „minune” a tehnicii actuale care zdruncină din temelii învățământul tradițional fundamentat de Comenius în celebra sa lucrare Didactica Magna, acum mai bine de trei secole – își propune obiective ambițioase, cum sunt: „dezvoltarea raționamentului, imaginației și creativității, precum și a capacității de a emite o apreciere critică asupra rezultatului dialogului om – mașină” (O.I.D.I, 1990).
Experții remarcă, pe bună dreptate, că „Informatica are un potențial educativ foarte mare față de ceea ce ar putea oferi alte tehnologii. Informatica permite adaptarea învățământului la cerințele fiecărui elev, la ritmul de muncă, la aptitudinile intelectuale și la nivelul său de cunoștințe, deci, diversificarea modalităților pedagogice și personalizarea învățământului”.
Utilizat în evaluare, calculatorul le oferă, atât profesorilor cât și elevilor, o mare diversitate de modalități.
Spre deosebire de metodele de evaluare tradiționale, evaluarea cu ajutorul calculatorului este debarasată de orice elemente de subiectivism, ca și de emoțiile
care-i însoțesc pe cei mai mulți dintre elevi la verificările curente și la examene.
Ea economisește timpul și efortul evaluatorilor care, astfel, pot fi utilizate în alte domenii. Se schimbă, deci, însuși raportul profesor-elev, prin creșterea încrederii elevilor în obiectivitatea profesorilor.
Mai mult, elevii înșiși se pot autoevalua pe parcursul muncii independente pe care o depun zilnic, beneficiind de feed-back-ul atât de necesar unei învățări eficiente și performante.
Deși metoda de evaluare cu ajutorul calculatorului este folosită, încă prea puțin, în școala românească de toate gradele, începuturile sunt promițătoare iar numărul adepților utilizării ei în evaluarea curentă și la examene crește.
Integrată procesului de instruire, evaluarea asistată de calculator ar trebui să capete o mai mare extindere în rezolvarea de probleme (mai dificile pentru elevi).
După Nisbet și Sbucksmith (1986), citați de A. K. Jalaluddin (1990), „procesul de rezolvare a problemelor poate fi redus la următoarele operații: examinarea problemei model, prelucrarea modelului în vederea efectuării necesare și exprimării problemei în funcție de aceste condiții”.
Acest proces permite studiul pe bază de experiență (diferit de cel static) care, asociat cu utilizarea materialului imprimat pe calculator, îi oferă elevului un mod interactiv de construire și asimilare a noilor cunoștințe, concomitent cu posibilitatea de a verifica dacă ceea ce a învățat este corect sau nu.
Alte metode de evaluare
În practica școlară sunt folosite și alte metode de evaluare a nivelului de pregătire al elevilor, atât pe parcursul instruirii cât și la sfârșitul ei.
Menționăm câteva, întâlnite mai des, în activitatea profesorilor:
• observarea;
• referatul;
• eseul;
• fișa de evaluare;
• chestionarul;
• investigația;
• proiectul;
• portofoliul;
• disertația/lucrarea de diplomă.
Multe dintre ele, cum este cazul eseului, referatului, fișei de evaluare, chestionarului, proiectului și disertației/lucrării de diplomă, pot fi incluse în categoria metodelor de evaluare scrisă.
OBSERVAREA (înțeleasă aici ca metodă de cunoaștere a elevului sub diverse aspecte) poate fi folosită și ca metodă de evaluare, cu condiția să respecte aceleași cerințe psihopedagogice, ca și în cazul unei cercetări (investigații) pe o temă dată: să aibă obiective clare (exemplu: stimularea interesului elevilor pentru o anumită disciplină; ameliorarea rezultatelor școlare; creșterea caracterului aplicativ al predării și învățării); să se efectueze sistematic, pe o perioadă mai îndelungată (semestru sau an școlar); să se înregistreze operativ, într-o fișă specială sau într-un caiet, rezultatele observării.
Obiectul observării îl constituie: activitatea elevilor, comportamentul lor, produsele unor activități realizate în conformitate cu cerințele programelor școlare
sau combinație a lor.
Rezultatele observării vor fi comparate cu rezultatele la învățătură, în urma unor analize calitative și cantitative (matematice și statistice).
Observarea va fi folosită, mai ales, pentru sesizarea cât mai exactă a cauzelor care determină obținerea unor rezultate slabe la învățătură la anumiți elevi și oscilațiile (variațiile) prea mari în pregătirea altora, dar și pentru a evita erorile de apreciere prin atribuirea unor note (fie prea mari, fie prea mici) sub impresia momentului, a unor evaluări conjuncturale.
În mod deosebit, prin observarea sistematică a comportamentului și activității elevilor, se evită, atât supraestimarea unor elevi ca urmare a impresiei bune create despre ei, cât și subestimarea celor despre care există o impresie proastă.
În toate cazurile însă, valoarea observării depinde de rigoarea cu care este făcută și de competența evaluatorului.
REFERATUL (folosit ca bază de discuție în legătură cu o temă dată fiind menit să contribuie la formarea sau dezvoltarea deprinderilor de muncă independentă ale elevilor din clasele mari sau ale studenților), este și o posibilă probă de evaluare a gradului în care elevii sau studenții și-au însușit un anumit segment al programei, cum ar fi o temă sau o problemă mai complexă dintr-o temă.
El este întocmit fie pe baza unei bibliografii minimale, recomandate de profesor, fie pe baza unei investigații prealabile, în acest din urmă caz, referatul sintetizând rezultatele investigației, efectuate cu ajutorul unor metode specifice (observarea, convorbirea, ancheta etc.).
Când referatul se întocmește în urma studierii anumitor surse de informare, el trebuie să cuprindă atât opiniile autorilor studiați în problema analizată, cât și propriile opinii ale autorului.
Nu va fi considerat satisfăcător referatul care va rezuma sau va reproduce anumite lucrări studiate, cu speranța că profesorul, fie nu cunoaște sursele folosite de elev sau de student, fie nu sesizează plagiatul.
Referatul are, de regulă trei-patru pagini și este folosit doar ca element de portofoliu sau pentru acordarea unei note parțiale în cadrul evaluării efectuate pe parcursul instruirii.
Deoarece el se elaborează în afara școlii, elevul putând beneficia de sprijinul altor persoane, se recomandă susținerea referatului în cadrul clasei/grupei, prilej cu care autorului i se pot pune diverse întrebări din partea profesorului și a colegilor.
Răspunsurile la aceste întrebări sunt, de regulă, edificatoare în ceea ce privește contribuția autorului la elaborarea unui referat, mai ales când întrebările îl obligă la susținerea argumentată a unor idei și afirmații.
ESEUL, preluat din literatură (unde este folosit pentru a exprima liber și cât mai incitant, anumite opinii, sentimente și atitudini, referitoare la diverse aspecte ale vieții oamenilor, într-un număr de pagini cât mai mic), poate fi folosit și ca metodă de evaluare.
Problematica eseului în învățământ este foarte diversă putând fi abordată atât cu mijloace literare, cât și cu mijloace științifice, într-un spațiu care, de regulă, nu depășește două-trei pagini.
Rostul eseului, ca metodă de evaluare, este acela de a-i da elevului sau studentului posibilitatea de a se exprima liber, de a-și formula nestingherit opiniile față de un anumit subiect, neîncorsetat de anumite scheme livrești sau de prejudecăți.
El este o alternativă la testul grilă, bazat pe itemi stereotipi, cu alegere duală sau multiplă, care tind să monopolizeze evaluările sumative în ultimii ani.
Și eseul însă, ca și referatul, poate oferi informații limitate despre nivelul de pregătire al unui elev sau student, informațiile lui urmând a fi corelate cu informațiile obținute cu ajutorul altor metode de evaluare.
Oricum, eseul se bucură de o largă apreciere în rândul elevilor și studenților și, atunci când este bine folosit (ca moment și ca domeniu de aplicare), le oferă evaluatorilor informații foarte interesante, cel puțin în ceea ce privește capacitatea de gândire a elevilor (studenților), imaginația lor, spiritul critic, puterea de argumentare a unor idei personale și altele asemenea, ce nu pot fi „măsurate”, la fel de precis, cu alte metode de evaluare.
FIȘA DE EVALUARE este un formular de dimensiunea unei coli de hârtie A4 sau A5 (în funcție de numărul și complexitatea sarcinilor de îndeplinit), pe care sunt formulate diverse exerciții și probleme ce urmează a fi rezolvate de elevi în timpul lecției, de regulă după predarea de către profesor a unei secvențe de conținut și învățarea acesteia, în clasă, de către elevi.
În aceste condiții, fișa de evaluare se folosește, mai ales, pentru obținerea feedback-ului de către profesor, pe baza căruia el poate face precizări și completări, noi exemplificări etc., în legătură cu conținutul predat.
Nu este, deci, obligatoriu ca elevii să fie notați, fișa de evaluare având, în felul acesta, un pronunțat caracter de lucru, de optimizare a învățării, ceea ce o și deosebește de testul de evaluare care se folosește, prioritar, pentru aprecierea și notarea elevilor.
Fișa de evaluare mai poate fi folosită și pentru înregistrarea rezultatelor observării sistematice a comportamentului și activității elevilor, în această situație evaluarea având un rol sumativ.
CHESTIONARUL, folosit pe scară largă în anchetele de teren de către sociologi, precum și ca metodă de cercetare psihopedagogică, poate fi folosit și ca instrument de evaluare, mai ales atunci când profesorul dorește să obțină informații despre felul în care elevii percep disciplina predată sau stilul lui de predare și de evaluare.
Cu ajutorul chestionarului se pot obține informații despre opțiunile elevilor și atitudinea lor față de disciplină sau față de anumite probleme cuprinse în programă și manual, ceea ce înseamnă că, pe această cale, putem obține informații și despre nivelul lor de motivație la o anumită disciplină.
Nu este însă mai puțin adevărat că, prin intermediul chestionarului, se pot obține și informații referitoare la pregătirea elevilor (chestionarea putându-se face atât oral, cât și în scris), cu toate că, în practică, sunt preferate alte metode și instrumente ce permit obținerea unor informații mai relevante (testul, de exemplu, fiind bazat pe o mare varietate de itemi, asigură o apreciere mult mai riguroasă decât chestionarul).
Când dorește însă o informare operativă cu privire la stăpânirea de către elevi a unor probleme esențiale, dintr-o lecție, dintr-o temă sau dintr-un capitol, profesorul poate recurge la chestionar.
Pe baza răspunsurilor primite de la elevi, el poate face nu doar aprecieri privind gradul de însușire a unor cunoștințe, ci și precizări, completări, dezvoltări etc., care să conducă la o mai bună cunoaștere a unei anumite părți din materia parcursă.
INVESTIGAȚIA (în sensul de cercetare, descoperire) se folosește, de regulă, ca metodă de învățare, pentru a-i deprinde pe elevi să gândească și să acționeze independent, atât individual cât și în echipă.
La începutul semestrului, profesorul stabilește lista de teme pe care elevii urmează să le abordeze cu ajutorul investigației, perioada investigației, modul de lucru, de prezentare și de valorificare a rezultatelor.
Investigația se poate realiza individual sau colectiv.
Este de preferat ca rezultatele să fie analizate cu clasa de elevi, pentru ca profesorul să poată formula observații, aprecieri și concluzii.
Pe baza analizei activității elevilor și a rezultatelor obținute de ei în cadrul investigației, profesorul poate acorda note, valorificând, în felul acesta, funcția evaluativă a investigației.
PROIECTUL are, de asemenea, un dublu rol: el poate fi folosit cu elevii din clasele mari de liceu și cu studenții pentru învățarea unor teme mai complexe, care se pretează la abordări pluridisciplinare, interdisciplinare și transdisciplinare sau ca metodă de evaluare (pe parcursul instruirii sale) sumativă. Cu ajutorul lui elevii/studenții, pot face dovada că au capacitatea de a investiga un subiect dat, cu metode și instrumente diferite, folosind cunoștințe din diverse domenii. Uneori, proiectul este folosit ca probă de evaluare la absolvirea unei școli profesionale, a unui liceu industrial sau cu profil artistic, precum și la absolvirea unei facultăți din domeniile tehnicii, artei, arhitecturii etc.
Ca și în cazul investigației, profesorul stabilește lista temelor de proiect, perioada de realizare și-i inițiază pe elevi sau pe studenți asupra etapelor și a tehnicilor de lucru (individual sau colectiv).
Elevii/studenții trebuie să fie orientați și îndrumați și (eventual) sprijiniți de profesor în colectarea datelor necesare (potrivit temei alese sau repartizate), iar pe parcursul realizării proiectului să beneficieze de consultații și de evaluări parțiale.
La aceste evaluări, ca și la evaluarea finală (când proiectul se prezintă sau se susține), profesorul operează cu anumite criterii, referitoare, atât la proces (documentarea, utilizarea datelor și a informațiilor în formularea concluziilor etc.), cât și la produs (structura proiectului, concordanța dintre conținut și temă, capacitatea de analiză și sinteză, relevanța concluziilor, caracterul inedit al rezultatelor etc.). Aceste criterii se recomandă să fie cunoscute și de elevi/studenți.
PORTOFOLIUL, este o metodă de evaluare mai veche, folosită, îndeosebi, în învățământul primar, unde învățătorii le cereau elevilor să realizeze o seamă de lucrări, pe parcursul instruirii, care constituiau un fel de carte de vizită a lor. Aceste lucrări, cuprinzând compuneri, rezolvări de probleme, diverse produse executate la lucrul manual, ierbare, insectare, colecții minerale și altele asemenea, erau apreciate și notate, iar cele mai reușite erau prezentate în cadrul unor expoziții organizate la sfârșitul anului școlar.
„Descoperită” după anul 1989 și numită „portofoliu”, metoda s-a extins și la celelalte trepte de învățământ, dându-i-se un conținut mai precis.
Adrian Stoica o include între metodele „complementare” de evaluare, alături de observare, de investigație și de proiect, nici ele noi dar mai bine definite, evidențiindu-li-se valențele formative și apartenența la ceea ce autorul numește „evaluare autentică”, prin care înțelege „un concept relativ nou” ce „se referă la evaluarea performanțelor elevilor prin sarcini de lucru complexe” (Stoica, A., 2003).
În această perspectivă, Adrian Stoica include în portofoliu diverse rezultate ale activității desfășurate de elevi pe parcursul instruirii, înregistrate fie cu ajutorul metodelor considerate „tradiționale” (orale, scrise și practice), fie cu ajutorul celor numite „complementare” (observarea, proiectul, investigația).
Fără a minimaliza valoarea portofoliului și a celorlalte metode „complementare”, suntem de părere că oricare dintre metodele de evaluare (mai vechi sau mai noi, „tradiționale” sau „moderne”) trebuie utilizate de profesori și apreciate în raport cu „fidelitatea” lor, adică cu gradul în care ele reușesc să măsoare cât mai riguros ceea ce vrem să măsurăm, măsurarea fiind o caracteristică importantă a oricărei evaluări.
Ideea pentru care pledăm este aceea de a nu absolutiza nici o metodă de evaluare ci, de a utiliza un sistem de metode, amplificându-le astfel avantajele și diminuându-le dezavantajele.
Să nu uităm că elementele portofoliului sunt lucrări executate de elev, de regulă, în cadrul activității independente din afara școlii, el putând beneficia de îndrumarea altor persoane sau prelua de la acestea lucrări gata făcute.
Așadar, și portofoliul va putea fi folosit ca o alternativă, alături de alte metode, conținutul său fiind precizat de evaluator, în funcție de specificul disciplinei de studiu, la începutul semestrului sau al anului de învățământ.
DISERTAȚIA este folosită sub această denumire sau sub denumirea de lucrare de absolvire, de licență sau de diplomă, la încheierea unei școli sau a unei facultăți.
Disertația este o lucrare științifică mai amplă, susținută public, în fața unei comisii de examen. Pe parcursul realizării, autorul (elev sau student) beneficiază de îndrumarea unui profesor, specialist în domeniul din care a fost aleasă tema lucrării. Ea se folosește și ca probă finală în obținerea titlului de doctor în științe sau, sub formă de discurs, la primirea în Academia Română.
Faptul că frecvența cotidiană a elevilor este slabă, iar exigențele cadrelor didactice sunt mai mici decât în alte țări, se reflectă în scăderea nivelului rezultatelor la examene, mai ales ale celor ilustrând capacitățile de gândire ale elevilor.
„Malnutriția intelectuală”, cauzată și de conținutul programelor școlare, este ilustrată în special de rezultatele școlare nesatisfăcătoare obținute la disciplinele fundamentale. De exemplu, este de-a dreptul alarmant gradul de însușire de către elevi a limbii naționale (atât în privința modului de exprimare, cât și a capacității de înțelegere).
În continuare sunt abordate patru aspecte ale noțiunii de reușită școlară, implicit ale sistemului de evaluare:
În prezent, această reușită depinde, în primul rând, de aptitudinile elevului de a se exprima operativ în scris, care, la rândul ei, este în funcție de capacitatea fiecăruia de memorare a datelor. Examenul privilegiază, deci, această capacitate, punând accentul mai mult pe cunoștințe decât pe deprinderi, mai curând pe memorare decât pe priceperea de a sesiza esența unei probleme, în sfârșit, mai mult pe exprimarea scrisă decât pe alte forme de comunicare.
Un alt aspect al reușitei școlare care trebuie avut în vedere și care este mai dificil de evaluat, fiind deci mai slab înregistrat la examene, îl constituie capacitatea elevului de a utiliza cunoștințele, de preferat aceleia de a le însuși, aptitudinea lui de a le folosi mai degrabă pe plan practic decât pe plan teoretic.
O a treia problemă este aceea a aptitudinilor personale și sociale: predispoziția elevului de a comunica cu alții, înclinația spre cooperare (în interesul colectivului și al său), spiritul de inițiativă, încrederea în sine, capacitatea de a lucra singur, fără supraveghere. Practic, asemenea calități nu intră în preocupările comisiilor de examen.
Un al patrulea aspect privește motivația elevului și autoangajarea, puterea de a accepta eșecul fără a-i dramatiza urmările, perseverența, convingerea că trebuie să învețe fără a se lăsa descurajat de dificultățile întâmpinate. Multor elevi intrați în școală fără motivație, profesorii au reușit să le cultive interesul pentru învățătură, ca o precondiție a reușitei școlare. În cazurile în care școala n-a acordat cuvenita importanță acestui aspect, celelalte trei au fost, în mod automat, neglijate.
Având în vedere că tinerii care sosesc pe piața muncii trebuie ca, pe lângă un nivel corespunzător de instruire școlară, să aibă o serie de calități în ceea ce privește comunicarea, creativitatea, autonomia și luarea deciziilor, autorii propun, printre altele, o reconsiderare a sistemului de evaluare în cadrul examenelor, în contextul unei reforme mai ample a învățământului.
3.8. [17]EVALUAREA PRIN PROIECTE
Reprezintă „o metodă complexă de evaluare, individuală sau de grup, recomandată profesorilor pentru evaluarea sumativă.” (Cucoș, 2008, 138).
Elaborarea proiectului necesită o perioadă mai mare de timp (câteva zile sau câteva săptămâni) și poate fi sarcină de lucru individuală sau de grup.
În utilizarea acestei metode se parcurg următoarele etape:
Stabilirea temelor pentru proiect (pot fi implicați și elevii, dacă le este deja familiar acest tip de activitate).
Stabilirea și precizarea perioadei de realizare a proiectului.
Familiarizarea elevilor cu exigențele specifice elaborării unui proiect.
Planificarea activității (individuale sau de grup)
formularea obiectivelor proiectului;
constituirea grupelor de elevi (dacă este cazul);
distribuirea/alegerea subiectului de către fiecare elev/grup de elevi;
distribuirea/asumarea responsabilităților de către fiecare membru al grupului;
identificarea surselor de documentare.
Desfășurarea cercetării/colectarea datelor.
Realizarea produselor/materialelor.
Prezentarea rezultatelor obținute/proiectului.
Evaluarea proiectului.
Este indicat ca profesorul să le recomande elevilor ca în realizarea proiectului să respecte următoarea structură (adaptare după Stoica, 2001, 60-61):
Pagina de titlu (include tema proiectului, numele autorului/autorilor, școala, clasa, perioada de realizare);
Cuprinsul (se precizează titlurile capitolelor și subcapitolelor);
Introducerea (se fac referiri la importanța temei, cadrul conceptual și metodologic);
Dezvoltarea elementelor de conținut prezentate în cuprins;
Concluzii;
Bibliografie;
Anexe.
Pe parcursul realizării proiectului, cadrul didactic oferă suport și consultații elevilor în desfășurarea cercetării, în colectarea datelor necesare și poate efectua evaluări parțiale.
Evaluarea proiectului implică atât raportarea la calitatea produsului, cât și la calitatea procesului, a activității elevului. În acest sens, este necesar ca profesorul să formuleze criterii clare, susceptibile de a asigura o evaluare obiectivă, și să le comunice elevilor.
Un exemplu de structurare a criteriilor de evaluare a unui proiect îl oferă A. Stoica, în lucrarea sa – Evaluarea curentă și examenele. Ghid pentru profesori (2001, 63):
Stabilirea scopului/obiectivelor proiectului și structurarea conținutului;
Activitatea individuală realizată de către elev (investigație, experiment, anchetă etc.);
Rezultate, concluzii, observații. Aprecierea succesului proiectului, în termeni de eficiență, validitate, aplicabilitate etc.;
Prezentarea proiectului (calitatea comunicării, claritate, coerență, capacitate de sinteză etc.);
Relevanța proiectului (utilitate, conexiuni interdisciplinare etc.).
Avantaje ale utilizării proiectului ca metodă de evaluare:
este, în același timp, o metodă eficientă de evaluare, dar și o metodă de învățare interactivă;
plasează elevul într-o situație de cercetare autentică;
cultivă responsabilitatea pentru propria învățare și rezultatele acesteia;
asigură implicarea tuturor elevilor în realizarea sarcinilor propuse;
facilitează abordările de tip inter- și transdisciplinar;
promovează interevaluarea/autoevaluarea și interînvățarea;
oferă posibilitatea aprecierii unor rezultate de diverse tipuri (cunoștințe, capacități, abilități);
permite exersarea și evaluarea:
capacității de a observa;
capacității investigative;
capacității de analiză, sinteză, comparație, generalizare și abstractizare;
capacității de a utiliza tehnici specifice de muncă intelectuală;
capacității de a utiliza, asocia, transfera diverse cunoștințe;
capacității argumentative;
capacității de a realiza un produs etc.;
asigură dezvoltarea competențelor de relaționare, a competențelor de comunicare;
stimulează creativitatea;
facilitează dezvoltarea încrederii în propriile forțe etc..
Limite ale utilizării proiectului ca metodă de evaluare:
apariția unor conflicte între elevi (în condițiile elaborării în grup a proiectelor);
minimalizarea rolului profesorului etc..
CAPITOLUL IV
CREATIVITATEA
4.1.[30] CONCEPTUL DE CREATIVITATE
Creativitatea constituie una dintre problemele majore ale contemporaneității, devenind un ,,concept central" în psihologie. Creativitatea a devenit una dintre cele mai fascinante probleme, depășind cu mult sfera psihologiei și pătrunzând în cele mai diverse specialități științifice.
Unii psihologi formulează definiții reducționiste, prin asimilarea creativității cu alte fenomene psihice (capacități, aptitudini, rezolvare de probleme, inteligență, etc.). Pentru Guilford creativitatea și rezolvarea de probleme nu se deosebesc prin nimic între ele.
Manualele recente de psihologie consideră creativitatea „un caz particular al rezolvării problemelor”(Wittig) sau „un tip de rezolvare a problemelor”(Papalia).
Conceptul de creativitate își are originea în cuvântul latin creare care înseamnă zămislire, făurire, naștere.
Într-o accepțiune foarte largă, creativitatea constituie un fenomen general uman, forma cea mai înaltă a activității omenești.
Din perspectiva ceva mai îngustă și mai specific psihologică, creativitatea apare în 4 accepțiuni importante: ca produs; ca proces; ca disponibilitate, potențialitate general umană, ca o capacitate și abilitate creativă; ca dimensiune complexă de personalitate.
4.2. [30]Creativitatea ca produs
Cei mai mulți psihologi care au definit creativitatea s-au referit la caracteristicile produsului creator, ca note distinctive ale ei. Caracteristicile esențiale ale unui produs al activității umane care sa permită încadrarea acestuia în categoria produselor creatoare au fost considerate:
1. noutatea si originalitatea lui
– acest atribut al produsului creator a fost interpretat:
– în sens foarte larg, luând în considerare noutatea produsului creator (Newell, Shaw, Simon)
– în sens restrâns luând în considerare numai noutatea produsului pentru societate.(Al. Roșca)
– ,,noul" a fost interpretat și dintr-o altă accepțiune impusă de necesitatea evaluării răspunsurilor la testele de creativitate, și anume nou în sens de rar întâlnit din punct de vedere statistic. Unicitatea răspunsului devine deci esențială pentru considerarea lui ca fiind nou și original, chiar dacă luat în sine răspunsul este banal.
Noutatea produsului trebuie considerată însă numai corelativ cu utilitatea lui ,,Întrucât un produs poate să fie original, dar fără valoare, cei doi termeni ai definiției nu pot fi separați"(Roșca).
2. valoarea, utilitatea socială, și aplicabilitatea vastă
4.3. [30]Creativitatea ca proces
Aceasta accepțiune vizează caracterul fazic, procesual al creativității, faptul că ea necesită parcurgerea unor etape distincte între ele, numărul acestora variind de la autor la autor.
G. Wallas, E.D. Hutchinson, R. Thomson stabilesc 4 etape ale procesului creator:
– pregătirea, incubația, iluminarea, verificarea
Atitudinea psihologică față de aceste etape a fost extrem de variată:
– incubația a fost contestată, Guilford o considera ca fiind mai degrabă o condiție decât o formă a activității cum sunt celelalte etape.
– Iluminarea controversată (pot avea loc iluminări false)
– Succesiunea etapelor a rămas neconfirmată (uneori etapele se suprapun, se inversează așa încât procesul creator este nu stadial, ci continuu cu întrepătrunderea etapelor).
Singurele două etape care au întrunit adeziunea tuturor psihologilor au fost prepararea si verificarea.
Dar și în cazul acestora au fost evidențiate diferențe importante între ele în funcție de tipul de creație.
4.4. [30]Creativitatea ca potenȚialitate general umanĂ
Această accepțiune oferă răspunsul la una dintre problemele mult dezbătute în psihologie: exista oameni noncreatori?
De-a lungul timpului au fost formulate o serie de teorii care refuzau creativitatea unor oameni.
Astfel creativitatea a fost considerată ca fiind un dar sau har divin rezervat unor privilegiați ai soartei, unei minorități.
Unii autori o credeau ca fiind o capacitate înnăscută, transmisă pe cale ereditară.
Galton, în lucrarea sa Hereditary genius afirma că există atâtea talente câte s-au manifestat, afirmat.
Asemenea concepții au frânat nu numai studiul științific al creativității, ci și dezvoltarea creativității multor oameni. Creativitatea este o capacitate general umană.
Sub o forma latentă, virtuală, evident în grade și proporții diferite, se găsește la fiecare individ.
4.5. [30]Creativitatea ca dimensiune complexĂ a personalitĂȚii
Creativitatea integrează în sine întreaga personalitate și activitate psihică a individului iar la rândul ei, se subsumează și integrează organic în structurile de personalitate devenind astfel una dintre dimensiunile cele mai complexe ale personalității. Creativitatea este o dimensiune de sine stătătoare a personalității, integrată organic în ea.
După Guilford, personalitatea creatoare se distinge prin:
– fluiditate
– flexibilitate
– originalitate
– elaborare
– sensibilitate față de probleme
– capacitate de redefinire.
Taylor : anumite trăsături ale personalității cum ar fi :
– lipsa de îngâmfare
– toleranță față de situațiile ambigui
– încredere în propria activitate creatoare
sunt definitorii pentru personalitățile creatoare.
Pentru caracterizarea persoanelor înalt creative, în afara metodei descrierii și autodescrierii, s-a utilizat și metoda studierii familiilor cu persoane creative.
S-a descoperit că oamenii creativi nu-și petrec de obicei copilăria într-un climat de dragoste și căldură paternă, dimpotrivă relațiile dintre ei și părinții lor sunt reci și distante, bazate pe încurajarea gândirii și acțiunii independente.
Studiul a 100 de persoane excepționale între 17-35 ani (matematicieni, olimpici) a demonstrat ca acestea au fost de timpuriu absorbite de lumea științei, sportului, în multe cazuri părinții practicând profesiunile respective.
Prin creativitate, personalitatea umană se înscrie într-un orizont axiologic, omul valorificându-se pe sine însuși.
4.6. [30]Factorii creativității
Fiind o dimensiune a personalității atât de complexă, creativitatea este nu numai plurifazică, ci și multidimensională. Factori extrem de diverși ca natura, structura și valoarea acționează asupra individului pentru a genera contextul propice funcționării ei.
Factorii interiori-structurali sunt de natură psihologică.
Se subdivid în 3 categorii:
– intelectuali (se referă la inteligența și la gândirea creatoare, cu forma ei esențială gândirea divergentă, orientată spre soluții)
– afectiv-motivaționali (dezlănțuie, susțin si orientează creativitatea; curiozitatea, pasiunea, creșterea tensiunii motivaționale, tendința de autorealizare, tendința de a comunica sau nevoia de nou si de claritate impulsionează creația)
– de personalitate (atitudinali, aptitudinali, temperamentali – cresc sau frânează potențele creatoare ale individului; inițiativa, tenacitatea, atitudinea activă față de dificultăți, asumarea riscului, îndrăzneala în gândire facilitează creația, pe când indecizia, autodescurajarea, timiditatea excesivă, frica de critică sau de eșec o inhibă)
Factorii exterior-conjuncturali sau socioculturali sunt legați de particularitățile sociale, istorice, de orânduirea, clasa socială, de grupul căruia aparține individul, de condițiile materiale favorabile sau precare, ca și de ceea ce am putea numi ,,spiritul timpului".
Factorii psihosociali se referă la ambianța relațională, la climatul psihosocial în care trăiește individul.
Climatele destinse, cooperatoare bazate pe încurajarea schimbului de idei favorizează creația, în timp ce cele tensionale, conflictuale, rigide, conformiste o frânează.
Factorii socio-educaționali sunt legați de nivelul educațional, de prezența sau absența influențelor educative ale familiei, procesului de învățământ, colectivelor de munca, etc.
Analiza globală a acestor factori ne duce la câteva concluzii:
1. Creativitatea nu poate fi redusă la factori psihologici. Aceștia deși indispensabili prin ei înșiși nu conduc automat la creație.
2. Nici în interiorul factorilor psihologici nu pot fi făcute reducții unilaterale la factorii intelectuali, cei mai deși invocați în legătura cu creativitatea, ci este necesară considerarea multitudinilor.
3. Ceea ce contează în actul creator este nu atât prezența în sine a tuturor factorilor, ci configurația lor. Se pare că raporturile dintre factori sunt mult mai importante decât valoarea absolută a fiecăruia în parte.
4.7. [30]RelaȚia dintre creativitate Și inteligenȚĂ
La prima vedere s-ar putea crede ca între creativitate și inteligență există o corelație crescută.
Cercetările nu au confirmat însă o asemenea presupunere. Până în anii '60 relația creativitate-inteligență a fost studiată accidental.
Adevărata controversă cu privire la raportul dintre cele 2 dimensiuni ale personalității începe o data cu apariția lucrării lui GETZELS si JACKSON, Creativity and Intelligence (1962).
Cei 2 autori au selecționat dintr-un eșantion mai mare, investigat prin teste de inteligență și creativitate, 2 grupuri de subiecți:
– primul grup conținea 26 de subiecți care se situaseră printre primii 20% la testele de creativitate, fără a fi printre primii 20% și la testele de inteligenta;
– cel de-al doilea grup cuprindea 28 de subiecți situați printre primii 20% la testele de inteligenta, fără a fi printre primii 20% și la cele de creativitate.
Comparând rezultatele acestor grupuri artificial construite s-a ajuns la ideea independenței absolute și chiar a antagonismului între coeficientul de inteligență și cel de creativitate.
R.L. Thorndike în '63 reexaminând datele lui Getzels și Jackson pe un eșantion reprezentativ a descoperit existența unor corelații ridicate între testele de inteligență și cele de creativitate, ca și cele dintre diferite teste de creativitate. Constatările lui Thorndike au rămas singulare, mulți autori au infirmat existența unui asemenea tip de corelație.
Astfel, Torrance în '62 refăcând cercetările lui Getzels și Jackson, tinde să exagereze contrastul dintre inteligență și creativitate.
După opinia multor psihologi aceste rezultate nu sunt surprinzătoare, ele se datorează:
– erorilor de eșantionare
– unor caracteristici ale instrumentelor de diagnoză folosite
– cauza esențială o constituie faptul că prin testele de inteligență se măsoară gândirea convergentă, iar prin cele de creativitate gândirea divergentă, total opuse între ele.
Se pare că atributele psihice care facilitează inteligența nu sunt aceleași cu cele implicate în creativitate.
Alți autori au descoperit că nu inteligența în general contează în procesul creator, ci un anumit nivel al ei. S-a considerat că pentru a se obține performanțe creative este necesar un nivel minimal de inteligență, care variază de la un moment la altul de activitate. Pentru activitatea științifică nivelul minim al coeficientului de inteligență ar fi de 110, iar pentru activitatea artistică de 95-100. Peste acest nivel minim, un coeficient de inteligență mai ridicat nu garantează o creștere automată a creativității.
Cercetările au descoperit ca scorurile peste medie sau fost foarte joase la testele de inteligență și au o asociație scăzută cu creativitatea.
Dacă o inteligență crescută nu garantează activitatea, o inteligență scăzută lucrează împotriva ei. O frână în calea creativității o poate reprezenta și un nivel foarte înalt al inteligenței. A apărut astfel problema coeficientului de inteligență optimal pentru activitate. Studiile lui Simonton arată că nivelul optimal al lui Q.I. pentru creativitate este de 19 puncte deasupra mediei subiecților dintr-un câmp de investigație.
Când persoanele dispun de nivelul optimal al inteligenței, performanțele lor creative sau noncreative se datorează factorilor nonintelectuali (motivaționali și de personalitate).
Decurge de aici ideea că nu atât nivelul de inteligență în sine contează, cât modul lui de utilizare.
Se poate vorbi de o utilizare creativă a inteligenței sau de una noncreativă, sterilă.
Sterilitatea inteligenței nu este o consecință directă a insuficientei dezvoltări a inteligenței, ci a absenței sau insuficientei dezvoltări a altor atribute specifice creativității (redusa fantezie creatoare, slaba independență a gândirii, slaba originalitate).
CAPITOLUL V
PROIECTAREA DIDACTICĂ
5.1. PLANUL UNITĂȚII DE ÎNVĂȚARE
Tare conexitate, componente tare conexe în grafuri orientate – folosind metoda instruirii asistată de calculator(IAC).
Autor unitate: Prof. Gheorghiu Constantin Bogdan
Județ: Galați
Denumire școală: Colegiul Național „Spiru Haret”
Localitate: Tecuci
Prezentare generală a unității de învățare:
Titlul planului unității de învățare:
”Tare conexitate, componente tare conexe în grafuri orientate”
Unitatea presupune studiul – ca element de conținut – a următoarelor subunități:
Tare conexitate în grafuri orientate;
Descompunerea grafurilor orientate în componente tare conexe.
Aria tematică: informatică
Tipul lecției: dobândire de noi cunoștințe
Locul de desfășurare: laboratorul de informatică
Clasa: a XI-a A matematică-informatică, neintensiv
Timp necesar: 50 minute
Competențe generale:
Identificarea datelor care intervin într-o problemă și aplicarea algoritmilor fundamentali de prelucrare a acestora;
Elaborarea algoritmilor de rezolvare a problemelor;
Implementarea algoritmilor într-un limbaj de programare.
Competențe specifice:
Descrierea operațiilor specifice structurii de stivă și elaborarea unor programe care să implementeze aceste operații;
Aplicarea algoritmului Kosaraju pentru verificarea proprietății de tare conex a unui graf orientat;
Identificarea și descompunerea în componente tare conexe a unui graf orientat.
Obiective operaționale și rezultate așteptate:
Să utilizeze terminologia specifică grafurilor orientate;
Să utilizeze algoritmi de implementare a grafurilor orientate;
Să rezolve aplicațiile propuse prin utilizarea cunoștințelor dobândite;
Să descrie în limbajul de programare studiat algoritmul Kosaraju;
Să definească noțiunea de graf tare conex;
Să definească noțiunea de componentă tare conexă;
Să implementeze în limbajul de programare studiat verificarea proprietății de graf tare conex și descompunerea acestuia în componente tare conexe.
Aptitudini obligatorii:
Cunoștințe generale pentru ca elevul să poată începe studiul unității de învățare:
Elevii și-au însușit noțiunile fundamentale:
definiție, incidență, adiacență, grad;
metode de reprezentare: matricea de adiacență, vectorul de muchii, listele de adiacență;
lanț, drum;
subgraf;
Elevii utilizează și operează corect cu algoritmul D.F.;
Elevii utilizează corect calculatorul și aplicația C++.
Strategii didactice:
Principii didactice:
Principiul participării și învățării active;
Principiul asigurării progresului gradat al performanței;
Principiul conexiunii inverse.
Metode de învățământ:
Metode de comunicare orală: expunere, conversație;
Metode de acțiune: exercițiul, învățarea prin descoperire, rezolvarea de probleme;
Instruirea asistată de calculator: utilizarea aplicației C++ și Power Point în predare.
Procedee de instruire:
Conversația de verificare a cunoștințelor;
Conversația euristică, cu scopul de a redescoperi cunoștințele;
Învățarea prin descoperire, prin rezolvarea de probleme;
Conversația de consolidare în etapa de fixare a cunoștințelor.
Forme de organizare:
Frontală;
Individuală.
Forme de dirijare a învățării: dirijată de profesor sau independentă.
Resurse materiale:
Material bibliografic: Tudor Sorin, Manual pentru clasa a XI-a, Editura L&S, INFOMAT, București, 2001;
Fișe de lucru;
Calculator;
Videoproiector.
Metode de evaluare:
Evaluare inițială: întrebări orale și exerciții;
Evaluare finală: fișe de lucru.
Desfășurarea lecției:
Moment organizatoric:
Pregătirea lecției:
Întocmirea proiectului didactic;
Pregătirea setului de întrebări;
Pregătirea setului de aplicații;
Pregătirea temei.
Organizarea și pregătirea clasei: 2 min
verificarea frecvenței.
Captarea atenției clasei:
Anunțarea subiectului pentru tema propusă;
Anunțarea obiectivelor urmărite;
Anunțarea modului de desfășurare a activității.
Reactualizarea cunoștințelor: 10 min
Se reactualizează cunoștințele cu ajutorul fișei 1. Evaluarea în etapa de reactualizare se realizează frontal.
FIȘA 1
Răspunsuri așteptate
Comunicarea noilor cunoștințe: 20 min
Profesorul comunică noile cunoștințe prin intermediul unui soft educațional tareconexitate.ppt(listing în anexa I), proiectat de acesta în Power Point, fiind structurat în 9 slide-uri, după cum urmează:
În primul slide, se comunică titlul lecției: ”Tare conexitate în grafuri orientate”.
În al II-lea și al III-lea slide, se începe actualizarea cunoștințelor cu noțiunea de stivă, exemplificându-se operațiile posibile cu aceasta.
În cel de-al IV-lea slide se prezintă noțiunea de graf tare conex(definiția), continuând în slide-ul V cu evidențierea proprietății de tare conex, prin aplicarea algoritmului Kosaraju.
În cel de-al VI-lea slide se prezintă noțiunea de componentă tare conexă(definiția), continuând în slide-ul VII și VIII cu evidențierea componentelor tare conexe, prin aplicarea algoritmului Kosaraju, precum și evidențierea în slide-ul VIII a unor concluzii privitoare la tare conexitate-componente tare conexe.
Slide-ul IX, conține link-ul către o aplicație demonstrativă pentru evidențierea proprietății de tare conex sau a componentelor tare conexe, în formă text sau grafică, pentru un graf cu maximum 5 noduri, aplicație originală.
Dirijarea învățării pentru obținerea performanței: 15 min
Se realizează cu ajutorul fișei 2.
FIȘA 2
Răspunsuri așteptate
Tema pentru acasă: 3 min
Construiți programul C++ pentru descompunerea în componente tare conexe a unui graf orientat G(X,U), dat prin numărul de vârfuri ”n” și extremitățile celor ”m” arce ale sale.
5.2. TEST DE EVALUARE – tare conexitate în grafuri orientate
REZOLVAREA TESTULUI DE EVALUARE
Subiectul I
a.3, 4, 2, 1, 5, 8, 6, 7
b.5, 8, 6, 7
c. Graful are patru componente tare conexe:
CTC1: 2, 4, 3
CTC2: 5, 6, 8
CTC3: 7
CTC4: 1
d. Sunt necesare minim două arce: 18 și 74.
Subiectul al II-lea
a. minim 6 CTC
b. maxim 9 CTC
c. CTC1: 1
CTC2: 2
CTC3: 3, 4, 6, 5
d. O componentă tare conexă
Subiectul al III-lea
a.F
b.A
c.A
d.F
Subiectul al IV-lea
1.b
2.d
3.b
4.c
Subiectul al V-lea
a.
#include <iostream>
#include <vector>
using namespace std;
#define nmax 100100
vector <int> v[nmax];
vector <int> vt[nmax];
vector <int> comp[nmax];
int t[nmax];
int viz[nmax];
int poz,n,m,a,b,i,k,nr,w;
void dfs(int x)
{
viz[x]=1;
for(int i=0; i<v[x].size(); ++i)
if(viz[v[x][i]]==0)
dfs(v[x][i]);
t[++k]=x;
}
void dfst(int x)
{
viz[x]=-1;
comp[a].push_back(x);
for(int i=0; i<vt[x].size(); ++i)
if(viz[vt[x][i]]==1)
dfst(vt[x][i]);
}
int main()
{
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=m; ++i)
{
cout<<"a b ";
cin>>a>>b;
v[a].push_back(b);
vt[b].push_back(a);
}
for(i=1; i<=n; ++i)
if(viz[i]==0)
{
dfs(i);
}
a=0;
for(i=n; i>0; –i)
if(viz[t[i]]!=-1)
{
a++;
dfst(t[i]);
}
w=0;
for(i=1; i<=a; ++i)
if(comp[i].size()>w)
{
w=comp[i].size();
poz=i;
}
for(int j=0; j<comp[poz].size(); ++j)
cout<<comp[poz][j]<<' ';
}
b.
#include <iostream>
#include <vector>
using namespace std;
#define nmax 100100
vector <int> v[nmax];
vector <int> vt[nmax];
vector <int> comp[nmax];
int t[nmax];
int viz[nmax];
int poz,n,m,a,b,i,k,nr,w;
void dfs(int x)
{
viz[x]=1;
for(int i=0; i<v[x].size(); ++i)
if(viz[v[x][i]]==0)
dfs(v[x][i]);
t[++k]=x;
}
void dfst(int x)
{
viz[x]=-1;
comp[a].push_back(x);
for(int i=0; i<vt[x].size(); ++i)
if(viz[vt[x][i]]==1)
dfst(vt[x][i]);
}
int main()
{
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1; i<=m; ++i)
{
cout<<"a b ";
cin>>a>>b;
v[a].push_back(b);
vt[b].push_back(a);
}
for(i=1; i<=n; ++i)
if(viz[i]==0)
{
dfs(i);
}
a=0;
for(i=n; i>0; –i)
if(viz[t[i]]!=-1)
{
a++;
dfst(t[i]);
}
for(i=1; i<=a; ++i)
{
w=0;
for(int j=0; j<comp[i].size(); ++j)
if(comp[i][j]>w)
w=comp[i][j];
cout<<w<<'\n';
}
}
BAREM DE CORECTARE
5.3. PROIECT DIDACTIC
Disciplina: Informatică
Clasa: a XI-a A, matematică-informatică, neintensiv
Profesor: Gheorghiu Constantin Bogdan
Temele proiectelor:
1.Generarea tuturor lanțurilor neelementare de lungime „p” într-un graf orientat.
2.Drumuri minime și maxime în grafuri orientate.
3.Generarea tuturor lanțurilor elementare într-un graf orientat.
4.Generarea tuturor circuitelor elementare într-un graf orientat.
5.Generarea tuturor circuitelor elementare de lungime „p” într-un graf orientat.
6.Problema comis-voiajorului.
Termen de realizare: 12 ore
Obiectiv:
Corelarea cunoștințelor dobândite la disciplinele de specialitate cu deprinderile de proiectare și de realizare a programelor, în scopul realizării unei aplicații din sfera de interes a elevilor de la acest profil.
Cerințele proiectului:
culegerea datelor din domeniul de activitate(Internet și alte surse de date pentru documentare, comunicare)
prelucrarea datelor prin activități specifice domeniului, care necesită alegerea după caz, a anumitor tipuri de aplicații studiate(editor de text, editor de prezentare, mediu de programare, eventual baze de date, soft specializat)
Organizarea activității(sarcinile profesorului)
Se împart elevii în grupe de lucru(grupe de câte 5 elevi/proiect)
Se precizează cerințele proiectului și termenul de realizare
Se coordonează activitățile organizatorice la nivelul fiecărei grupe în parte: împărțirea sarcinilor în echipă, prefigurarea unor strategii de lucru și stabilirea unor termene intermediare și a cerințelor preliminare care urmează a fi realizate la fiecare termen
Se urmărește activitatea elevilor și se mediază eventualele conflicte intervenite în grupul de lucru
Se asigură climatul corespunzător pentru prezentare și susținerea proiectului
Tema lecției: Prezentarea și susținerea proiectului
Tipul lecției: de verificare de cunoștințe, priceperi și deprinderi
Durata lecției: 50 min
Locul de desfășurare: laboratorul de informatică
Competențe specifice:
Culegerea, organizarea și prelucrarea datelor din domeniul de activitate
Alegerea aplicației necesare scopului propus
Realizarea și prezentarea unor aplicații practice specifice domeniului
Competențe derivate:
Să urmărească etapele de realizare a unui proiect
Să participe la munca în echipă și să interpreteze diferite roluri în cadrul echipei
Să identifice problemele din cadrul disciplinelor de specialitate în care intervin cunoștințe de utilizare a calculatorului și de programare
Să realizeze prezentări în Power Point
Să utilizeze un editor de text(Microsoft Word)
Să realizeze programe în Borland Pascal/C++
Produse software utilizate:
Editor de texte: Word
Grafică de prezentare: Power Point
Internet: Internet Explorer
Programare: Borland Pascal/Borland C
Strategii didactice:
Metode de învățământ:
Metode bazate pe acțiune: aplicații
Metode de comunicare orală: conversația
Forme de organizare a activității instructive:
Pe grupe
Individuală
Forme de dirijare a învățării:
Dirijată de profesor sau prin materiale didactice
Independentă
Bibliografie:
Pentru elevi:
Tehnologia prelucrării informației-Informatica-Tehnologii asistate de calculator M. Miloșescu, manual clasa a IX-a, a X-a, a XI-a
Microsoft Word-ghid de utilizare Teora
Pentru profesor:
Elemente de metodica predării informaticii în școală, C. Petre, C. Boboila, editura Dova, 1997
Ghid de evaluare Informatica, Tehnologia prelucrării informației, Informatica-Tehologii asistate de calculator
Metodica predării informaticii și tehnologiei informației, editura Arves
Turbo Pascal, Algoritmi și limbaje de programare, Manual pentru clasa a IX-a – Tudor Sorin, Editura Teora, 1995
Totul despre C și C++-Manualul fundamental de programare în C și C++, Dr. Kris Jamsa & Lars Klander.
Resurse materiale:
Calculatoare
Fișe de studiu
Materiale bibliografice
Videoproiector
Test de autoevaluare
Instrumente de evaluare:
Proiect
Observarea sistematică a activității și comportamentului elevilor
Autoevaluarea
Barem de corectare și notare:
Oficiu 1p
Tehnoredactare(concepție, aspect, expresivitate, punere în pagină) 0.75p
Modul de organizare a datelor culese 1.5p
Aspecte de complexitate(meniuri, grafică, programarea modulară)1.5p
Calitatea și consistența conținutului științific 1.5p
Calitatea prezentării în Power Point 0.75p
Contribuții originale la tematica proiectului 0.75p
Capacitatea de autoanaliză a proiectului 0.75p
Autoevaluarea gradului de participare a fiecărui membru al grupului la realizarea proiectului 0.5p
Încadrarea în timp și respectarea termenelor 1p
Structura lecției:
Moment organizatoric:
Pregătirea lecției
Intocmirea proiectului didactic
Organizarea și pregătirea clasei(2 min):
Verificarea frecvenței elevilor
Verificarea existenței resurselor materiale
Captarea atenției elevilor(1 min):
Anunțarea temei
Explicarea modului de desfășurare a evaluării(2 min)
Prezentarea proiectului(45 min):
Etapa 1: Prezentarea noțiunilor teoretice
Etapa 2: Prezentarea aplicațiilor informatice realizate
Etapa 3: Autoevaluare(chestionar)
Etapa 4: Concluzii
5.4. GHID DE REALIZARE A PROIECTULUI
Temele proiectelor:
1.Generarea tuturor lanțurilor neelementare de lungime „p” într-un graf orientat.
2.Drumuri minime și maxime în grafuri orientate.
3.Generarea tuturor lanțurilor elementare într-un graf orientat.
4.Generarea tuturor circuitelor elementare într-un graf orientat.
5.Generarea tuturor circuitelor elementare de lungime „p” într-un graf orientat.
6.Problema comis-voiajorului.
Proiecte interdisciplinare de grup.
Scop: Utilizarea eficientă a unor produse software pentru rezolvarea unor proiecte informatice.
Produse software utilizate:
Editor de texte: Word
Grafică de prezentare: PowerPoint
Internet: Internet Explorer
Programare: mediul de programare Borland Pascal/Borland C
Cerințe dosar:
Va fi predat în format electronic(CD)
Modalitate de desfășurare și predare a proiectului:
Prezența obligatorie
Necesitate studiu individual
Observarea sistematică a activității și comportamentului elevilor
Proiectul va fi verificat parțial pe parcursul celor trei săptămâni(12 ore)
Predarea și susținerea proiectului se va realiza în ultimele 2 săptămâni de școală, conform graficului stabilit de profesor
Nu se acceptă proiectul care nu respectă integral cerințele
Conținut dosar:
Pagina de titlu (include tema proiectului, numele autorului/autorilor, școala, clasa, perioada de realizare);
Cuprinsul (se precizează titlurile capitolelor și subcapitolelor);
Introducerea (se fac referiri la importanța temei, cadrul conceptual și metodologic);
Dezvoltarea elementelor de conținut prezentate în cuprins;
Concluzii;
Bibliografie;
Anexe.
5.5. FIȘA DE AUTOEVALUARE
1.Chestionar
Care sunt etapele pe care le-ai parcurs în vederea rezolvării efective a sarcinii de lucru?
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..
Prin rezolvarea acestei sarcini am învățat:
a)………………………………………………………………………………………
b)………………………………………………………………………………………
c) ……………………………………………………………………………………..
d) ……………………………………………………………………………………..
Dificultățile pe care le-am întâmpinat au fost următoarele:
a)………………………………………………………………………………………
b)………………………………………………………………………………………
c) ……………………………………………………………………………………..
Cred că mi-aș putea îmbunătăți performanța dacă:
a)………………………………………………………………………………………
b)………………………………………………………………………………………
Cred că activitatea mea ar putea fi apreciată ca fiind:………………………………..
2.Scara de clasificare
Numele:………………………………….
Prenumele:………………………………
Clasa:…………………………………….
5.6. CONCLUZII
Am dorit ca în lucrarea de față să cuprind o parte a muncii mele la clasă și să demonstrez că prin utilizarea noilor tehnici și tehnologii, combinate cu experiența lucrului cu elevul, se pot obține rezultate superioare.
Progresul se înregistrează nu numai la nivel teoretic ci și la nivel practic, elevii demonstrând că nu numai știu, dar știu și ce să facă cu ceea ce știu, lucru esențial după părerea mea, căci în producție sunt necesari teoreticieni, dar și practicieni.
Ideea a fost să transmit colectivului clasei a XI-a A noile cunoștințe din unitatea „Tare conexitate, descompunerea în componente tare conexe”, prin utilizarea unei metode moderne(instruirea asistată de calculator, I.A.C.) și să arăt, că prin aceasta, poate fi influențată în mod pozitiv, gândirea și creativitatea elevilor.
Un element de noutate este că pe lângă prezentarea Power Point, am utilizat un program demonstrativ creat de mine, bazat pe parte grafică, cu rol de sugestionare a fenomenelor, de stimulare a creativității și de o mai bună fixare a cunoștințelor.
În plus, noile noțiuni le-am predat cu ajutorul unui algoritm eficient, algoritmul Kosaraju, de complexitate O(n+m).
În urma predării și fixării cunoștințelor, am evaluat performanțele elevilor printr-un test de evaluare cuprinzând itemi diferiți.
În urma aplicării testului de evaluare, s-au obținut următoarele rezultate:
Număr elevi: 30
Rezultatele le apreciez ca fiind foarte bune.
Utilizarea I.A.C. mărește interesul elevilor, informațiile fiind prezentate într-o formă nouă, atractivă, profesorul având posibilitatea de a lărgi domeniul creativ și de a interacționa mai mult cu elevii, aceștia adresând întrebări despre modul de realizare a programelor precum și despre domeniile în care pot utiliza noile forme de prezentare.
Datorită interesului crescut, informațiile sunt mult mai bine aprofundate, asimilate și exploatate, rezultatele ulterioare fiind considerabil mai bune.
Bazându-mă pe interesul și inteligența elevilor, am realizat o evaluare prin proiecte, în care am urmărit și partea științifică, dar mai ales descoperirea, imaginația și creativitatea copiilor, pe parte grafică.
O noutate a acestei metode o reprezintă și implicarea elevilor în procesul de evaluare. În momentul în care sunt implicați în evaluare și autoevaluare, elevii dezvoltă un sentiment de control asupra procesului de învățare și se consideră ca fiind capabili și performanți. Pentru acest lucru însă, profesorul trebuie să pună la dispoziția elevilor următoarele: stabilirea obiectivelor, definirea de sarcini și identificarea a ceea ce urmează să învețe; crearea și utilizarea baremelor de corectare a testelor, a listelor de verificare și a criteriilor de evaluare, utilizarea întrebărilor de reflecție, care să-i ajute pe elevi să se gândească la propriul proces de învățare și să se autoevalueze, oferirea și primirea de feed-back din partea colegilor.
Metoda proiectului presupune o colaborare între membrii echipei, aceștia depinzând unii de alții, iar această interdependență pozitivă îi conduce la devotament față de grup și responsabilitate individuală.
Metoda proiectului poate propune și o abordare transdisciplinară a temei, pentru realizarea conexiunilor între cunoștințele dobândite și aplicarea acestora în dezvoltarea personală.
În urma prezentării și evaluării celor 6 proiecte, în care au fost implicați toți elevii(la fiecare proiect au lucrat câte 5 elevi), rezultatele au fost uimitoare: aplicațiile de programare au demonstrat implicarea totală în abordarea temelor, în aprofundarea și asimilarea unor noi cunoștințe de grafică și mai ales tehnici de animație, depășind pe alocuri modelul oferit de profesor, ceea ce arată că intenția mea a avut efectul scontat.
Anexez două aplicații informatice din două proiecte ale elevilor(Anexa 2 și Anexa 3).
În anii de lucru cu elevii, mi-am dat seama că imaginația și creativitatea sunt fără margini; sub o atentă îndrumare, copiii pot oferi rezultate neașteptate, surprinzătoare, care deseori depășesc profesorul, spre bucuria acestuia.
ANEXE
1.Soft I.A.C.
Listing-ul programului demonstrativ:
program conexitate_grafuri_orientate;
uses crt,graph;
type
vector=array[1..100] of integer;
var
gd,gm:integer;
nr,n:integer;
viz,c:vector;
a,d:array [1..10,1..10] of integer;
ch:char;
procedure initgr;
begin
gd:=detect;
initgraph(gd,gm,'D:\bp\bgi');
end;
procedure citire;
var
i,j,x,y,m:integer;
begin
write('Numarul de varfuri din graf:');
readln(n);
write('Numarul de arce din graf:');
readln(m);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0;
writeln('Introduceti extremitatile arcelor');
for i:=1 to m do
begin
write('Extremitatile arcului ',i,' sunt: ');
readln(x,y);
a[x,y]:=1;
end;
end;
procedure desen2;
var i:integer;
begin
initgr;
cleardevice;
setlinestyle(0,0,3);
settextstyle(1,0,2);
setcolor(12);
circle(100,70,15);
delay(400);
outtextxy(95,57,'1');
delay(400);
if (n>=2) then
begin
circle(440,70,15);
delay(400);
outtextxy(435,57,'2');
delay(400);
end;
if (n>=3) then
begin
circle(270,150,15);
delay(400);
outtextxy(265,138,'3');
delay(400);
end;
if (n>=4) then
begin
circle(100,400,15);
delay(400);
outtextxy(95,387,'4');
delay(400);
end;
if (n=5) then
begin
circle(440,400,15);
delay(400);
outtextxy(435,387,'5');
delay(400);
end;
if (a[1,4]=1) then
begin
line(95,85,95,384);
line(90,370,95,384);
line(100,370,95,384);
delay(400);
end;
if (a[4,1]=1) then
begin
line(105,85,105,384);
line(100,100,105,85);
line(110,100,105,85);
delay(400);
end;
if (a[2,5]=1) then
begin
line(431,85,431,384);
line(426,370,431,384);
line(436,370,431,384);
delay(400);
end;
if (a[5,2]=1) then
begin
line(443,85,443,384);
line(438,100,443,85);
line(448,100,443,85);
delay(400);
end;
if (a[1,3]=1) then
begin
line(110,80,255,146);
line(240,146,255,146);
line(250,135,255,146);
delay(400);
end;
if (a[3,1]=1) then
begin
line(115,70,270,136);
line(120,80,115,70);
line(125,70,115,70);
delay(400);
end;
if (a[2,3]=1) then
begin
line(427,75,280,145);
line(290,135,280,145);
line(295,145,280,145);
delay(400);
end;
if (a[3,2]=1) then
begin
line(423,65,272,131);
line(410,63,423,65);
line(415,75,423,65);
delay(400);
end;
if (a[3,4]=1) then
begin
line(110,385,255,153);
line(120,385,110,385);
line(110,370,110,385);
delay(400);
end;
if (a[4,3]=1) then
begin
line(115,400,270,167);
line(260,167,270,167);
line(270,177,270,167);
delay(400);
end;
if (a[3,5]=1) then
begin
line(425,400,270,167);
line(425,385,425,400);
line(415,400,425,400);
delay(400);
end;
if (a[5,3]=1) then
begin
line(433,385,285,150);
line(285,165,285,150);
line(295,150,285,150);
delay(400);
end;
if (a[1,2]=1) then
begin
line(115,70,425,70);
line(415,65,425,70);
line(415,75,425,70);
delay(400);
end;
if (a[2,1]=1) then
begin
line(110,85,430,85);
line(120,80,110,85);
line(120,90,110,85);
delay(400);
end;
if (a[1,5]=1) then
begin
line(115,70,425,400);
line(410,400,425,400);
line(415,385,425,400);
delay(400);
end;
if (a[5,1]=1) then
begin
line(120,60,425,390);
line(130,60,120,60);
line(120,70,120,60);
delay(400);
end;
if (a[2,4]=1) then
begin
line(425,70,115,390);
line(115,380,115,390);
line(125,390,115,390);
delay(400);
end;
if (a[4,2]=1) then
begin
line(435,90,110,415);
line(425,90,435,90);
line(435,100,435,90);
delay(400);
end;
if (a[4,5]=1) then
begin
line(115,400,425,400);
line(410,405,425,400);
line(410,395,425,400);
end;
if (a[5,4]=1) then
begin
line(115,410,425,410);
line(130,415,115,410);
line(130,405,115,410);
end;
outtextxy(480,70,'Evidentierea ');
outtextxy(480,130,'componentelor');
outtextxy(480,190,'tare conexe');
end;
procedure desen3(q:vector;w:integer);
var i:integer;
begin
if(nr=1)then
setcolor(green)
else
if(nr=2)then
setcolor(yellow)
else
if(nr=3)then
setcolor(blue)
else
if(nr=4)then
setcolor(brown)
else
if(nr=5)then
setcolor(23);
for i:=1 to w do
begin
case q[i] of
1:begin
circle(100,70,15);
delay(400);
outtextxy(95,57,'1');
end;
2:begin
circle(440,70,15);
delay(400);
outtextxy(435,57,'2');
end;
3:begin
circle(270,150,15);
delay(400);
outtextxy(265,138,'3');
end;
4:begin
circle(100,400,15);
delay(400);
outtextxy(95,387,'4');
end;
5:begin
circle(440,400,15);
delay(400);
outtextxy(435,387,'5');
end;
end;
end;
end;
procedure tare_conex;
var
sw,k,cont,pstart,pi,ps,i,j:integer;
begin
for i:=1 to n do
begin
c[i]:=0;
viz[i]:=0;
end;
d:=a;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (d[i,j]=0) and (k<>i) and (k<>j) then
d[i,j]:=d[i,k]*d[k,j];
pstart:=1;
cont:=0;
repeat
sw:=0;
pi:=1;
ps:=1;
c[pi]:=pstart;
viz[pstart]:=1;
while ps<=pi do
begin
for i:=1 to n do
if (viz[i]=0) and ((d[c[ps],i]=1) and (d[i,c[ps]]=1)) then
begin
inc(pi);
c[pi]:=i;
viz[i]:=1;
end;
inc(ps);
end;
if (pi=n) then
writeln('Graful este tare conex')
else
begin
textcolor(white);
cont:=cont+1;
writeln('*************************');
writeln('a ',cont,'-a componenta tare conexa');
textcolor(45);
for i:=1 to pi do
write(c[i],' ');
textcolor(white);
writeln;
writeln('*************************');
end;
i:=0;
repeat
inc(i);
until (viz[i]=0) or (i=n+1);
if i<n+1 then
pstart:=i;
until i=n+1;
end;
procedure tare_conex1;
var
sw,k,cont,pstart,pi,ps,i,j:integer;
begin
nr:=0;
for i:=1 to n do
begin
c[i]:=0;
viz[i]:=0;
end;
d:=a;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (d[i,j]=0) and (k<>i) and (k<>j) then
d[i,j]:=d[i,k]*d[k,j];
pstart:=1;
cont:=0;
repeat
sw:=0;
pi:=1;
ps:=1;
c[pi]:=pstart;
viz[pstart]:=1;
while ps<=pi do
begin
for i:=1 to n do
if (viz[i]=0) and ((d[c[ps],i]=1) and (d[i,c[ps]]=1)) then
begin
inc(pi);
c[pi]:=i;
viz[i]:=1;
end;
inc(ps);
end;
if (pi=n) then
begin
nr:=1;
desen2;
desen3(c,pi);
readkey;
closegraph;
end
else
begin
nr:=nr+1;
if (nr=1) then
begin
desen2;
desen3(c,pi);
end
else
desen3(c,pi);
readkey;
end;
i:=0;
repeat
inc(i);
until (viz[i]=0) or (i=n+1);
if i<n+1 then
pstart:=i;
until i=n+1;
closegraph;
end;
procedure prezentare;
begin
initgr;
settextstyle(1,0,2);
setcolor(15);
outtextxy(10,10,'COLEGIUL NATIONAL "SPIRU HARET"');
outtextxy(20,40,'TECUCI');
setcolor(red);
settextstyle(1,0,4);
outtextxy(200,150,'TEMA LUCRARII');
settextstyle(1,0,2);
setcolor(green);
outtextxy(100,250,' CONEXITATE ');
outtextxy(100,290,' IN GRAFURI ORIENTATE ');
outtextxy(10,400,' Prof. Gheorghiu Bogdan');
readkey;
closegraph;
end;
procedure meniu;
begin
initgr;
settextstyle(1,0,2);
setbkcolor(2);
outtextxy(120,70,'MENIU PRINCIPAL');
outtextxy(100,140,'1-Citire date intrare');
outtextxy(100,180,'2-Tare conexitate in graf-rezolvare mod text');
outtextxy(100,220,'3-Tare conexitate in graf-rezolvare mod grafic');
outtextxy(100,260,'4-Parasire program');
ch:=readkey;
closegraph;
end;
begin
prezentare;
repeat
meniu;
case ch of
'1':begin
clrscr;
citire;
end;
'2':begin
tare_conex;
readkey;
end;
'3':begin
tare_conex1;
readln;
end;
end;
until ch='4';
end.
2.Programul proiectului drumuri minime și maxime în grafuri orientate
program dr_min_si_max;
uses crt,graph;
const
nmax=15;
inf=maxint div 2;
inf1=-(maxint div 2);
type
multime=set of 1..nmax;
var
gd,gm:integer;
ch,ch1:char;
c:array[1..nmax,1..nmax] of integer;
lg,k,i,j,arc,m,n,x,y,z,xp:integer;
s,d,prec:array[1..nmax] of integer;
g:boolean;
d1:array[1..nmax,1..nmax] of multime;
dr:array[1..nmax] of 1..nmax;
procedure initgr;
begin
gd:=detect;
initgraph(gd,gm,'d:\bp\bgi');
end;
procedure meniu;
begin
initgr;
settextstyle(1,0,2);
setbkcolor(2);
outtextxy(120,10,'MENIU PRINCIPAL');
outtextxy(70,80,'1-Drumuri minime');
outtextxy(70,110,'2-Drumuri maxime');
outtextxy(70,140,'3-Parasire program');
ch:=readkey;
closegraph;
end;
procedure meniu1;
begin
initgr;
settextstyle(1,0,2);
setbkcolor(2);
outtextxy(70,80,'1-Algoritmul lui Dijkstra');
outtextxy(70,110,'2-Algoritmul lui Roy-Floyd');
outtextxy(70,140,'3-Revenire meniu principal ');
ch1:=readkey;
closegraph;
end;
procedure prezentare;
begin
initgr;
settextstyle(1,0,2);
setcolor(15);
outtextxy(10,10,'COLEGIUL NATIONAL "SPIRU HARET"');
outtextxy(20,40,'TECUCI');
setcolor(red);
settextstyle(1,0,4);
outtextxy(200,150,'TEMA LUCRARII');
settextstyle(1,0,2);
setcolor(green);
outtextxy(100,210,' DRUMURI MINIME SI MAXIME');
outtextxy(100,250,' IN GRAFURI ORIENTATE ');
outtextxy(10,400,'Elevi : Prof. Gheorghiu Bogdan');
readkey;
closegraph;
end;
procedure teoretic1;
begin
initgr;
settextstyle(0,0,1);
setcolor(red);
setbkcolor(lightgreen);
outtextxy(50,10,'Fiind_dat_un_graf_orientat_G_si');
outtextxy(50,30,'un_nod_xi0_sa_se_determine_pentru_toate_nodurile_xi_pentru');
outtextxy(50,50,'care_exista_drum_de_la_xi0_la_xi_lungimea_celui_mai_scurt');
outtextxy(50,70,'drum_precum_si_unul_dintre_drumurile_minime_de_la_xi0_la_xi.');
outtextxy(50,90,'Algoritmul_utilizeaza_metoda_Greedy_generand_drumurile_minime ');
outtextxy(50,110,'in_ordinea_crescatoare_a_lungimilor');
readkey;
closegraph;
end;
procedure teoretic2;
begin
initgr;
settextstyle(0,0,1);
setcolor(red);
setbkcolor(lightgreen);
outtextxy(50,10,'Fiind dat un graf G(X,U) cu X={x1,…,xn} si o functie l:U->R+');
outtextxy(50,30,'sa se determine pentru fiecare pereche de noduri xi,xj (i<>j)');
outtextxy(50,50,'lungimea minima a drumurilor de la xi la xj precum si aceste ');
outtextxy(50,70,'drumuri(in caz ca exista drum de la xi la xj).');
outtextxy(50,90,'Algoritmul Roy-Floyd determina lungimile minime ale drumurilor');
outtextxy(50,110,'intre oricare doua noduri ale grafului intr-o matrice C=(cij)nxn.');
outtextxy(50,130,'Determinarea matricii C este asemanatoare algoritmului Roy-');
outtextxy(50,150,'Warshall pentru obtinerea matricii drumurilor.(initial construita corespunzator)');
readkey;
closegraph;
end;
procedure teoretic3;
begin
initgr;
settextstyle(0,0,1);
setcolor(red);
setbkcolor(lightgreen);
outtextxy(50,10,'Fiind dat un graf G(X,U) cu X={x1,…,xn} si o functie l:U->R+');
outtextxy(50,30,'sa se determine pentru fiecare pereche de noduri xi,xj (i<>j)');
outtextxy(50,50,'lungimea maxima a drumurilor de la xi la xj precum si aceste ');
outtextxy(50,70,'drumuri(in caz ca exista drum de la xi la xj).');
outtextxy(50,90,'Algoritmul Roy-Floyd determina lungimile maxime ale drumurilor');
outtextxy(50,110,'intre oricare doua noduri ale grafului intr-o matrice C=(cij)nxn.');
outtextxy(50,130,'Determinarea matricii C este asemanatoare algoritmului Roy-');
outtextxy(50,150,'Warshall pentru obtinerea matricii drumurilor.(forma initiala corespunzatoare)');
readkey;
closegraph;
end;
procedure min(var k:integer);
var
m,i:integer;
begin
m:=inf*2;
for i:=1 to n do
if (s[i]=0) and (d[i]<m) then
begin
m:=d[i];
k:=i;
end;
end;
procedure drum(i:integer);
begin
if i<>0 then
begin
drum(prec[i]);
write(i);
end
else
writeln;
end;
procedure exec1;
begin
write('Dati numarul de noduri');
readln(n);
for i:=1 to n do
for j:=1 to n do
c[i,j]:=inf;
for i:=1 to n do
c[i,i]:=0;
write('ati numarul de arce');
readln(arc);
for i:=1 to arc do
begin
write('dati arcul ',i,' si lungimea/costul sau');
readln(x,y,z);
c[x,y]:=z;
end;
write('Nodul de pornire xp=');
readln(xp);
for i:=1 to n do
begin
d[i]:=c[xp,i];
s[i]:=0;
if c[xp,i]<inf then
prec[i]:=xp
else
prec[i]:=0;
end;
s[xp]:=1;
prec[xp]:=0;
g:=true;
x:=0;
repeat
min(k);
inc(x);
if (d[k]=inf) or (x=n) then
g:=false
else
begin
s[k]:=1;
for j:=1 to n do
if (s[j]=0) and (d[j]>d[k]+c[k,j]) then
begin
d[j]:=d[k]+c[k,j];
prec[j]:=k;
end;
end;
until (not g);
for i:=1 to n do
if i<>xp then
if d[i]=inf then
begin
write('Nu exista drum de la ',xp,' la',i);
writeln;
end
else
begin
writeln('Drum minim de la ',xp,' la',i);
drum(i);
writeln;
end;
end;
procedure initc;
var
i,j,x,y,z:integer;
begin
write('Dati numarul de noduri');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
c[i,j]:=inf;
c[i,i]:=0;
end;
write('Dati numarul de arce');
readln(m);
for i:=1 to m do
begin
write('Extremitatile si lungimea arcului ',i);
readln(x,y,z);
c[x,y]:=z;
end;
end;
procedure initd;
var
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if (c[i,j]<inf) and (i<>j) then
d1[i,j]:=[i]
else
d1[i,j]:=[];
end;
procedure drum1(i,j:integer);
var
k:integer;
begin
if i<>j then
begin
for k:=1 to n do
if k in d1[i,j] then
begin
inc(lg);
dr[lg]:=k;
drum1(i,k);
dec(lg);
end;
end
else
begin
writeln;
for k:=lg downto 1 do
write(dr[k]:4);
end;
end;
procedure afisare;
var
i,j:integer;
begin
writeln('Matricea costurilor este:');
for i:=1 to n do
begin
for j:=1 to n do
write(c[i,j],' ');
writeln;
end;
readln;
for i:=1 to n do
for j:=1 to n do
begin
writeln;
if c[i,j]=inf then
begin
writeln('Nu exista drum intre ',i,' si ',j);
readln;
end
else
begin
writeln('Lungimea drumurilor minime de la ',i,' la ',j,' este ',c[i,j]);
if i<>j then
begin
lg:=1;
dr[1]:=j;
drum1(i,j);
readln;
end;
end;
end;
end;
procedure exec2;
begin
initc;
initd;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if c[i,j]>c[i,k]+c[k,j] then
begin
c[i,j]:=c[i,k]+c[k,j];
d1[i,j]:=d1[k,j];
end
else
if c[i,j]=c[i,k]+c[k,j] then
d1[i,j]:=d1[i,j]+d1[k,j];
afisare;
end;
procedure initc1;
var
i,j,x,y,z:integer;
begin
write('Dati numarul de noduri');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
c[i,j]:=inf1;
c[i,i]:=0;
end;
write('Dati numarul de arce');
readln(m);
for i:=1 to m do
begin
write('Extremitatile si lungimea arcului ',i);
readln(x,y,z);
c[x,y]:=z;
end;
end;
procedure initd1;
var
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if (c[i,j]>inf1) and (i<>j) then
d1[i,j]:=[i]
else
d1[i,j]:=[];
end;
procedure drum2(i,j:integer);
var
k:integer;
begin
if i<>j then
begin
for k:=1 to n do
if k in d1[i,j] then
begin
inc(lg);
dr[lg]:=k;
drum2(i,k);
dec(lg);
end;
end
else
begin
writeln;
for k:=lg downto 1 do
write(dr[k]:4);
end;
end;
procedure afisare1;
var
i,j:integer;
begin
writeln('Matricea costurilor este:');
for i:=1 to n do
begin
for j:=1 to n do
write(c[i,j],' ');
writeln;
end;
readln;
for i:=1 to n do
for j:=1 to n do
begin
writeln;
if c[i,j]=inf1 then
begin
writeln('Nu exista drum intre ',i,' si ',j);
readln;
end
else
begin
writeln('Lungimea drumurilor maxime de la ',i,' la ',j,' este ',c[i,j]);
if i<>j then
begin
lg:=1;
dr[1]:=j;
drum2(i,j);
readln;
end;
end;
end;
end;
procedure exec3;
begin
initc1;
initd1;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (c[i,k]<>inf1) and (c[k,j]<>inf1) then
if c[i,j]<c[i,k]+c[k,j] then
begin
c[i,j]:=c[i,k]+c[k,j];
d1[i,j]:=d1[k,j];
end
else
if c[i,j]=c[i,k]+c[k,j] then
d1[i,j]:=d1[i,j]+d1[k,j];
afisare1;
end;
begin
prezentare;
repeat
meniu;
case ch of
'1':begin
repeat
meniu1;
case ch1 of
'1':begin
teoretic1;
readkey;
exec1;
readkey;
end;
'2':begin
teoretic2;
readkey;
exec2;
readkey;
end;
end;
until ch1='3';
end;
'2':begin
teoretic3;
readkey;
exec3;
readkey;
end;
end;
until ch='3';
end.
3.Programul proiectului generarea tuturor lanțurilor elementare într-un graf orientat:
program nr;
uses crt,graph;
var
gd,gm:integer;
ch:char;
n:integer;
st:array[1..30] of integer;
a:array[1..10,1..10] of integer;
procedure citire;
var x,y,i,j,m:integer;
begin
write('Numarul de varfuri din graf:');
readln(n);
write('Numarul de arce din graf:');
readln(m);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0;
writeln('Introduceti extremitatile arcelor');
for i:=1 to m do
begin
write('Extremitatile arcului ',i,' sunt: ');
readln(x,y);
a[x,y]:=1;
end;
end;
procedure init;
var i2:integer;
begin
for i2:=1 to n+2 do
st[i2]:=0;
end;
procedure tipar(p:integer);
var i3:integer;
begin
for i3:=1 to p do
write(st[i3],' ');
writeln;
end;
function valid(p:integer):boolean;
var ok:boolean;
i4:integer;
begin
ok:=true;
if p>1 then
if (a[st[p-1],st[p]]=0) and (a[st[p],st[p-1]]=0) then
ok:=false;
if (p>1) and (ok) then
for i4:=1 to p-1 do
if st[i4]=st[p] then
ok:=false;
valid:=ok;
end;
procedure back(p:integer);
var val:integer;
begin
begin
for val:=1 to n do
begin
st[p]:=val;
if valid(p) then
begin
if p>1 then
tipar(p);
if p<n+2 then
back(p+1);
end;
end;
end;
end;
procedure initgr;
begin
gd:=detect; initgraph(gd,gm,'d:\bp\bgi');
end;
procedure meniu;
begin
initgr;
setbkcolor(7);
settextstyle(2,0,7);
setcolor(blue);
outtextxy(230,70,'MENIU PRINCIPAL');
line(230,90,400,90);
settextstyle(7,0,1);
setcolor(blue);
outtextxy(50,140,'1-');
outtextxy(50,180,'2-');
outtextxy(50,220,'3-');
outtextxy(50,260,'4-');
setcolor(white);
outtextxy(50,140,' Generarea lanturilor elementare in grafuri orientate');
outtextxy(50,180,' Schema logica a programului pascal');
outtextxy(50,220,' Caz particular');
outtextxy(50,260,' Parasire program');
ch:=readkey;
closegraph;
end;
procedure exemplu;
begin
initgr;
setbkcolor(7);
settextstyle(1,0,1);
setcolor(blue);
outtextxy(205,20,'EXEMPLU GENERALIZAT');
circle(450,70,10);
circle(550,70,10);
circle(450,120,10);
circle(550,120,10);
setcolor(11);
settextstyle(2,0,6);
outtextxy(447,61,'1');
outtextxy(547,61,'2');
outtextxy(447,111,'3');
outtextxy(547,111,'4');
setcolor(blue);
settextstyle(6,0,1);
outtextxy(50, 100,'Pentru a intelege mai bine rezolvarea problemei');
outtextxy(20,150,'am ales sa prezint un caz particular care sper sa va rezolve toate nelamuririle');
outtextxy(480,124,'Fig.1');
outtextxy(50,170,'Pentru aceasta am ales un graf orientat cu 4 noduri. Dupa ce am citit');
outtextxy(20,190,'numarul de noduri,citim numarul de arce si extremitatile lor.');
outtextxy(20,210,' Matricea de adiacenta va arata astfel:');
setcolor(yellow);
outtextxy(200,230,'0 1 0 0');
outtextxy(200,250,'0 0 1 1');
outtextxy(200,270,'0 0 0 1');
outtextxy(200,290,'0 0 0 0');
setcolor(blue);
outtextxy(50,310,'In urma crearii matricii de adiacenta rezultatele vor fi urmatoarele:');
setcolor(yellow);
outtextxy(80,330,'1 2 3 2 3 4 3 4 2 4 3 2 2 3 3 4');
outtextxy(80,350,'1 2 3 4 2 4 3 3 4 2 1 4 3 2 1 3 2 4 3');
outtextxy(80,370,'1 2 4 3 2 1 4 2 1 1 2 2 4');
outtextxy(80,390,'1 2 4 3 3 2 4 4 2 3 2 1 4 2');
setcolor(blue);
line(550,80,550,110);
line(545,100,550,110);
line(555,100,550,110);
line(460,70,540,70);
line(530,65,540,70);
line(530,75,540,70);
line(460,120,540,120);
line(530,115,540,120);
line(530,125,540,120);
line(540,75,460,115);
line(460,115,465,105);
line(460,115,470,117);
readkey;
closegraph;
end;
procedure prezentare;
begin
initgr;
setbkcolor(7);
settextstyle(1,0,1);
setcolor(blue);
outtextxy(150,10,'COLEGIUL NATIONAL "SPIRU HARET"');
outtextxy(260,40,'TECUCI');
setcolor(white);
settextstyle(1,0,2);
settextstyle(2,0,7);
setcolor(5);
line(80,200,545,200);
line(177,240,410,240);
outtextxy(80,180,'GENERAREA TUTUROR LANTURILOR ELEMENTARE ');
outtextxy(70,220,' IN GRAFURI ORIENTATE ');
settextstyle(7,0,1);
setcolor(blue);
outtextxy(30,370,'Elevi: Prof.:');
setcolor(white);
outtextxy(30,370,' Gheorghiu Bogdan');
settextstyle(1,0,1);
setcolor(blue);
readkey;
closegraph;
end;
procedure schema;
begin
initgr;
setbkcolor(7);
settextstyle(2,0,0);
setcolor(blue);
circle(300,20,20);
setcolor(white);
outtextxy(285,17,'START');
setcolor(blue);
line(300,40,300,60);
circle(300,80,20);
setcolor(white);
outtextxy(288,75,'PREZ');
setcolor(blue);
line(300,100,300,120);
circle(300,140,20);
setcolor(white);
outtextxy(286,135,'MENIU');
setcolor(blue);
line(280,140,220,140);
line(320,140,380,140);
line(300,160,300,180);
line(220,140,220,180);
line(380,140,380,180);
circle(380,205,25);
setcolor(white);
outtextxy(357,193,'PARASIRE');
outtextxy(359,207,'PROGRAM');
setcolor(blue);
line(380,230,380,450);
line(380,450,320,450);
circle(300,450,20);
setcolor(white);
outtextxy(290,445,'STOP');
setcolor(blue);
circle(300,200,20);
setcolor(white);
outtextxy(283,193,'SCHEMA');
setcolor(blue);
circle(220,200,20);
setcolor(white);
outtextxy(204,193,'CITIRE');
setcolor(blue);
line(220,220,220,240);
circle(220,260,20);
setcolor(white);
outtextxy(210,253,'INIT');
setcolor(blue);
line(220,280,220,300);
circle(220,320,20);
setcolor(white);
outtextxy(210,313,'BACK');
setcolor(blue);
line(220,340,190,360);
circle(190,380,20);
setcolor(white);
outtextxy(175,373,'VALID');
setcolor(blue);
line(220,340,250,360);
circle(250,380,20);
setcolor(white);
outtextxy(237,373,'TIPAR');
setcolor(blue);
line(190,400,190,415);
line(250,400,250,415);
line(250,415,140,415);
line(140,415,140,320);
line(140,320,200,320);
readkey;
closegraph;
end;
begin
prezentare;
repeat
meniu;
case ch of
'1':begin
clrscr;
citire;
init;
back(1);
readln;
end;
'2': begin
schema;
end;
'3':begin
exemplu;
end;
end;
until ch='4';
end.
BIBLIOGRAFIE
Thomas H. Cormen, Charles E. Leiserson, Ronald R. Rivest, Introducere în algoritmi, Editura Computer Libris Agora 1996;
Ioan Tomescu,Data Structures, Bucharest University Press, Bucharest 2004
Knuth, D.E., Tratat de programarea calculatoarelor, Editura Teora, București 2000
Tudor Sorin, Tehnici de programare, Editura L&S Infomat 2000
Mariana Miloșescu, Informatica C++, Editura Didactică și pedagogică, București 2002.
Cristian Udrea, Claudia Elena Udrea, Dan Cristian Țacu, Diana Nicoleta Udrea, Pascal.Teorie și Aplicații, Editura Arves 2003.
Ioan Tomescu, Introducere în Combinatorică, Editura Tehnică București 1972.
Ioan Tomescu, Probleme de combinatorică și teoria grafurilor, Editura didactică și pedagogică, București 1984.
Ioan Tomescu, Grafuri și programare liniară, Editura didactică și pedagogică București, 1975.
Ioan Tomescu, Combinatorică și teoria grafurilor, Tipografia Universității din București, 1978.
Daniela Oprescu, Liana Bejan Ienulescu, Viorica Pătrașcu, Informatica, manual pentru clasa a XI-a, Editura Niculescu, București 2001.
Emanuela Cerchez, Marinel Șerban, Programarea în limbajul C++, Editura Polirom, Iași 2005.
Mihaela Runceanu, Carmen Negrea, Culegere de probleme de informatică, Editura Donaris, Sibiu 2003.
Georgie Daniel Vlad, Daniela Marcu, Culegere de probleme de informatică, Editura Didactică și pedagogică, București 2003.
Severin Bumbaru, Structuri de date, algoritmi și tehnici de programare cu aplicații Java, Universitatea Dunărea de Jos Galați
Doina Logofătu, Bazele programării în C. Aplicații, Editura Polirom, Iași 2006.
Carmen Petre, Ștefania Crăciunoiu, Daniela Popa, Camelia Iliescu, Metodica predării informaticii și tehnologiei informației, Editura Arves, 2002.
Andrei Barna, Georgeta Antohe, Curs de pedagogie, Editura Sinteze, Galați 2003.
Andonie R., Garbacea I. – Algoritmi fundamentali. O perspectivă C++. Editura Libris, Cluj-Napoca, 1995.
Curs Intel® Teach – Instruirea în societatea cunoașterii (proiect implementat de MECTS în parteneriat cu Siveco-România).
http://vega.unitbv.ro/~andonie/Cartea_WEB/toc.htm
http://ebooks.unibuc.ro/informatica/carabianu/CARA_STR.pdf
http://www.campion.edu.ro/arhiva/arhiva_2009/papers/papers30.pdf(Heap-uri, articol de Emanuela Cerchez).
http://www.ginfo.ro/revista/147/focus.pdf (heap-uri binomiale, articol scris de Mihai Scorța).
http://www.infobits.ro/materiale-on-line pentru profesori (arbori de intervale(segments-tres), articol Dana Lica.)
http://www.scribd.com/doc/151635192/Curs-de-Structuri-de-Date-Florian-Moraru
George Daniel Mateescu, Pavel Florin Moraru – Informatica pentru liceu și bacalaureat. Editura Donaris, Sibiu, 2006.
http://instruireaasistatadecalculator.blogspot.ro/, (Chira Elena)
Cornelia Ivașc, Mona Prună – Bazele Informaticii, Editura Petrion, București, 1995
Cocan Cornelia – Psihologia educației școlare, Editura Universității „Transilvania”,Brașov, 2007
http://infoscience.3x.ro/c++/Parcurgerea_grafuri_o_adancime.htm
https://www.scribd.com/document/154321240/Curs-6-7-Metodica-predarii-informaticii-Metode-tehnici-procedee-didactice-1 (Cristina Glisă)
DECLARAȚIE DE AUTENTICITATE A
LUCRĂRII METODICO – ȘTIINȚIFICE
DE GRAD DIDACTIC I
Subsemnatul_________________________________________________________________
legitimat cu __________ seria _________ nr. ___________ CNP_______________________
telefon _____________________ autorul lucrării____________________________________
__________________________________________________________________________
elaborată în vederea susținerii examenului de grad didactic I in anul universitar 2016 – 2017 organizat de către Departamentul pentru Pregătirea Personalului Didactic din cadrul Universității “Transilvania” din Brașov, pentru seria 2015 – 2017, luând în considerare Metodologia formării continue a personalului didactic din învățământul preuniversitar aprobată prin O.M. nr. 5720/20.10.2009, respectiv Ordinul MECTS nr. 5561/07.10.2011 cu adaugiri, declar pe proprie răspundere că această lucrare a fost elaborată în întregime de către mine, nu au fost folosite alte surse decât cele menționate în bibliografie, nu au fost preluate texte, date sau elemente de grafică din alte lucrări sau din alte surse fără a fi citate și fără a fi precizată sursa preluării, inclusiv în cazul în care sursa o reprezintă alte lucrări ale mele și că lucrarea nu a mai fost folosită în alte contexte de examen sau de concurs.
Declar, de asemenea, că în lucrare nu există idei, tabele, grafice, hărți sau alte surse folosite fără respectarea legii române și a convențiilor internaționale privind drepturile de autor.
Brașov,
Data Semnătura
______________ _________________
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Gheorghiu A. Constantin Bogdan [303358] (ID: 303358)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
