15

Recursivitatea prin exemple manualul profesorului

Embed Size (px)

Citation preview

Page 1: Recursivitatea prin exemple   manualul profesorului
Page 2: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 2 -

Cuprins:

1. Terminologie 2. Structură generală

2.1. Obiective didactice 2.2. Conţinut 2.3. Recomandări de structurare şi predare

3. Obiecte de coţinut - detaliere

3.1. M1 Principiul stivei. Revenirea din recursivitate (1) 3.2. M2 Revenirea din recursivitate (2) 3.3. M3 Ordinea de execuţie a funcţiilor recursive 3.4. M4 Formule recursive 3.5. M5 Recursivitate indirectă 3.6. M6 Test grilă pentru evaluarea cunoştinţelor

4. Bibliografie

Page 3: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 3 -

1. Terminologie Butoane instructaj – – sunt amplasate în partea din dreapta-sus a ecranului şi, atunci când sunt accesate, prezintă pas cu pas, într-o fereastră de detaliu, instrucţiuni despre folosirea unei aplicaţii. Butoane start animaţie / trecere la pasul următor – – se regăsesc în cadrul animaţiilor şi al aplicaţiilor ce conţin mai mulţi paşi. Prin apăsarea lor se începe rularea animaţiei, respectiv se trece la următorul pas al aplicaţiei. Butoane de reiniţializare a animaţiei / aplicaţiei - - Prin apăsarea lor se reiniţializează animaţia, respectiv aplicaţia. Butoane de navigare între soluţii - - se regăsesc în cadrul aplicaţiilor ce conţin prezentarea unor algoritmi care trebuie să afişeze toate soluţiile unei probleme date. Prin apăsarea lor este întreruptă animaţia, reluarea facându-se prin apăsarea butonului start animaţie. Texte de reper – – reprezintă simboluri grafice prezente intr-un text care, atunci când sunt accesate, prezintă ferestre de detaliu, în care este explicată o anumită noţiune. Ferestre detaliu – sunt ferestre care oferă informaţii suplimentare despre o anumită noţiune. Exemplu :

Butoane pentru închis ferestre - – sunt amplasate în dreapta ferestrelor de detaliu iar apăsarea lor duce la închiderea ferestrei.

Page 4: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 4 -

2. Structura generală În acest capitol sunt prezentate detaliat obiectivele didactice care pot fi atinse cu ajutorul acestor lecţii. De asemenea sunt prezentate succint conţinuturile materialului şi câteva sugestii pentru folosirea lecţii. 2.1. Obiective didactice Obiectiv Detaliere Obiective de referinţă R1 Să transpună o problemă în termeni recursivi. R2 Să aplice algoritmii recursivi. R3 Să analizeze modul diferit de funcţionare, prin comparaţie, a

variantelor iterativa şi recursivă. Obiective operaţionale OP1 să-şi însuşească modul corect de declarare şi apelare a

funcţiilor recursive; OP2 să-şi însuşească mecanismul recursivităţii şi să identifice

condiţia de ieşire din autoapeluri; OP3 să descopere eficienţa recursivităţii în funcţie de numărul

autoapelurilor (adâncimea autoapelurilor) OP4 să-şi însuşească modul de funcţionare a recursivităţii indirecte; OP5 să deducă avantajele şi dezavantajele recursivităţii pornind de

la exemplele studiate OP6 să analizeze corect fiecare problemă şi să dezvolte gândirea

algoritmică, logică, flexibilă creatoare OP7 să selecteze variantele corecte şi să argumenteze alegerea unei

anumite forme în realizara aplicaţiei

Page 5: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 5 -

2.2 Conţinut Se prezintă lista obiectelor de conţinut (notate cu M) şi caracteristicile lor generale.

M2 – Recursivitate prin exemple - Exemplul 2 Obiective didactice OP1,OP2 Timp de predare 15 min Tip de interacţiune cu elevii

• metode de comunicare orală : expunere, conversaţie, algoritmizare ;

