Sunteți pe pagina 1din 4

PROIECT DIDACTIC

Scoala: C.N. Elena Cuza


Data: 17.02.2007
Clasa: a X-a A profil informatica
Varsta elevilor: 16 ani
Numar de elevi: 28
Numar de absenti: 0
Disciplina: Informatica
Conditii de desfasurare a activitatii: laborator multimedia , videoproiector
Continutul activitatii: Metoda backtracking
Tipul lectiei: comunicare si insusire de cunostinte noi
Nr. Etapele lectiei
Crt.
1.

Moment organizatoric

Anuntarea lectiei si a
obiectivelor

3.

Continut/ sisteme de actionare


-

se verifica prezenta
se capteaza atentia
se verifica tema

Dozare Formatii de lucru si


indicatii metodologice
5 min

- se actioneaza asupra
intregului colectiv (frontal)

- sunt prezentate verbal si pe videoproiector


2 min
tema lectiei si obiectivele acesteia :
1. stabilirea conditiilor in care se aplica metoda
backtracking
2. descrierea generala a metodei
3. descrierea mecanismului de generare a
solutiilor
4. descrierea algoritmului
5. implementarea recursiva a algortmului de
generare a solutiilor
Enuntarea conditiilor - sunt prezentate verbal si pe videoproiector
5 min
care trebuie indeplinite conditiile care trebuie respectate pentru a putea
pentru rezolvarea unei aplica metoda backtracking:
probleme folosind
Metoda backtracking se utilizeaza pentru
metoda backtracking rezolvarea unor probleme in care:
1. se obtin mai multe solutii

- elevii urmaresc expunerea


profesorului

- elevii urmaresc expunerea


profesorului

Observatii

Nr. Etapele lectiei


Crt.

4.

5.

Continut/ sisteme de actionare

Dozare Formatii de lucru si


indicatii metodologice

2. solutia este formata din unul sau mai multe


elemnte, fiind reprezentata sub forma unui tablou
x=(x1,x2,xn), xiMi, i=1,2,n
3. x este o structura liniara de tip stiva
4. multimile M1, M2,,..Mn sunt multimi finite
avand c1, c2,cn elemente
5. elementele depuse in tablou indeplinesc
anumite conditii impuse de enuntul fiecarei
probleme
Prezentarea unui
- se defineste notiunea de permutare
3 min
exemplu de generare a
- elevii genereaza toate permutarile de 3
permutarilor
elemente :
(1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2),
(3,2,1)
Principiile care stau la
- se prezinta la videoproiector si se explica 10 min
baza metodei
verbal principiile care stau la metodei
backtracking
backtracking:
Solutiile sunt generate intr-un tablou de tip stiva:
- se alge din multimea M1, elemental valid x1;
- se presupune ca in tabloul x s-au depus
elementele x1M1, x2M2,.xk-1Mk-1 si se cauta
prima valoare candidat la construirea solutiei
xkMk
- elmentul xk pastreaza valoarea candidat doar
daca aceasta respecta condtiile de validare(cond.
interne)
- daca xk a fost depus in tabloul x, se verifica
daca s-a obtinut o solutie rezultata, in caz
afirmativ solutia este pastrata si se trece la
construirea unei noi solutii, altfel se trece la
nivelul urmator in stiva si se cauta o valoare
candidat pentru xk+1 din Mk+1

Observatii

- individual, in caiete si la
tabla, elevii rezolva cerinta

Pe tabla vor fi
afisate toate
permutarile in
ordine
lexicografica.

- frontal elevii urmaresc


expunerea

Se reprezinta (la
tabla) graphic
modul de crestere
/descrestere a stivei
si de obtinere a
solutiilor.

Nr. Etapele lectiei


Crt.

Continut/ sisteme de actionare

Dozare Formatii de lucru si


indicatii metodologice

- daca in multimea Mk nu se mai gasesc valori


valide se decrementeaza k si se cauta o alta
valoare xk-1 din multimea Mk-1
- algoritmul se opreste cand in multimea M1 nu
mai exista nicio valoare candidat pentru x1(stiva
este vida).
6.

Implementarea
recursiva pentru
generarea
permutarilor

se discuta conditiile de continuare,


conditiile de inaintare si de revenire din
recursivitate
- se discuta functiile programului
(prezentate pe videoproiector)
#include<iostream.h>
int x[20],n;
void tipar(int k)
{
for(int i=1;i<=n;i++)cout<<x[i];
cout<<endl;
}
int cont(int k)
{
for(int i=1;i<k;i++)
if(x[i]==x[k])return 0;
return 1;
}
void back(int k)
{
for(int i=1;i<=n;i++)
{
x[k]=i;
if(cont(k))
if(k==n)tipar(k);

10

frontal- elevii
participa la discutie,
ofera solutii:
stabilesc elementele
multimilor M1, M2,..Mn
stabilesc conditiile de
continuare
stabilesc conditia de
obtinere a unei solutii

Observatii

Nr. Etapele lectiei


Crt.

Continut/ sisteme de actionare

Dozare Formatii de lucru si


indicatii metodologice

else back(k+1);

7.

Realizarea feedbackului

8.

Moment final

}
}
void main()
{
cin>>n;
back(1);
}
- se pun intrebari pentru fixarea notiunilor 10 min
si pentru corectarea elementelor
insuficient clarificate:
Explicati generarea solutiilor intrun tablou unidimensional de tip
stiva
Care este mecanismul metodei
back.
Evidentiati aspectele recursive ale
metodei backtracking
- rezolvarea unei probleme:
Sa se genereze elementele
produsului cartezian a n multimi
M1xM2x..xMn.
- sunt notati elevii care au raspuns
5 min
- este anuntata tema pentru acasa:
Scrieti algoritmul si programul de generare a
tuturor aranjamentelor de n luate cate m.

- elevii raspund la intrebari si


participa la rezolvarea
problemei

- elevii noteaza tema

Observatii

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