Sunteți pe pagina 1din 6

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

Proiect didactic
Liceul de Creativitate Inventic Prometeu-Prim
Data 21 noiembrie 2006
Clasa a XI-a (profil real)

Obiectul

Informatica

Profesor Ecaterina Adam


Durata

45 minute

Subiectul leciei Subprograme recursive


Tipul leciei

De comunicare a noilor cunotine i de formare a priceperilor i deprinderilor

Obiective de referin:
s poat explica modul de execuie al algoritmilor recursivi;
s cunoasc avantajele i neajunsurile recursiei;
s elaboreze funcii i proceduri recursive;
Obiective operaionale:
O1 s poat continua enunuri;
O2 s determine corectitudinea antetelor i apelurilor de subprograme;
O3 s poat evalua programe ce utilizeaz subprograme recursive;
O4 s formuleze enunul problemei conform programului propus;
O5 s determine valoarea funciei pentru anumite date de intrare;
O6 s explice algoritmul subprogramului recursiv;
Metodele de predare - nvare - evaluare:
M1 analiza;
M2 observaia;
M3 instruirea problematizat;
M4 conversaia euristic;
M5 metoda insuficienei informaionale;

O7 s explice modul de execuie al subprogramului recursiv;


O8 s determine corectitudinea scrierii unui subprogram
recursiv/iterativ fiind dat varianta iterativ/recursiv a subprogramului;
O9 s stabileasc pentru ce date de intrare subprogramul va afia un
anume rezultat;
O10 s elaboreze programe n care se utilizeaz subprograme recursi

M6 descoperirea;
M7 cercetarea;
M8 algoritmul;
M9 problematizarea;
M10 exerciiul.

Mijloacele didactice:
Material informativ scris, calculator, mediul de programare Turbo Pascal, fie.
_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

Desfurarea activitii
Etapele leciei

Obiectivele
operaionale

Metode de
predare
nvare
evaluare

Captarea
ateniei.
Anunarea
temei,
obiectivelor
Reactualizarea
cunotinelor

O1

O2

Comunicarea
noilor
cunotine

O3
O4
O7

M4

M1

M3
M4

Activitatea profesorului

Profesorul salut elevii.


Anun obiectivele leciei.

Se iniiaz un dialog pe baza noiunilor studiate anterior:


Continuai enunurile:
1. Antetul unei funcii conine ...
2. Apelul unei funcii se face prin intermediul ...
3. Tipul rezultatului unei funcii poate fi ...

Se propune elevilor s evalueze corectitudinea unui


subprogram scris pe tabl. Se cere argumentarea
rspunsului.

Activitatea elevilor

Timpul
(min)

Pregtesc cele necesare pentru


lecie.

Rspund oral la ntrebri.

Analizeaz subprogramele de
pe tabl i determin
corectitudinea lor,
argumentndu-i rspunsurile.

Se propune un subprogram recursiv i se cere s se


determine:
1. Ce valoare va returna funcia pentru o anume
valoare?
2. Ce realizeaz funcia?
3. Cum se execut subprogramul respectiv?

10

Explic modul de execuie a unui subprogram recursiv


O2

M6
M7

Se propune un subprogram recursiv cu erori i se cere s


fie studiat i comentate erorile.

Determin erorile i stabilesc


condiiile necesare pentru
scrierea subprogramele
recursive.

_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

Se explic necesitatea existenei condiiei de consisten


pentru scrierea unui subprogram recursiv.
Se explic legtura dintre iteraie i recursie.

Fixarea
cunotinelor
predate i
realizarea
feedback-ului

O8

M1

O5

M3

O4

M7

O8
O9

Aplicaii

Intensificarea
procesului de
retenie i
transfer

O10

M6
M8

Se propune fia nr. 1 cu teste ce verific:

1) Corectitudinea scrierii unui subprogram recursiv fiind


dat varianta iterativ a subprogramului;
2) Ce va afia un subprogram recursiv pentru anumite date

de intrare;

3) Formularea enunului conform textului subprogramului


recursiv;
4) Corectitudinea scrierii unui subprogram iterativ fiind
dat varianta recursiv a subprogramului;
5) Pentru ce date de intrare subprogramul va afia un anume
rezultat.

Se propune elevilor s rezolve la tabl i la calculator


trei probleme din fi.

Se propune elevilor s consolideze cunotinele pe baza


materialului teoretic i s rezolve problemele 5,6 din lista
de probleme i problema 6 din Testul 4.

Noteaz n caiet.

Analizeaz testele i propun


soluii, argumentndu-i
rspunsul.
Noteaz rspunsurile corecte.
Evalueaz rspunsurile
colegilor.

Caut i propun soluii;


Noteaz n caiet;
Particip la elaborarea
programelor
Lucreaz la calculator

Noteaz tema pentru acas.

12

10

_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

Fia de lucru:
1. Gsii erorile n funcie:
Function F(a:char):integer;
begin
F:=ord(a)-ord(z);
if F<0 then F:=-F;
end;

2. a) Function F(n:LongInt):LongInt;
begin
If n=0 then F:=1
else F:=F(n-1)*n;
end;

Ce valoare va avea F pentru n=4?


Ce realizeaz funcia?
Cum se execut subprogramul respectiv?

b) Function Test(x:integer):integer;
begin
If x=0 then Test:=1
else if x=1 then Test:=Test(x+1)
else Test:=Test(x+2)+x;
end;
Ce valoare va avea funcia pentru x=3?
O funcie recursiv trebuie s satisfac urmtoarea condiie:
Condiia de consisten a unei definiii recursive:

_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

c) Fiind dat varianta iterativ de scris varianta recursiv pentru calcularea valorii an:
Varianta iterativ:
Function Putere(a, n: integer):integer;
Var i,f:integer;
begin
F:=1;
For i:=1 to n do
F:=F*a;
Putere:=F;
end;

3. Program Test52;
Var n:integer;
Function Pro(x:integer)integer;
Begin
If x=0 then Pro:=0
Else Pro:=x mod 10+Pro(x div 10);
End;
Begin
Write(n=); readln(n);
Writeln(Pro(n));
Readln
End.
a) Ce va afia programul pentru n=218?
b) Ce realizeaz functia?
c) Transcriei functia nlturnd recursivitatea.

_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

Liceul de Creativitate i Inventic Prometeu-Prim

Informatica, cl. a XI-a (real)

4. Function Mister (a: integer): integer;


Begin
If a<0 then write (Eroare)
Else if a=0 then Mister:=0
Else Mister:=Mister(a-1)+a;
End;
a) Ce realizeaz funcia?
b) Care va fi valoarea lui Mister(10)?
5. Fundamentele programrii.
Function F (x: integer): integer;
Begin
If x=0 then F:=0
Else F:=F(x-1)+2*x-1;
End;
a) Pentru ce valoarea a lui x funcia va returna valoarea 25?
a) 10
b) 3
c) 15
d) 5
b) Ce realizeaza functia?

6. Rezolvai problemele folosind subprograme recursive:


1. Calculai produsul numerelor ntregi a i b prin adunri repetate.
2. Calculai ctul mpririi ntregi a numerelor ntregi a i b prin scderi repetate.
3. Calculai suma elementelor unui vector de numere ntregi cu n elemente.

_____________________________________________________________________________________________________________________________________________________________________________
Tema: Subprograme recursive
21 noiembrie 2006

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