• metode de acţiune: exerciţiul, învăţarea prin descoperire;

• proceedee de instruire: explicatia în etapa de comunicare; învăţarea prin descoperire dirijată, inductivă, experimentală;

Descriere • exemplificarea declarării, apelării şi autoapelării funcţiei recursive

• explicarea mecanismului recursivităţii directe

Cuvinte cheie recursivitate directă, apel, autoapel

M1 – Recursivitate prin exemple - Exemplul 1 Obiective didactice OP1, OP2 Timp de predare 15 min Tip de interacţiune cu elevii

• metode de comunicare orală : expunere, conversaţie, problematizare ;

• metode de acţiune: exerciţiul, învăţarea prin descoperire;

• proceedee de instruire: explicatia în etapa de comunicare; învăţarea prin descoperire dirijată, inductivă, experimentală;

Descriere • exemplificarea declarării şi apelării functiei recursive

• explicarea mecanismului recursivităţii prin

utilizarea stivei Cuvinte cheie recursivitate directă, apel, autoapel, stivă

Page 6: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 6 -

M3 – Recursivitate prin exemple - Exemplul 3 Obiective didactice OP1, OP2, OP3, OP6 Timp de predare 15 min Tip de interacţiune cu elevii

• metode de comunicare orală : expunere, conversaţie, problematizare;

• metode de acţiune: exerciţiul, învăţarea prin descoperire;

• proceedee de instruire: explicatia în etapa de comunicare; învăţarea prin descoperire dirijată, inductivă, experimentală; conversaţia de consolidare în etaapa de fixare a cunoştinţelor

Descriere • explicarea mecanismului recursivităţii directe

• explicarea eficienţei algoritmului recursiv pornind de la adâncimea recursivităţii

Cuvinte cheie recursivitate directă, apel, autoapel, adâncimea recursivităţii

M4 – Recursivitate prin exemple - Exemplul 4 Obiective didactice OP2, OP3, OP5, OP6 Timp de predare 15 min Tip de interacţiune cu elevii

• metode de comunicare orală : expunere, conversaţie, algoritmizare;

• metode de acţiune: exerciţiul, învăţarea prin descoperire;

• proceedee de instruire: explicaţia în etapa de comunicare; exemplificarea; învăţarea prin descoperire dirijată, inductivă, experimentală;

Descriere • transpunerea unei probleme în termeni recursivi

• explicarea avantajelor / dezavantajelor algoritmului recursiv

Cuvinte cheie recursivitate directă, apel, autoapel, formule recursive

Page 7: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 7 -

M5 – Recursivitate prin exemple - Exemplul 5 Obiective didactice OP2, OP3, OP4, OP5 Timp de predare 15 min Tip de interacţiune cu elevii

• metode de comunicare orală : expunere, conversaţie, problematizare;

• metode de acţiune: exerciţiul, învăţarea prin descoperire;

• proceedee de instruire: explicaţia în etapa de comunicare; exemplificarea; învăţarea prin descoperire dirijată, inductivă, experimentală;

Descriere • explicarea recursivităţii indirecte • exemplificarea declarării, apelării şi

autoapelării funcţiilor definite recursiv indirect

Cuvinte cheie recursivitate indirectă, apel, autoapel, formule recursive

M6 – Test grilă de evaluare a cunoştinţelor Obiective didactice OP2, OP6, OP7 Timp de predare 12 min Tip de interacţiune cu elevii

evaluare în formă scrisă prin intermediul calculatorului

Descriere test grilă cu itemi de tip asociere (pereche)

Cuvinte cheie funcţii recursive

Page 8: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 8 -

2.2. Recomandări de structurare şi predare

1. Planul unităţii de învăţare Timp: 1 oră

Obiect de conţinut Timp (min) M1 15 M3 15 M4 15

2. Planul unităţii de învăţare Timp: 1 ore

Obiect de conţinut Timp (min) M2 15 M5 15 M6 12 min test + 8 min

comentarii

Page 9: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 9 -

