1. Backtracking Clasa X
Manualul profesorului
Software educa釘ional realizat de: Profesori coordonatori:
Adrian Gabriel Di釘 Corina Achinca
erban Nistor Cecilia Blnescu
Rodica Cherciu
2. Cuprins
1. Terminologie Prezentarea elementelor software
2. Informa釘ii generale despre tema prezentat
3. Obiective
4. Structura general
4.1. Con釘inut
4.2. Recomandri de structurare i predare
5. Structura detaliat
5.1. Joc Problema damelor
5.2. Exemplu practic: aranjarea mobilei 樽ntr-o cas
5.3. Opera釘ii pe stiv
5.4. Exemplificarea lucrului pe stiv
5.5. Prezentarea ablonului de func釘ii i proceduri
5.6. Generarea permutrilor
5.7. Problema generrii aranjamentelor
5.8. Problema damelor
5.9. Joc Problema comis-voiajorului
5.10. Problema comis-voiajorului rezolvare iterativ
5.11. Problema comis-voiajorului rezolvare recursiv
5.12. Problema comis-voiajorului implementare
5.13. Joc Problema labirintului
5.14. Problema labirintului rezolvare iterativ
5.15. Problema labirintului implementare
6. Teste de evaluare
6.1. Testul 1
6.2. Testul 2
6.3. Testul 3
6.4. Testul 4
7. Teme pentru acas
7.1. Tema 1
7.2. Tema 2
7.3. Tema 3
7.4. Tema 4
8. Bibliografie
3. 1. Terminologie
Obiect de con釘inut
Un fiier independent care prezint informa釘ii grupate din punct de vedere
tematic, ce nu pot fi prezentate separat. Poate fi format din mai multe pagini de
con釘inut. n cadrul acestui ghid vom folosi i no釘iunea de component atunci
c但nd vom face referire la un obiect de con釘inut.
Butoane start anima釘ie/trecere la pasul urmtor
Sunt amplasate 樽n cadrul anima釘iilor i al aplica釘iilor care con釘in mai mul釘i
pai. Prin apasarea acestui buton 樽ncepe rularea anima釘iei sau respectiv se trece
la pasul urmtor al anima釘iei. Dup apsare, acest buton se transform 樽n buton
de pauz, care, odat accesat 樽ntrerupe pentru moment anima釘ia la cadrul
curent.
Texte de reper sunt link-uri prezente 樽n text, eviden釘iate printr-o culoare
specific a cuvantului, care atunci c但nd sunt accesate, ofer informa釘ii
suplimentare ce detaliaz no釘iunile respective.
Butoane teorie
Accesarea lor prezint pas cu pas, 樽ntr-o fereastr de detaliu, no釘iunile
teoretice legate de lec釘ie, pe care cine dorete le poate revedea pentru a
parcurge interactiv cerin釘ele urmtoare ale lec釘iei.
Butoane de detaliere
Ofer informa釘ii suplimentare despre o anumit no釘iune sau prezint mai
樽n detaliu con釘inutul unei pr釘i din lec釘ie, pentru cei care simt nevoia s aib mai
multe explica釘ii.
Butoane de revenire
Sunt amplasate 樽n partea de jos a ecranului. Prin apsarea acestui buton
se reia anima釘ia de la 樽nceput, pentru a o studia mai bine.
Butoane de obiective
Sunt amplasate 樽n partea de jos a ecranului i ofer utilizatorului 樽ntr-o
fereastr de detaliu, obiectivele parcurgerii materialului din modulul respectiv.
4. Butoane de defilare pe text
Prin apsarea acestor butoane, textul se deruleaz 樽n sensul sge釘ii.
Butoane de start
Prin accesarea acestui buton se 樽ncepe cronometrarea timpului 樽n care
elevul rezolv o anumit cerin釘.
Butoane de resetare
Se folosesc pentru re樽nceperea jocului 樽n cazul 樽n care elevul solicit acest
lucru.
Butoane de help
Ofer elevului detalii asupra modului 樽n care trebuie s rezolve interactiv
anumite cerin釘e.
Butoane de verificare
Sunt utilizate 樽n cadrul unor probeleme care se rezolv interactiv. n
aceast situa釘ie elevul solicit calculatorului s-i verifice corectitudinea solu釘iei.
Butoane de vitez
Prin accesarea acestor butoane se stabilete viteza de derulare a
anima釘iilor in func釘ie de capacitatea de 樽n釘elegere a elevului.
Ferestre de detaliu
Ofer informa釘ii suplimentare sau detalii despre un anumit element
(termen, concept, imagine, algoritm)
Se 樽nt但lnesc ferestre de tipul:
- urmrirea etapelor execu釘iei unui algoritm elaborat 樽n cadrul lec釘iei
- indica釘ii asupra modului 樽n care trebuie rezolvate anumite cerin釘e
- fereastra Teorie care descrie amnun釘it baza teoretic necesar
pentru rezolvarea problemelor supuse aten釘iei elevului.
5. - fereastra Enun釘 red enun釘ul problemei 樽n timpul rezolvrii
acesteia, dac elevul solicit
- ferestre Ajutor dau indica釘ii suplimentare asupra modului interactiv
de completare a ferestrelor de dialog
- ferestre de dialog apar 樽n cazul 樽n care se solicit elevului s
completeze interactiv procedurile i func釘iile specifice metodei
backtracking pentru o problem dat
- ferestre de stabilire a parametrilor pentru anima釘ie se utilizeaz
pentru a personaliza simularea modului de execu釘ie a algoritmului 樽n
func釘ie de posibilit釘ile i caracteristicile psiho-individuale ale elevului
6. 2. Informa釘ii generale despre tema
prezentat
Produsul multimedia realizat ofer o perspectiv coerent, unitar i
constructiv asupra cunoaterii, utilizrii i implementrii tehnicii de programare
backtracking.
n cadrul acestei teme abordate backtracking au fost puse 樽n eviden釘
urmtoarele aspecte:
- definirea tehnicii de programare backtracking, cu accent pe problemele care
pot fi rezolvate prin aceast metod;
- prezentarea principalelor proceduri specifice metodei backtracking i
aplicarea acestora 樽n probleme concrete;
- formarea abilit釘ilor de construire a algoritmului backtracking utiliz但nd
metode activ-participative de tip joc.
Cuvinte cheie la aceast tem sunt: func釘ii, proceduri, stiv, list,
algoritm, limbaj pseudocod/limbaj de programare, recursivitate, matrice de
adiacen釘.
Materialul are o structur modularizat care permite folosirea 樽n mai multe
variante a intrumentelor puse la dispozi釘ie.
Sunt puse la dispozi釘ia elevului at但t module de teorie referitoare la tehnica
de programare backtracking, c但t i momente de evaluare pentru realizarea unui
feedback permanent, colectiv i care s pun 樽n lumin progresul 樽nregistrat de
elevi.
Fiecare lec釘ie con釘ine o tem pe care elevii trebuie s o elaboreze acas
sau 樽n timpul orelor de laborator.
7. 3. Obiective
Obiectiv Detaliere
Obiective de referin釘
R1 Utilizarea corect a no釘iunilor informatice, a vocabularului informatic
aferent i a elementelor specifice limbajului pseudocod.
R2 Prelucrarea datelor de tip calitativ i cantitativ cuprinse 樽n algoritmii
elabora釘i.
R3 Utilizarea corect a algoritmilor i a ra釘ionamentelor 樽n rezolvarea unor
probleme cu grade de dificultate diferite.
R4 Elaborarea etapelor de realizare a unei aplica釘ii 樽n urma analizei
acesteia.
R5 Exprimarea i redactarea corect a algoritmului 樽n limbaj pseudocod sau
limbaj de programare Pascal/C++.
Obiective opera釘ionale
OP1 S recunoasc tipurile de probleme care se rezolv prin tehnica
backtracking.
OP2 S identifice principiul de func釘ionare i s recunoasc pr釘ile esen釘iale
ale algoritmului: func釘ii i proceduri.
OP3 S rearanjeze func釘iile i procedurile pentru problema damelor.
OP4 S interpreteze i s stabileasc valorile variabilelor utilizate 樽n algoritm,
c但nd se dau valorile datelor de intrare, pentru o problem care se
rezolv prin tehnica backtracking.
OP5 S identifice i s recunoasc tehnica de programare backtracking
pentru o problem dat (problema comis-voiajorului i problema
labirintului).
OP6 S-i aminteasc procedurile de baz ale tehnicii backtracking forma
standard (nerecursiv).
OP7 S construiasc func釘iile i procedurile de baz ale tehnicii backtracking
i s creeze programul principal corespunztor care le apeleaz.
OP8 S modifice algoritmul creat utiliz但nd backtracking recursiv i s deduc
principalele schimbri care se impun prin 樽mbinarea celor dou tehnici
de programare (backtracking recursiv).
OP9 Fiind date valorile de intrare s in釘eleag modul de execu釘ie al
algoritmului construit prin backtracking recursiv.
OP10 S compare cele dou forme backtracking (recursiv nerecursiv) din
punct de vedere al eficien釘ei.
OP11 S aplice no釘iunile 樽nv釘ate la tehnica backtracking 樽n plan, 樽n problema
labirintului 樽n care trebuie s disting caracteristicile i principalele
modificri din func釘iile i procedurile standard.
OP12 Fiind date valorile de intrare 樽n problema labirintului s 樽n釘eleag modul
de execu釘ie al algoritmului construit.
8. OP13 S interpreteze i s stabileasc valorile variabilelor utilizate 樽n algoritm,
c但nd se dau valorile datelor de intrare, pentru problema labirintului.
9. 4. Structura general
4.1. Con釘inut
Se prezint lista obiectelor de con釘inut (notate cu M) i caracteristicile lor
generale.
M1 Joc Problema damelor
Obiective didactice OP1, OP2
Timp 10 minute
Tip de interac釘iune exerci釘iu, problematizare, descoperire
cu elevul
Descriere - prin acest joc elevul este pus 樽n fa釘a unei probleme cu date
concrete care-l determin s caute (s cerceteze) condi釘iile
樽n care se pot aeza patru dame pe tabla de sah.
M2 Exeplul practic: aranjarea mobilei intr-o casa
Obiective didactice OP1, OP2
Timp 5 minute
Tip de interac釘iune expunerea, observarea, descrierea
cu elevul
Descriere - este prezentat 樽ntr-o form atractiv captivant
modalitatea de aezare a mobilei 樽ntr-o cas;
- anima釘ia realizat, observat cu aten釘ie, conduce la ideea
de metod backtracking: aezi mobila 樽n cas 樽n toate
modurile posibile i o alegi pe cea care-釘i place mai mult.
M3 Opera釘ii pe stiv
Obiective didactice OP2
Timp 5 minute
Tip de interac釘iune expunerea, observarea, problematizarea, modelarea i
cu elevul simularea
Descriere - se definete stiva i principalele operatii care se fac pe
stiv;
- prin anima釘ia atractiv i sugestiv (vraf de farfurii) elevul
樽n釘elege mai bine mecanismul stivei (Last In First Out):
pentru a extrage o farfurie trebuie s le scoatem pe cele
situate deasupra, iar pentru a pune o farfurie, trebuie s o
aezm totdeauna deasupra celorlalte.
10. M4 Exemplificarea lucrului pe stiv
Obiective didactice OP2, OP4
Timp 5 minute
Tip de interac釘iune observarea, problematizarea, modelarea i simularea
cu elevul
Descriere - apel但nd acest modul, elevul 樽nva釘 modul de gestionare a
unei stive. Printr-o anima釘ie tridimensional, elevul afl:
- cum se elimin un element din stiv;
- cum se adaug un element 樽n stiv;
- cum se modifica un element 樽n stiv.
M5 Prezentarea ablonului de func釘ii i proceduri
Obiective didactice OP1, OP2
Timp 10 minute
Tip de interac釘iune explica釘ia, modelarea, problematizarea
cu elevul
Descriere - 樽n acest modul sunt prezentate func釘iile i procedurile
standard ale tehnicii de programare backracking.
M6 Generarea permutrilor
Obiective didactice OP2, OP2, OP3
Timp 25 minute
Tip de interac釘iune observa釘ia, problematizarea, modelarea i simularea
cu elevul
Descriere - modulul pune 樽n eviden釘 o succesiune de opera釘ii mintale
care conduc elevul spre 樽n釘elegerea clar a mecanismului
backtracking;
- permutrile de trei elemente (fiind reprezentate aici de trei
melodii) sunt generate pas cu pas, 樽n ritmul de 樽n釘elegere i
cu respectarea stilului cognitiv, a particularita釘ilor psiho-
individuale ale fiecrui elev.
11. M7 Problema generrii aranjamentelor de trei elemente luate c但te dou
Obiective didactice OP2, OP3, OP4
Timp 10 minute
Tip de interac釘iune explica釘ia, exerci釘iul, problematizarea, modelarea i simularea
cu elevul
Descriere - modulul con釘ine un joc prin care elevul este invitat s
construiasc aranjamentele de trei elemente luate c但te
dou.
- printr-o participare activ, elevul, aflat permanent 樽n
interac釘iune cu calculatorul, este condus spre construirea
aranjamentelor av但nd la dispozi釘ie stiva i cele patru cifre:
0 (ini釘ializare stiv), 1, 2 i 3 pentru construirea
aranjamentelor corespunztoare.
M8 Problema damelor
Obiective didactice OP2, OP3, OP4
Timp 15 minute
Tip de interac釘iune problematizare, descoperire, exerci釘iu, modelare i simulare
cu elevul
Descriere - prezentarea problemei damelor;
- explicarea modalit釘ii de rezolvare a acestei probleme prin
tehnica backtracking;
- elevul are ca sarcin de lucru s aeze 樽n ordine secven釘ele
de opera釘ii specifice fiecrei proceduri sau func釘ii;
- dup aceast interac釘iune a elevului cu programul, urmeaz
o etap de anima釘ie care are rolul de a exemplifica modul
de execu釘ie al algoritmului pentru cazul a patru dame.
M9 Joc Problema comis-voiajorului
Obiective didactice OP5, OP6
Timp 10 minute
Tip de interac釘iune exerci釘iu, problematizare, descoperire
cu elevul
Descriere - este un joc atractiv care 樽l pune pe elev 樽n situa釘ia de a
determina un ciclu hamiltonian 樽ntr-un graf dat.
12. M10 Problema comis-voiajorului rezolvare iterativ
Obiective didactice OP5, OP6, OP7
Timp 10 minute
Tip de interac釘iune observare, problematizare, 樽nv釘are dirijat
cu elevul
Descriere - 樽n acest modul se explic modalitatea de construire a
algoritmului backtracking iterativ pentru problema comis-
voiajorului;
- elevul este dirijat interactiv spre construirea func釘iilor si
procedurilor backtracking 樽n cazul problemei comis-
voiajorului.
M11 Problema comis-voiajorului rezolvare recursiv
Obiective didactice OP7, OP8, OP9
Timp 7 minute
Tip de interac釘iune observare, problematizare, 樽nv釘are dirijat
cu elevul
Descriere - printr-o participare activ, elevul, aflat permanent 樽n
interac釘iune cu calculatorul, este condus spre 樽n釘elegerea
mecanismului de utilizare a metodei backtracking recursiv.
M12 Problema comis-voiajorului implementare
Obiective didactice OP8, OP9, OP10
Timp 8 minute
Tip de interac釘iune observare, problematizare, modelare i simulare
cu elevul
Descriere - este un modul interactiv care conduce elevul spre
樽n釘elegerea mecanismului de execu釘ie a algoritmului care
utilizeaz backtracking-ul recursiv;
- se prezint, pas cu pas, in ritmul de 樽n釘elegere al elevului,
instruc釘iunile ce se execut (modul de gestionare a stivei
solu釘iilor i stivei de recursivitate).
M13 Joc Problema labirintului
Obiective didactice OP1, OP5
Timp 10 minute
Tip de interac釘iune exerci釘iu, problematizare, descoperire
cu elevul
Descriere - modulul con釘ine un joc problema labirintului;
- printr-o participare activ, utiliz但nd o anima釘ie captivant,
elevul 樽n釘elege mecanismul de rezolvare a problemei
labirintului care utilizeaz metoda backtracking 樽n plan.
13. M14 Problema labirintului rezolvare iterativ
Obiective didactice OP6, OP11, OP12
Timp 10 minute
Tip de interac釘iune observare, problematizare, 樽nv釘are dirijat
cu elevul
Descriere - 樽n acest modul se dau detalii 樽n legtur cu algoritmul
backtracking care trebuie construit pentru problema
labirintului;
- construirea func釘iilor i procedurilor specifice acestei
probleme se face interactiv.
M15 Problema labirintului implementare
Obiective didactice OP11, OP12, OP13
Timp 15 minute
Tip de interac釘iune observare, problematizare, modelare i simulare
cu elevul
Descriere - este un obiect de con釘inut bogat 樽n anima釘ii care descrie
modul de execu釘ie al algoritmului;
- urmrind cu aten釘ie acest modul interactiv, elevul 樽i
clarific i fundamenteaz succesiunea de opera釘ii logice
prin care, implement但nd metoda backtracking 樽n plan, se
poate rezolva problema labirintului.
14. 4.2. Recomandri de structurare i predare
mbinarea modulelor realizate pentru aceast lec釘ie este la latitudinea
fiecrui profesor, 樽n func釘ie de particularit釘ile psiho-individuale ale elevilor clasei.
1. Lec釘ia 1 (definirea i 樽n釘elegerea tehnicii de programare backtracking)
Obiect de con釘inut Timp (minute)
M2 5
M3 5
M4 5
M5 10
M6 10
Test 1 10
Tema 1 5
2. Lec釘ia 2 (implementarea tehnicii backtracking 樽n problema damelor)
Obiect de con釘inut Timp (minute)
M1 10
M7 10
M8 15
Test 2 10
Tema 2 5
3. Lec釘ia 3 (backtracking recursiv)
Obiect de con釘inut Timp (minute)
M9 10
M10 10
M11 7
M12 8
Test 3 10
Tema 3 5
4. Lec釘ia 4 (backtracking 樽n plan)
Obiect de con釘inut Timp (minute)
M13 10
M14 10
M15 15
Test 4 10
Tema 4 5
15. 5. Structura detaliat a
con釘inuturilor
5.1. Joc Problema damelor
Acest obiect de con釘inut are rolul de a familiariza elevul cu problema
damelor. Obiectul este interactiv i se prezint sub form de joc. Elevul trebuie
s aeze pe tabla de sah patru dame, astfel 樽nc但t ele s nu se atace. El trebuie
s respecte regulile jocului: damele s nu fie aezate pe aceeai linie, coloan
sau pe diagonal. Mutarea damelor este restric釘ionat de timp: elevul se va
樽ncadra 樽n 5 minute, perioada 樽n care el va determina toate situa釘iile posibile 樽n
care se pot aeza damele pe tabla de ah.
16. 5.2. Exemplu practic: aranjarea mobilei 樽ntr-o
cas
Acest modul prezint problema aranjrii mobilei 樽ntr-o cas. Sunt date
obiectele care constituie mobila casei. Acestea se deplaseaz ocup但nd camerele
casei 樽n toate modurile posibile. Anima釘ia atrage aten釘ia elevului i-l conduce spre
aflarea unei noi metode de programare: tehnica backtracking. Prin utilizarea
butonului se 樽ncepe anima釘ia. Aceasta se poate relua, ori de c但te ori dorete
elevul, apas但nd butonul .
17. 5.3. Opera釘ii pe stiv
Acest obiect este interactiv i are ca scop definirea no釘iunii de stiv,
precum i a opera釘iilor ce se pot face cu elementele unei stive: adugarea i
scoaterea unui element din stiv. Elevul are la dispozi釘ie urmtoarele butoane:
declaneaz anima釘ia, care prezint c但t se poate de sugestiv ce este o
stiv
reia anima釘ia pentru o 樽n釘elegere c但t mai bun.
n timpul anima釘iei, elevul particip activ la 樽n釘elegerea defini釘iei, utiliz但nd
aceleai butoane.
18. 5.4. Exemplificarea lucrului pe stiv
Este un obiect de con釘inut interactiv, care conduce elevul la fixarea
cunotin釘elor privind opera釘iile efectuate pe stiv i modul 樽n care se realizeaz
ele pe un exemplu concret.
Interactivitatea se realizeaz prin intermediul unor butoane , ,
, care permit declanarea anima釘iei, oprirea acesteia i reluarea la momentul
urmtor, 樽n func釘ie de posibilitatea de 樽ntelegere a elevului. Ini釘ial stiva con釘ine
un element A. La adugarea unui nou element B, se observ c acesta este
aezat primul. Dac dorim s eliminm din stiv elementul A, trebuie mai 樽nt但i s
fie scos elementul B i apoi elementul A. Anima釘ia, grafica, culorile, sunt realizate
pentru a pstra echilibrul psihologic, atractiv captivant i astfel elevul s fie
condus ctre o percepere optim a lucrului pe stiv.
19. 5.5. Prezentarea ablonului de func釘ii i
proceduri
n acest obiect sunt prezentate procedurile i func釘iile specifice metodei
backtracking: succesor, validare, init, solu釘ie i tipar. Acestea sunt prezentate 樽n
pseudocod i vor fi completate 樽n func釘ie de problema pe care elevul o are de
rezolvat. Se recomand 樽nainte de studierea acestor proceduri, s se studieze cu
mult aten釘ie teoria legat de backtracking, care poate fi accesat prin utilizarea
butonului .
20. 5.6. Generarea permutrilor
Acest obiect este interactiv. Rolul lui este de a exemplifica modul de
gestionare a stivei 樽ntr-o problem concret de backtracking: construirea
permutrilor de trei elemente. Elevul urmrete modalitatea de umplere a stivei,
dup tehnica backtracking. n paralel, se eviden釘iaz opera釘iile care se execut 樽n
algoritmul backtracking i astfel elevul face corela釘ia 樽ntre gestionarea stivei i
logica acestei tehnici de programare.
Respect但nd particularit釘ile psiho-individuale ale elevului, obiectul con釘ine
dou butoane cu care anima釘ia se poate relua, opri sau continua. Prin
interac釘iunea elevului cu programul este pus 樽n lumin succesiunea de opera釘ii
mintale care conduc la construirea celor ase permutri.
21. 5.7. Problema generrii aranjamentelor
Este un obiect interactiv sub forma unui joc. Elevul are la dispozi釘ie
elementul 0 (pentru ini釘ializarea stivei) i 1, 2, 3 cu care s construiasc
aranjamente de dou elemente. Se eviden釘iaz astfel principiul backtracking i se
realizeaz o auto-evaluare a elevului 樽n ceea ce privete corectitudinea 樽n釘elegerii
acestei tehnici de programare.
n momentul 樽n care elevul a 樽ncrcat greit stiva, este aten釘ionat i i se
precizeaz precedura din schema backtacking care nu a fost apelat.
22. 5.8. Problema damelor
Acest moment al lec釘iei este un moment interactiv i are ca scop
rezolvarea problemei damelor prin tehnica backtacking. Elevului i se prezint
opera釘iile ce se execut 樽n cadrul algoritmului backtracking pentru aceast
problem. El trebuie s identifice opera釘iile pentru fiecare procedur. Dac
alegerea nu este bine fcut, primete indica釘ii i este condus spre rezolvarea
corect a problemei. Dup stabilirea procedurilor, 樽ncepe implementarea
algoritmului pentru cele patru dame. La fiecare pas se explic elevului opera釘iile
care se efectueaz 樽n algoritm, p但n la gsirea complet a tuturor solu釘iilor.
23. 5.9. Joc Problema comis-voiajorului
Este un obiect de con釘inut interactiv, de tip joc.
Exist o interac釘iune permanent a elevului cu calculatorul pentru gsirea
drumului pe care trebuie s-l parcurg comis-voiajorul; el trebuie s respecte
urmtoarele reguli:
- s viziteze toate casele
- s treac o singur data pe la fiecare cas
Jocul 樽ncepe 樽n momentul 樽n care elevul acceseaz butonul . n
acest moment se declaneaz cronometrul i rezolvarea problemei trebuie s se
fac 樽n 7 minute. Dac elevul a greit traseul, exist butonul care 樽i
permite s reia totul de la 樽nceput. n momentul gsirii solu釘iei, elevului i se
comunic timpul 樽n care a gsit drumul cutat. Utiliz但nd butonul se
reamintesc o serie de no釘iuni necesare elaborrii algoritmului problemei. Butonul
comunic elevului ce competen釘e dob但ndete 樽n urma parcurgerii
acestui set de module.
24. 5.10. Problema comis-voiajorului rezolvare
iterativ
Acest obiect de con釘inut are rolul de a elabora algoritmul rezolvrii
problemei comis-voiajorului prin metoda iterativ. Elevul este solicitat s rezolve
interactiv problema. Din ferestrele procedure i respectiv function 樽i alege pe
r但nd fiecare din acestea, pe care le completeaz cu instruc釘iunile pseudocod
specifice problemei comis-voiajorului.
Butonul trebuie accesat 樽naintea construirii procedurilor. n acest
moment se deschide fereastra Ajutor care ofer indica釘ii cu privire la modul 樽n
care se completeaz procedurile i func釘iile pentru implementarea iterativ a
metodei backtracking.
25. 5.11. Problema comis-voiajorului rezovare
recursiv
Prin parcurgerea acestui modul, elevul 樽i formeaz deprinderea de a
utiliza metoda backtracking 樽n forma recursiv. Este un obiect de con釘inut
interactiv.
Se deschid dou ferestre de dialog: function succesor si procedure
bkt(k). Cele dou proceduri se completeaz de ctre elev, care urmrete 樽n
continuare no釘iunile teoretice prin folosirea butonului .
n cadrul ferestrelor exist butonul . Prin accesarea lui, elevul
primete rspuns dac a rezolvat corect sau nu cerin釘a. n cazul 樽n care
rezolvarea este incorect, are dreptul la un numar maxim de 6 樽ncercri. n final,
dac nu gsete rezolvarea corect i se ofer solu釘ia i este aten釘ionat c nu a
reuit s descopere singur varianta corect.
26. 5.12. Problema comis-voiajorului
implementare
Prin acest obiect de con釘inut se pune 樽n eviden釘 succesiunea de
opera釘ii/instruc釘iuni care se execut 樽n cadrul algoritmului backtracking recursiv
pentru problema comis-voiajorului.
Este un obiect de con釘inut interactiv. Elevul urmrete pas cu pas modul
de construire a solu釘iilor pe stiva solu釘iilor i 樽n acelai timp poate vizualiza
modul de gestionare a segmentului de stiv ataat recursivit釘ii.
Anima釘ia se desfoar automat sau poate fi condus de elev, 樽n ritmul pe
care 樽l dorete, stabilind prin intermediul ferestrei de dialog viteza de rulare.
27. 5.13. Joc Problema labirintului
Este un moment interactiv de tip joc. Acesta capteaz aten釘ia elevului care
trebuie s se deplaseze printr-un anumit labirint. Anima釘ia atractiv i captivant
conduce la 樽n釘elegrea problemei i a mecanismului backtracking 樽n plan.
Explica釘ia jocului se ob釘ine prin accesarea butonului , iar butonul
folosete pentru fixarea vitezei de deplasare a cavalerului 樽n func釘ie de ritmul de
樽n釘elegere al elevului.
28. 5.14. Problema labirintului rezolvare iterativ
Se explic elevului modul 樽n care sunt memorate datele de intrare 樽n
problema labirintului. Acest lucru se ob釘ine dac facem click pe grupul de cuvinte
Matricea de adiacen釘. n acest caz sunt prezentate datele de intrare i
codificarea acestora.
n secven釘a principal, fc但nd click pe procedurile init, succesor i tipar,
se deschid ferestre de dialog care solicit aten釘ia elevului i 樽l antreneaz 樽n
completarea acestora.
29. 5.15. Problema labirintului implementare
n acest moment al lec釘iei, elevul este dirijat spre 樽n釘elegerea logic a
modului de execu釘ie a algoritmului elaborat la pasul anterior.
Aez但nd mouse-ul pe suprafe釘ele matricei situat 樽n partea dreapt sus,
sunt explicate elevului codificrile pentru sensul de deplasare.
Exist de asemenea butonul care fixeaz viteza de derulare a
anima釘iei.
Declanarea anima釘iei, 樽n cazul 樽n care ea nu este automat, este condus
de elev prin mouse. Este simulat modul de gestionare a valorilor ce indic pozi釘ia
cavalerului 樽n ficare moment: linia, coloana i direc釘ia.
Aceste valori sunt trecute 樽n trei stive, reprezentate tridimensional, iar la
gsirea unei solu釘ii, acestea sunt exemplificate pe matricea de adiacen釘.
Simularea etapelor de gsire a solu釘iilor, exemplific elevului succesiunea de
opera釘ii mintale care conduc la descoperirea rezultatului.
30. 6. Teste de evaluare
6.1. Testul 1
Problema 1
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Dac pentru nivelul k oarecare al vectorului solu釘ie am verificat toate valorile
posibile:
a) algoritmul se 樽ncheie
b) se revine pe nivelul anterior
c) se trece pe nivelul urmtor
Problema 2
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Dup ce s-a gsit o valoare convenabil pentru componenta k, urmtorul pas
este:
a) se trece la componenta urmtoare (k+1), dac nu s-a ajuns la o solu釘ie
b) se rm但ne la componenta k, cut但nd 樽n continuare o alt valoare convenabil
c) se revine la componenta k-1
Problema 3
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
n ce condi釘ii se revine la componenta anterioar?
a) dup ce am gsit o valoare convenabil pentru componenta k
b) dac valoarea testat pentru componenta k nu convine
c) dac am testat toate valorile posibile pentru componenta k
Problema 4
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
n ce condi釘ii se trece de la componenta k la componenta k+1?
a) dup ce am gsit o valoare convenabil pentru componenta k
b) dup ce am testat toate valorile posibile pentru componenta k
c) dac nu am gsit nici o valoare convenabil pentru componenta k
31. Problema 5
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Ini釘ializarea componentei st[k] se realizeaz:
a) c但nd se trece de pe nivelul k-1 pe nivelul k
b) c但nd se revine de pe nivelul k+1 pe nivelul k
c) c但nd pe nivelul k+1 au fost testate toate valorile posibile
Problema 6
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Algoritmul se 樽ncheie dac:
a) s-au testat toate valorile posibile pentru primul nivel
b) s-au testat toate valorile posibile pentru ultimul nivel
c) pe un nivel oarecare, k, nu am gsit nici o valoare care s verifice condi釘iile de
continuare
Problema 7
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Dup gsirea unei solu釘ii, pasul urmtor este:
a) se revine pe nivelul anterior
b) se rm但ne pe acelai nivel, test但ndu-se urmtoarea valoare disponibil
c) se 樽ncheie algoritmul
Problema 8
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
n cazul stivei, 樽ntotdeauna se permite accesul direct la:
a) prima component introdus
b) ultima component introdus
c) toate componentele sale
32. Problema 9
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Se d o stiv implementat cu ajutorul unui vector S. n stiv s-au introdus, 樽n
aceast ordine, numerele 1 si 2; S=(1,2). Dac se noteaza cu PUSH(n) opera釘ia
prin care se adaug informa釘ia x 樽n stiv i cu POP opera釘ia prin care se scoate
un element din stiv, care este rezultatul opera釘iilor:
POP, PUSH(3), PUSH(6), POP, PUSH(5)
a) S=(3,6,5)
b) S=(3,6,5)
c) S=(1,3,5)
33. 6.2. Testul 2
Problema 1
Punctaj: 1 Timp: 1 minut Obiectiv: OP1, OP2, OP4
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Care este numrul maxim de elemente din stiv?
a) n
b) p
c) n+p
Problema 2
Punctaj: 1 Timp: 1 minut Obiectiv: OP1, OP2, OP4
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Care este condi釘ia de validare?
a) elementele puse 樽n stiv s fie consecutive
b) elementele puse 樽n stiv s fie nenule
c) elementele puse 樽n stiv s fie distincte
Problema 3
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Pentru a evita repeti釘ia, elementele se aeaz 樽n stiv 樽n ordine cresctoare: pe
nivelul k se va afla o valoare mai mare dec但t pe nivelul k-1 i mai mic dec但t n-
p+k.
Folosind cunotiin釘ele acumulate, alege secven釘a de cod pentru urmtorul
subprogram:
procedure init(k,st)
if k>1 then ...
a) st[k]<-1
b) st[k]<-st[k+1]
c) st[k]<-st[k-1]
d) st[k]<-0
34. Problema 4
Punctaj: 1 Timp: 1 minut Obiectiv: OP2, OP4
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Pentru a evita repeti釘ia, elementele se aeaz 樽n stiv 樽n ordine cresctoare: pe
nivelul k se va afla o valoare mai mare dec但t pe nivelul k-1 i mai mic dec但t n-
p+k.
Folosind cunotiin釘ele acumulate, alege secven釘a de cod pentru urmtorul
subprogram:
procedure init(k,st)
if k>1 then st[k]<-st[k-1]
else if k=1 then ...
endif
a) st[k]<-1
b) st[k]<-st[k+1]
c) st[k]<-st[k-1]
d) st[k]<-0
Problema 5
Punctaj: 1 Timp: 1 minut Obiectiv: OP2, OP4
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Pentru a evita repeti釘ia, elementele se aeaz 樽n stiv 樽n ordine cresctoare: pe
nivelul k se va afla o valoare mai mare dec但t pe nivelul k-1 i mai mic dec但t n-
p+k.
Folosind cunotiin釘ele acumulate, alege secven釘a de cod pentru urmtorul
subprogram:
procedure succesor(k,st,as)
if ... then
st[k] <- st[k]+1
as <- true
else as <- false
endif
a) st[k]<n-p+k
b) st[k]<n+p-k
c) st[k]<n
d) st[k]<=n-p+k
35. Problema 6
Punctaj: 1 Timp: 1 minut Obiectiv: OP2, OP4
Enun釘ul problemei:
Se citesc n i p numere naturale, n>=p. S se genereze toate submul釘imile cu p
elemente ale mul釘imii {1,2,......n}.
Pentru a evita repeti釘ia, elementele se aeaz 樽n stiv 樽n ordine cresctoare: pe
nivelul k se va afla o valoare mai mare dec但t pe nivelul k-1 i mai mic dec但t n-
p+k.
Folosind cunotiin釘ele acumulate, alege secven釘a de cod pentru urmtorul
subprogram:
procedure validare(k,st,ev)
...
a) ev<-true
for i<-1,k-1 do
if st[k]=st[i] then ev<-false
endif
b) ev<-true
c) ev<-true
if st[k]=st[n] then ev<-false
endif
d) ev<-true
if st[k]=st[k-1] then ev<-false
endif
Problema 7
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
n cazul problemei damelor pe tabla de ah:
a) mul釘imile S1, S2,..., Sn coincid
b) elementele s1, s2,..., sn coincid
c) mul釘imile S1, S2,..., Sn sunt distincte
Problema 8
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Tabloul 樽n care se re釘ine solu釘ia pentru problema aranjamentor este de fapt:
a) un tablou bidimensional
b) o coad
c) nici una din variantele de mai sus
36. Problema 9
Punctaj: 1 Timp: 1 minut Obiectiv: OP2
Enun釘ul problemei:
Costel a implementat metoda backtracking pentru a tipri toate cuvintele formate
cu cele cinci litere ale cuv但ntului ASTRU. Programul tiprete un ir de cuvinte
separate prin spa釘iu 樽n ordinea alfabetic. Care este cuv但ntul tiprit chiar 樽n fa釘a
cuv但ntului RASTU?
a) SUART
b) RASUT
c) SUTRA
d) RAUTS
37. 6.3. Testul 3
Problema 1
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Fie un program care implementeaz metoda backracking pentru determinarea
numerelor naturale cu ajutorul cifrelor 1,2,3,4,5. Numerele vor con釘ine toate cele
5 cifre distincte i vor fi construite 樽n ordine cresctoare. Ce numr va fi tiprit
dup 31245?
a) 25413
b) 31254
c) 25431
d) 21345
Problema 2
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Fie un program care implementeaz metoda backtracking pentru determinarea
numerelor naturale cu ajutorul cifrelor 1,2,3,4,5. Numerele vor con釘ine toate cele
5 cifre distincte i vor fi construite 樽n ordine cresctoare. C但te numere tiprete
programul?
a) mai pu釘in de 100
b) 100
c) 120
d) mai mult de 120
Problema 3
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Fie un program care implementeaz metoda backtracking pentru determinarea
numerelor naturale cu ajutorul cifrelor 1,2,3,4,5. Numerele vor con釘ine toate cele
5 cifre distincte i vor fi construite 樽n ordine cresctoare. Numrul 21453 va fi
tiprit:
a) al 20-lea
b) al 28-lea
c) al 31-lea
d) nu se poate preciza
38. Problema 4
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Fie un program care implementeaz metoda backtracking pentru determinarea
numerelor naturale cu ajutorul cifrelor 1,2,3,4,5. Numerele vor con釘ine toate cele
5 cifre distincte i vor fi construite 樽n ordine cresctoare. naintea numrului
31245 va fi tiprit numrul:
a) 25413
b) 31254
c) 25431
d) 21345
Problema 5
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
n utilizarea tehnicii backtracking, varianta recursiv:
a) revenirea din autoapel este echivalent cu trecerea la nivelul urmator din
varianta nerecursiv
b) revenirea din autoapel este echivalent cu trecerea la nivelul anterior din
varianta recursiv
c) nu se revine niciodat la nivelul anterior
d) se revine la nivelul anterior la 樽ncheierea algoritmului
Problema 6
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
n probleme care utilizeaz backtracking recursiv, care din urmtoarele afirma釘ii
este adevrat?
a) func釘ia back se autoapeleaz pentru valoarea urmtoare a aceluiai nivel din
stiv
b) func釘ia back se autoapeleaz pentru urmtorul nivel din stiv
c) func釘ia back se autoapeleaz pentru nivelul urmtor din stiv fr a mai gsi
succesorul elementului
d) func釘ia back se autoapeleaz fr a se 釘ine seama de nivelul din stiv
39. Problema 7
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
n problema damelor, se implementeaz metoda backtracking recursiv.
Procedura bkt afieaz toate modalit釘ile posibile de aezare a 4 dame pe tabla
de ah.
Func釘ia validare testeaz dac valoarea pus pe nivelul k a generat o solu釘ie
valid, return但nd true sau false.
Pune釘i 樽n locul punctelor de suspensie variante potrivite (scrierea este 樽n
pseudocod).
function validare(k)
posibil<-true
for i=1,k-1 do
if ... then posibil<-false
endif
endfor
validare<-posibil
return
a) (st[k]=st[i]) and (abs(st[k]-st[i])=abs(k-i))
b) (st[k]=st[i]) or (abs(st[k]-st[i])=abs(k-i))
c) (st[k]<>st[i]) and (abs(st[k]-st[i])=abs(k-i))
d) (st[k]<>st[i]) or (abs(st[k]-st[i])=abs(k-i))
Problema 8
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
n problema damelor, se implementeaz metoda backtracking recursiv.
Procedura bkt afieaz toate modalit釘ile posibile de aezare a 4 dame pe tabla
de ah.
Pune釘i 樽n locul punctelor de suspensie varianta potrivit:
procedure bkt(k)
for i=1,4 do
....
endfor
return
a) if k=1 then tipar
else for i=1,4 do
st[k]<-i
bkt(k+1)
endfor
endif
40. b) st[k]<-i
if valid(k) then
if k=5 then tipar
else bkt(k+1)
endif
endif
c) if k<4 then
for i=1,4 do
st[k]<-i
bkt(k+1)
endfor
else tipar
endif
Problema 9
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
n procedura BKT se afieaz toate elementele produsului cartezian MxMxMxM
unde M={1,2,...n}; st este un vector de numere 樽ntregi, iar procedura tipar
afieaz elementele st[1],st[2],...st[4].
procedure bkt(k)
...
return
Alege釘i din variantele de mai jos secven釘a care trebuie aezat 樽n locul punctelor
de suspensie pentru a ob釘ine un rezultat eronat la apelul bkt(1).
a) for i=1,4 do
st[k]<-i
if k=n then tipar
else bkt(k+1)
endif
endfor
b) if k=4 then tipar
else for i=1,4 do
st[k]<-i
bkt(k+1)
endfor
endif
c) if k<5 then for i=1,n do
st[k]<-i
bkt(k+1)
endfor
else tipar
endif
41. 6.4. Testul 4
Problema 1
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Pe o tabl de ah de dimensiune mxn se gsete un cal 樽n pozi釘ia (l0, c0). Se
樽ncearc determinarea tuturor modalit釘ilor prin care acesta poate s treac de 2
ori prin acelai loc tiind c un cal situat 樽ntr-un punct dat poate sri 樽n 8 direc釘ii
afiate 樽n figura alturat.
8 1
7 2
*
6 3
5 4
Care dintre urmtoarele afirma釘ii este adevrat:
a) vectorul solu釘ie are n componente
b) vectorul solu釘ie are m componente
c) vectorul solu釘ie are mxn componente
Problema 2
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Din punctul k, caracterizat de coordonatele (st[k].l, st[k].c) se poate ajunge 樽ntr--
unul din punctele:
a) (st[k].l-1, st[k].c+1)
b) (st[k].l-2, st[k].c+1)
c) (st[k].l-1, st[k].c+2)
d) (st[k].l+1, st[k].c+1)
e) (st[k].l+1, st[k].c+2)
f) (st[k].l-2, st[k].c+2)
42. Problema 3
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Alege釘i varianta corect de scriere pentru procedura init, unde (l1, c1) reprezint
pozi釘ia csu釘ei de pe tabl unde calul se poate deplasa 樽n mod valid din pozi釘ia k-
1.
a) procedure init(k)
st[k].l<-l0
st[k].c<-c0
return
b) procedure init(k)
st[k].d<-0
return
c) procedure (k)
st[k].d<-1
if k=1 then st[k].l<-l0
st[k].c<-c0
else st[k].l<-l1
st[k].c<-c1
return
d) procedure (k)
st[k].d<-0
if k=1 then st[k].l<-l0
st[k].c<-c0
else st[k].l<-l1
st[k].c<-c1
return
Problema 4
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Dac (l, c) reprezint o pozi釘ie valid a calului atunci alege釘i condi釘ia corect:
a) (l>1) or (c>1) or (l>m) or (c>n)
b) (l>1) and (c>1) and(l>m) and (c>n)
c) (l>1) and (c>1) and (l<m) and (c<n)
d) (l>=1) and (c>=1) and (l<=m) and (c<=n)
43. Problema 5
Punctaj: 1 Timp: 1 minut
Enun釘ul problemei:
Determina釘i condi釘iile corecte de continuare ce trebuiesc 樽ndeplinite de procedura
valid:
a) pozi釘ia aleas nu trebuie s fie 樽n afara tablei de ah
b) calul nu trebuie s se 樽ntoarc la punctul de unde tocmai a venit dar poate
reveni mai t但rziu 樽n acest punct
c) calul nu poate trece de mai multe ori prin acelai loc
Problema 6
Punctaj: 2 Timp: 2 minute
Enun釘ul problemei:
Alege釘i varianta corect de scriere a func釘iei solutie:
a) function solutie(k)
if k=m*n then solutie<-true
else solutie<-false
endif
return
b) function solutie(k)
if k=m then solutie<-true
else solutie<-false
endif
return
c) function solutie(k)
if k=m then solutie<-true
else solutie<-false
endif
return
Problema 7
Punctaj: 2 Timp: 2 minute
Enun釘ul problemei:
Alege釘i varianta corect de scriere a procedurii tipar:
a) procedure tipar(k)
write(st[k].l, st[k].c)
return
b) procedure tipar(k)
for i=1, n do write(st[i],l, st[k].c) endfor
return
c) procedure tipar(k)
for i=1, k do write(st[i].l) write(st[i].c) endfor
return
44. 7. Teme pentru acas
7.1. Tema 1
Problema 1
Fie n cuburi, etichetate de la 1 la n (n 200) de laturi Li, i culori Ci, i=1...n. S
se aranjeze cele n cuburi 樽n turnuri de k cuburi, astfel 樽nc但t s fie stabile ( nu se
va aranja un cub mai mare peste un cub mai mic), iar culorile cuburilor alturate
trebuie s fie diferite.
S se descrie algoritmul de rezolvare a problemei date folosind tehnica
backtracking.
Indica釘ie: - pentru introducerea datelor se folosete o matrice a cuburilor cu n
linii i dou coloane ) pe prima coloan latura cubului, iar pe coloana
a doua culoarea).
Problema 2
S se determine toate modurile 樽n care se poate perfora un bilet de autobuz. Un
bilet are 9 puncte de perforare posibile:
* * *
* * *
* * *
Un bilet poate fi introdus 樽n aparat pe o singur fa釘.
45. 7.2. Tema 2
Problema 1
Determina釘i toate modurile de scriere a unui numr natural ca sum de numere
prime distincte.
Indica釘ie: - Se genereaz 樽ntr-un tablou unidimensional toate numerele prime
mai mici dec但t numrul dat.
Problema 2
Se consider o mul釘ime cu n elemente i un numr natural k nenul.
S se calculeze c但te submul釘imi cu k elemente satisfac pe r但nd condi釘iile de mai
jos i s se afieze aceste submul釘imi.
a) con釘in p obiecte date;
b) nu con釘in nici unul din q obiecte date;
c) con釘in exact un obiect din p obiecte date;
d) con釘in r obiecte din p obiecte date dar nu con釘in alte q obiecte.
46. 7.3. Tema 3
Problema 1
C但tigtorul unui premiu 樽n valoare de v lei poate s aleag din n tipuri de
obiecte 樽n valoare de v1, v2,...,vn, astfel 樽nc但t obiectele alese s aib valoarea
total v. tiind c exist m1 obiecte de tipul 1, m2 obiecte de tipul 2,..., mn
obiecte de tipul n, determina釘i toate alegerile posibile ce 樽ndeplinesc condi釘ia
cerut.
Problema 2
O caravan format din n cmile cltorete prin deert 樽n ir indian. Beduinul se
hotrte s schimbe aezarea cmilelor astfel 樽nc但t fiecare cmil s nu mai
vad 樽n fa釘a ei aceeai cmil de p但na atunci. Care sunt posibilit釘ile de a aeza
cmilele?
47. 7.4. Tema 4
Problema 1
Un cal i un rege se afl pe o tabl de ah. Unele c但mpuri ale tablei sunt "arse",
pozi釘iile lor fiind cunoscute. Calul nu poate clca pe c但mpuri "arse", iar orice
micare a calului face ca respectivul c但mp s devin "ars". S se afle dac exist
o succesiune de mutri permise (cu restric釘iile de mai sus), prin care calul s
poat ajunge la rege i s revin la pozi釘ia ini釘ial. Pozi釘ia ini釘ial a calului,
precum i pozi釘ia regelui sunt considerate "nearse".
Problema 2
Se d un caroiaj dreptunghiular de n linii i n coloane. n fiecare celul se afl un
numr 樽ntreg din intervalul [0, 15] a crui reprezentare binar pe 4 pozi釘ii indic
ieirile posibile spre celulele alturate 樽n ordinea N, E, S, V. Ieirea intr-o anumit
direc釘ie este posibil dac i numai dac bitul corespunztor acelei direc釘ii este 1.
S se elaboreze un program recursiv care s determine dac dintr-o celul
oarecare a caroiajului, ale crui coordonate sunt cunoscute, se poate iei 樽n afara
lui. n caz afirmativ se vor afia toate drumurile posibile numerot但nd solut釘iile.
Indica釘ie: Dac numrul dintr-o celul este 11 atunci reprezentarea binar va fi
1011 i deci direc釘iile posibile sunt N, S i V.
48. 8. Bibliografie:
Informatic: - clasa a x-a Tudor Sorin Editura L&S
Informatic: - clasa a x-a George Daniel Mateescu Editura Petrion
Pavel Florin Moraru
Otilia Sofran
Informatic: - Probleme propuse i rezolvate Rodica Cherciu - Editura Niculescu
Dan Grigoriu
Irina Iosupescu
Cecilia Blnescu
Simona Petrescu
Marcel Homorodean