3. Obiecte de coţinut - detaliere În continuare vom prezenta în detaliu modul de utilizare a elementelor din ferestrele lecţiei. (navigare, elemente specifice, funcţionarea aplicaţiilor, etc.). Subliniem că navigarea elementară se face cu ajutorul butoanelor descrise în Cap. 1 – Terminologie, al acestui manual. Nu ne vom referi la acestea decât spicuitiv. 3.1. Principiul stivei. Revenirea din recursivitate (1) În acest obiect de conţinut este propus spre observaţie un exemplu de program în care se foloseşte tehnica recursivităţii. Acesta returnează un şir de n = 3 numere , în ordine descrescătoare. Se doreşte în special urmărirea procesului de revenire din recursivitate. În partea dreaptă a ecranului este făcută o analogie cu introducerea şi extragerea bilelor dintr-un cilindru transparent. În acest cilindru se pot introduce bile printr-un singur capăt, ordinea scoaterii lor este inversă fată de ordinea introducerii .

Bilele care se află la un moment-dat în cilindru corespund paşilor ce sunt executaţi în program. În partea stângă este afişat programul sursă ce rezolvă problema propusă. Săgeata roşie împreună cu dreptunghiul roşu marchează linia şi instrucţiunea curentă.

Săgeata marchează linia de program curentă

Dreptunghiul marchează instrucţiunea curentă

Page 10: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 10 -

3.2. Revenirea din recursivitate (2) În acest obiect de conţinut este prezentat un program ce rezolvă o funcţie matematică pe ramuri. Se urmăreşte, ca şi la obiectul anterior, observarea modului de revenire din recursivitate. Rezolvarea este particularizată pentru i = 4, valoarea de la care se porneşte în recursivitate. În partea dreaptă a ecranului este făcută o analogie cu umplerea unor găletuşe cu nisip, cu observaţia că modul de umplere al acestora (celei de mai sus i se adaugă la conţinutul care îi revine şi conţinutul găletuşei de mai jos) este în concordanţă cu execuţia pas cu pas a codului programului afişat în partea stângă a ecranului.

În partea stângă este afişată funcţia şi programul sursă care întoarce rezultatul .Săgeata roşie împreună cu dreptunghiul roşu marchează linia şi instrucţiunea curentă.

Programul sursă se parcurge pas cu pas, folosind butoanele de navigare .

Săgeata marchează linia de program curentă

Dreptunghiul marchează instrucţiunea curentă

Page 11: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 11 -

3.3. Ordinea de execuţie a funcţiilor recursive Prin intermediul acestui obiect de conţinut se urmăreşte înţelegerea de către utilizator a ordinii de execuţie al funcţiilor recusive. Este dat un program şi se cere să se afle rezultatul final tipărit de acesta. Utilizatorul trebuie să completeze cu rezultate intermediare schema execuţiei programului şi să aleagă, după ce este completat tot arborele de execuţie, rezultatul final tipărit la terminarea programului. Perechile de numere intermediare pentru care se execută funcţia din program sunt poziţionate deja pe transpunerea grafică a ordinii de execuţie a programului, mai puţin câteva. Aceste câteva perechi trebuie poziţionate corect în schemă. Poziţionarea se face apăsând cu mouse-ul pe una dintre acestea şi eliberând-o deasupra poziţiei libere dorite. Odată afişate toate perechile, va trebui ales rezultatul final. Acest lucru se face apăsând cu mouse-ul pe una din căsuţele cu rezultate posibile şi trăgând acea căsuţă deasupra căsuţei libere.

Poziţie liberă unde trebuie adăugată o pereche

Pereche intermediară ce trebuie poziţionată

Căsuţa liberă

Schema execuţiei programului

Căsuţe cu rezultate posibile

Page 12: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 12 -

La fel ca şi în cazul completării perechilor de numere intermediare, răspunsul ales de utilizator este verificat, şi corectitudinea acestuia este semnalată prin intermediul unei mânuţe. 3.4. Formule recursive Acest obiect de conţinut prezintă două variante de programe pentru rezolvarea recursivă a produsului a două numere ( fără a folosirea înmulţirii directe ). Odată apăsat butonul se va începe execuţia programului, utilizatorul având posibilitatea, în orice moment, să oprească programul din execuţie pentru a se lămuri asupra valorilor intermediare de la acel pas.

Utilizatorul poate urmări execuţia programelor şi valorile parametrilor intermediari, precum şi lanţul de revenire din recursivitate prin intermediul tabelelor de detaliu poziţionate în dreapta fiecărei variante de program. Programul este executat instrucţiune cu instrucţiune.Săgeata roşie împreună cu dreptunghiul roşu marchează linia şi instrucţiunea curentă.

Semnalizarea unui răspuns corect

Semnalizarea unui răspuns greşit

Săgeata marchează linia de program curentă

Dreptunghiul marchează instrucţiunea curentă

Varianta 1 de program Tabel de detaliu

Page 13: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 13 -

3.5. Recursivitate indirectă În acest obiect de conţinut este propus spre observaţie un exemplu de program în care se foloseşte recursivitatea indirectă. Acest program returnează rezultatele calculului a două şiruri an şi bn , definite recursiv, pentru a = 4, b = 9, n = 2 valori iniţiale. Utilizatorul opate urmării pas cu pas execuţia programului, în partea stângă a ecranului putând observa care este ordinea de execuţie a funcţiilor, coborârea şi revenirea din recursivitate, precum şi rezultatele intermediare şi cel final.

Programul este executat instrucţiune cu instrucţiune.Săgeata roşie împreună cu dreptunghiul roşu marchează linia şi instrucţiunea curentă.

Programul sursă se parcurge pas cu pas, folosind butoanele de navigare .

Săgeata marchează linia de program curentă

Dreptunghiul marchează instrucţiunea curentă

Funcţie “părinte” ce se execută în acel moment

Funcţie “fiu” ce este se execută în acel moment

Rezultatul funcţiei ce se execută

Rezultatul dat de funcţia “părinte” la momentul execuţiei sale

Locul unde va fi plasat rezultatul funcţiei “părinte” ce urmează a fi executată.

Page 14: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 14 -

3.6. Test grilă pentru evaluarea cunoştinţelor Acest modul conţine un test grilă cu răspunsuri de tip “complement simplu”, adică doar o variantă de răspuns corectă.

Pentru a trece de la o problemă la alta poziţionaţi mouse-ul pe numărul problemei dorite. Bifarea răspunsurilor se face prin apăsarea cu mouse-ul pe căsuţa corespunzătoare raspunsului dorit. Se poate reveni asupra răspunsului la oricare dintre întrebări, atâta timp cât nu s-a răspuns la toate. După bifarea răspunsurilor pentru fiecare problemă, în dreapta butoanelor cu numărul problemelor vor apărea indicatori de validare a răspunsului :

pentru răspuns corect şi pentru răspuns greşit, iar în partea din dreapta jos a testului va fi afişat răspunsul corect pentru fiecare întrebare în parte.

Page 15: Recursivitatea prin exemple   manualul profesorului

Recursivitatea prin exemple - Manualul profesorului Clasa a X-a

- 15 -

4. Bibliografie

• Bucur Carmen, Bucur Doina, Pintea Adrian, Salaţiu, Cristina, Stanca Florentina, Vaida Dana; Informatica –Culegere de probleme pentru liceu, Editura U.T. Pres, Cluj-Napoca, 2002

• Cerchez Emanuela, Şerban Marinel; Informatica –

Manual pentru clasa a X-a, Editura Polirom, 2000

• Livovschi L., Georgescu H., Sinteza şi Analiza algoritmilor, Editura Ştiinţifică şi Enciclopedică, Bucureşti, 1986

• Sorin Tudor; Manual de informatica-clasa a X-a, varianta

C++, Editura L&S Infomat, 2000

• Knuth D. E; Tratat de programarea calculatoarelor Algoritmi fundamentali, Editura Tehnică, 1974