Sunteți pe pagina 1din 63

Palatul Copiilor Drobeta Turnu Severin

Filiala Orova

S nvm programare
jucndu-ne n Scratch
Curs pentru nceptori
Auxiliar curricular

Prof. Mihai Agape

Orova
2016

S nvm programare jucndu-ne n Scratch

Cuprins
CUVNT NAINTE .......................................................................................................................................... 3
1

SCURT INTRODUCERE N LIMBAJUL SCRATCH ..................................................................................... 4


1.1
1.2
1.3
1.4
1.5

MICARE I SUNET ............................................................................................................................... 7


2.1
2.2
2.3
2.4
2.5

INTRODUCERE.............................................................................................................................................. 20
TUTORIAL: SUNETE, VOCI, MUZIC .................................................................................................................. 20
TRANSFER ................................................................................................................................................... 21

CREAREA ANIMAIILOR ...................................................................................................................... 22


9.1
9.2
9.3

10

INTRODUCERE.............................................................................................................................................. 18
TUTORIAL: VORBIREA .................................................................................................................................... 18
TRANSFER ................................................................................................................................................... 19

SUNETE, VOCI I MUZIC.................................................................................................................... 20


8.1
8.2
8.3

INTRODUCERE.............................................................................................................................................. 16
TUTORIAL: CREAREA UNUI PERSONAJ ............................................................................................................... 16
TRANSFER ................................................................................................................................................... 17

VORBIRE I GNDIRE .......................................................................................................................... 18


6.1
6.2
6.3

INTRODUCERE.............................................................................................................................................. 13
TUTORIAL 1: MODIFICAREA CULORII ................................................................................................................ 13
TUTORIAL 2: CONTROLAREA ACIUNILOR DIN TASTE ............................................................................................ 14
TRANSFER ................................................................................................................................................... 15

CREEAZ-I PROPRIILE PERSONAJE ..................................................................................................... 16


5.1
5.2
5.3

INTRODUCERE.............................................................................................................................................. 10
TUTORIAL 1: IAR I IAR .................................................................................................................................. 10
TUTORIAL 2: STEAGUL VERDE ......................................................................................................................... 11
TRANSFER ................................................................................................................................................... 12

S NE JUCM CU CULORILE ................................................................................................................ 13


4.1
4.2
4.3
4.4

INTRODUCERE................................................................................................................................................ 7
TUTORIAL 1: S FACEM PUIN MICARE ............................................................................................................ 7
TUTORIAL 2: ADUGAREA UNUI SUNET............................................................................................................... 8
TUTORIAL 3: E TIMPUL PENTRU DANS ................................................................................................................. 8
TRANSFER ..................................................................................................................................................... 9

EVENIMENTE I CONTROL .................................................................................................................. 10


3.1
3.2
3.3
3.4

CE ESTE SCRATCH? ......................................................................................................................................... 4


EDITORUL SCRATCH 2.0 - ONLINE SAU OFFLINE? .................................................................................................. 4
INTERFAA SCRATCH 2.0 ................................................................................................................................. 4
SALUT!......................................................................................................................................................... 6
REMIXEAZ ................................................................................................................................................... 6

INTRODUCERE.............................................................................................................................................. 22
TUTORIAL: CREEAZ ANIMAII ........................................................................................................................ 22
TRANSFER ................................................................................................................................................... 23

ROBOT CARE MERGE LA INT ........................................................................................................... 24


Pagina 1 din 61

S nvm programare jucndu-ne n Scratch


10.1
10.2
10.3
10.4
10.5
10.6
11

ROBOT CARE EVIT OBSTACOLELE ...................................................................................................... 38


11.1
11.2
11.3
11.4
11.5

12

CE ESTE UN ROBOT CARE URMRETE PERETELE? ........................................................................................... 43


SENZORUL DE DISTAN ............................................................................................................................ 43
ROBOT CARE URMRETE PERETELE CU AJUTORUL UNUI SINGUR SENZOR ............................................................ 45
ROBOT CARE URMRETE PERETELE CU AJUTORUL A DOI SENZORI ...................................................................... 46

ROBOT URMRITOR DE LINIE ............................................................................................................. 48


13.1
13.2
13.3

14

CE ESTE UN ROBOT CARE EVIT OBSTACOLELE? .............................................................................................. 38


SENZORI TACTILI ...................................................................................................................................... 39
EVITAREA OBSTACOLELOR ......................................................................................................................... 40
MAI MULTE TESTE, MAI MULT DISTRACIE................................................................................................... 40
DOI ROBOI PE SCEN .............................................................................................................................. 42

ROBOT CARE URMRETE PERETELE................................................................................................... 43


12.1
12.2
12.3
12.4

13

INIIALIZAREA POZIIEI I ORIENTRII PERSONAJULUI PE SCEN.......................................................................... 24


DEPLASEAZ-L PE KAREL LA INT ............................................................................................................... 24
LIMITEAZ VITEZA .................................................................................................................................... 25
TREI INTE ............................................................................................................................................. 27
DRAWBOT.............................................................................................................................................. 31
INT MOBIL ........................................................................................................................................ 37

CE ESTE UN ROBOT CARE URMRETE LINIA? ................................................................................................. 48


ROBOT CARE URMRETE LINIA CU AJUTORUL A DOI SENZORI ........................................................................... 49
ROBOT URMRITOR DE LINIE CU 12 SENZORI................................................................................................. 50

ROBOT CARE SOLUIONEAZ LABIRINTUL DIN LINII ............................................................................ 53


14.1
14.2
14.3
14.4

INTRODUCERE N LABIRINT ......................................................................................................................... 53


REZOLVAREA LABIRINTULUI - PROVOCARE ..................................................................................................... 54
SOLUIE PENTRU REZOLVAREA LABIRINTULUI ................................................................................................. 54
SOLUIE MBUNTIT PENTRU REZOLVAREA LABIRINTULUI ............................................................................ 54

BIBLIOGRAFIE.............................................................................................................................................. 56
LIST DE FIGURI .......................................................................................................................................... 57
ANEXA A - REGULAMENTUL CONCURSULUI INTERNAIONAL DE PROGRAMARE N SCRATCH SCRIPT ............ 59

Pagina 2 din 61

S nvm programare jucndu-ne n Scratch

Cuvnt nainte
Bine ai venit la cursul S nvm programare jucndu-ne n Scratch, unde te vei juca
pentru a nva s programezi.
Scratch este un limbaj de programare destinat copiilor, dezvoltat de grupul Lifelong
Kindergarten din cadrul MIT Media Lab. Scratch este un mediu de programare grafic
prietenos, n care poi s creezi animaii, jocuri, muzic, simulri, poveti
Proiectele Scratch sunt realizate din obiecte numite personaje. Poi modifica modul n care
arat un personaj folosind diferite costume. Poi face un personaj s arate ca o persoan, un
tren, un fluture sau orice altceva. Poi folosi orice imagine ca i costum: poi desena o
imagine n Editorul Grafic, o poi importa de pe hard disc sau de pe un site web i chiar poi
s-o capturezi cu camera de pe laptop. Poi s-i dai instruciuni personajului, spunndu-i s se
deplaseze, s cnte, s vorbeasc sau s reacioneze la celelalte personaje. Pentru a-i spune
personajului ce s fac, mbini mpreun blocuri grafice n stive numite scripturi. Cnd
clichezi pe un script, Scratch ruleaz blocurile din script ncepnd de la partea de sus ctre
partea de jos.
n acest curs introductiv vei nva rapid cum s foloseti cteva dintre posibilitile oferite
de Scratch. n prima parte vei nva lucrurile de baz precum: micarea personajelor,
adugarea sunetelor, schimbarea culorilor, controlarea aciunilor cu mouse-ul i tastatura i
crearea propriilor personaje. n partea a doua vei nva s programezi diferite
comportamente pentru robotul Karel.
Sloganul cursului nostru este:
-

Exploreaz proiectele altor utilizatori


Scratch de pe site-ul oficial Scratch.
Proiecteaz concepe proiecte
Scratch scriind scenarii, crend
personaje i decoruri.
Programeaz scrie scripturile pentru
personaje i decoruri.
mprtete proiectul pe site-ul
oficial Scratch.

Prezentul auxiliar curricular are la baz dou lucrri ale subsemnatului: auxiliarul curricular
Scratch Curs pentru nceptori 2011 [1] i cursul Robo Scratch [2], publicat pe platforma
Moodle a portalului Scientix. Cursul este tradus n toate limbile oficiale ale UE, versiunea n
englez aflndu-se la http://moodle.scientix.eu/course/view.php?id=161.

Mihai Agape
Pagina 3 din 61

S nvm programare jucndu-ne n Scratch

1 Scurt introducere n limbajul Scratch


Obiectiv: s foloseti corect denumirile principalelor elemente ale interfeei programului
Scratch 2.0.

1.1 Ce este Scratch?


Scratch este un limbaj de programare elaborat de Lifelong Kindergarten Group din cadrul
MIT Media Lab i oferit cu titlu gratuit. Adresa site-ului oficial Scratch este
http://scratch.mit.edu/.
Cu ajutorul lui Scratch, programarea animaiilor interactive, povetilor, jocurilor, graficii,
simulrilor etc. devine o joac de copil. Pentru a-i face o idee asupra tipului de proiecte pe
care le poi realiza cu Scratch, te invit s arunci o privire pe pagina cu proiecte pentru
nceptori a site-ului oficial Scratch, la adresa http://scratch.mit.edu/starter_projects/.
Pentru a rula un proiect, clicheaz pe steagul verde.

1.2 Editorul Scratch 2.0 - online sau offline?


n cadrul acestui curs, vei scrie programe folosind versiunea Scratch 2.0. Poi folosi editorul
online sau offline. i recomand folosirea variantei online.
1.2.1 Editorul online
Scratch 2.0 poate rula n browser, nefiind necesar instalarea sa pe computerul tu. Pentru a
folosi editorul online, acceseaz site-ul Scratch, http://scratch.mit.edu/, apoi clicheaz pe
butonul Creeaz, sau acceseaz direct editorul online Scratch, la adresa
http://scratch.mit.edu/projects/editor/?tip_bar=getStarted.
Poi ncepe s scrii programe Scratch cu ajutorul leciei Primii pai cu Scratch (Getting
Started with Scratch), care poate fi accesat apsnd butonul Sfaturi.
Dac doreti s-i salvezi programele n cloud, trebuie s i creezi un cont Scratch. Pentru
aceasta, acceseaz site-ul Scratch, http://scratch.mit.edu/ i clicheaz pe butonul Altur-te
Scratch.
1.2.2 Editorul offline
Dac nu vrei s foloseti editorul online Scratch 2.0, poi instala editorul offline Scratch 2.0
pe calculatorul tu. n acest scop, urmeaz instruciunile de pe pagina corespunztoare, de la
adresa http://scratch.mit.edu/scratch2download/.

1.3 Interfaa Scratch 2.0


n continuare, vei nva principalele elemente ale interfeei Scratch 2.0 (Figura 1).
1.3.1 Paleta de blocuri
Pentru a programa un personaj, trebuie s tragi blocuri din paleta de blocuri n zona de
scripturi. Blocurile sunt grupate n zece categorii: Micare, Aspect, Sunet, Creion, Date,
Evenimente, Control, Detecie, Operatori i Mai Multe Blocuri.

Pagina 4 din 61

S nvm programare jucndu-ne n Scratch

Pentru a testa un bloc, clicheaz pe el. Dac vrei s tii ce face respectivul bloc, f clic
dreapta pe el i selecteaz Ajutor din meniul contextual.
1.3.2 Zona de scripturi
Blocurile din paleta cu blocuri sunt plasate n zona de scripturi, fiind combinate n scripturi
(programe) prin simpla mbinare a blocurilor sub forma unei stive. Dac clichezi oriunde pe
stiv, scriptul va fi executat de sus n jos.
Cnd tragi un bloc n zona de scripturi, o zon evideniat cu alb i indic locul unde poi
plasa blocul pentru a forma o conexiune corect cu un alt bloc. Pentru a deplasa o stiv,
selecteaz-o cu ajutorul blocului din vrf. Dac scoi un bloc din mijlocul unei stive, toate
blocurile aflate sub acesta se vor deplasa odat cu el.
Pentru a elimina un bloc, trage-l n paleta de blocuri. O alt modalitate de a terge un bloc,
este de a face clic dreapta pe el i a selecta terge din meniul contextual.

Figura 1 Interfaa Scratch 2.0

1.3.3 Scena
Scena este spaiul n care proiectele tale prind via. Personajele se deplaseaz i
interacioneaz unele cu altele pe scen. Pentru a executa un proiect, clicheaz pe steagul
verde. Pentru a-l ntrerupe, clicheaz pe butonul rou.
Scena (Figura 2) are o lime de 480 uniti i o nlime de 360 de uniti. Mijlocul scenei
are coordonatele (x, y) = (0, 0).
1.3.4 Lista cu personaje
Lista cu personaje afieaz miniaturi pentru toate personajele dintr-un proiect. Numele
fiecrui personaj apare sub miniatura sa.
Pentru a vedea i modifica scripturile, costumele i sunetele unui personaj, clicheaz pe
miniatura acestuia din lista cu personaje.
Pagina 5 din 61

S nvm programare jucndu-ne n Scratch

Figura 2 Dimensiunile scenei

1.3.5 Rucsacul
Rucsacul permite utilizatorilor s fac schimb de costume, personaje, sunete i scripturi ntre
proiecte (s plaseze elemente dintr-un proiect n rucsac, apoi din rucsac n alt proiect).
Mai multe detalii gseti pe pagina wiki Interfaa Utilizatorului Scratch (Scratch User
Interface), la adresa http://wiki.scratch.mit.edu/wiki/Scratch_User_Interface.

1.4 Salut!
Bnuiesc c deja te-ai nscris pe site-ul Scratch. Dac vrei s remixezi (i.e. s creezi un remix)
proiectele altora, s le modifici i s le salvezi ca pe propriile proiecte, trebuie s fii nscris pe
site-ul Scratch.
Remixeaz programul Salut!, https://scratch.mit.edu/projects/102736099/#editor. Dac nu
vrei s foloseti editorul online, poi descrca fiierul programului i s lucrezi cu editorul
offline.
Arunc o privire pe scripturi i modific-le cum doreti.

1.5 Remixeaz
Exploreaz tipurile de proiecte gzduite pe site-ul oficial Scratch, care poate fi accesat la
adresa https://scratch.mit.edu/ i ruleaz-le. O s-i faci o idee despre ceea ce poi face cu
Scratch.

Pagina 6 din 61

S nvm programare jucndu-ne n Scratch

2 Micare i sunet
Obiectiv: s programezi personajul s se mite la stnga i la dreapta i s adaugi sunete.

2.1 Introducere
n aceast lecie vei folosi elementele de programare de baz (Figura 3) pentru mica un
personaj nainte sau napoi. Vei nva cum s selectezi blocurile de programare din diferite
meniuri (ncepnd cu meniul albastru pentru Micare) i cum s execui o aciune cu un
simplu clic. Apoi vei aduga cte un sunet (de tob) de fiecare dat cnd are loc o micare.
Vei nva cum s selectezi blocurile pentru meniul Sunete i cum s interconectezi 2 blocuri
pentru a le executa unul dup cellalt. Blocul cnt la toba () pentru () timpi i permite s
selectezi tipul de sunet i durata sunetului.

Figura 3 Micare i sunet

2.2 Tutorial 1: S facem puin micare

Trage un bloc nainteaz (10) pai din meniul Micare n zona de scripturi.
Clicheaz pe blocul nainteaz (10) pai pentru a mica personajul la dreapta.
Modific numrul n unul negativ i personajul se va mica la stnga.

Repet aciunile din tutorial. Experimenteaz cu mrimea i direcia pailor.

Figura 4 Blocul nainteaz () pai

Tutorialul video poate fi urmrit la adresa https://youtu.be/yivonrobat8. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video S facem puin micare
1) n acest exerciiu vei nva s deplasezi personajul folosind blocul nainteaz (10) pai
din meniul Micare.
2) Trage blocul nainteaz (10) pai din meniul Micare, n zona de scripturi.
3) Dac clichezi pe blocul nainteaz (10) pai, observi c personajul se mic nainte.
4) De fiecare dat cnd clichezi pe blocul nainteaz (10) pai, pisica nainteaz 10 pai.
5) Poi modifica numrul de pai n unul negativ, ceea ce va face pisica s se deplaseze
napoi.
6) De fiecare dat cnd clichezi pe blocul nainteaz (10) pai, pisica se mic 10 pai napoi.
Pagina 7 din 61

S nvm programare jucndu-ne n Scratch

7) n continuare vei experimenta cu numrul pailor:


a) Modific numrul de pai la 50 i clicheaz pe bloc. Personajul se deplaseaz nainte
pe o distan mai mare, respectiv 50 de pai.
b) Modific numrul de pai la -50 i clicheaz pe bloc. Personajul se deplaseaz napoi
pe o distan de 50 de pai.
8) Acum tii s foloseti blocul nainteaz (10) pai.

2.3 Tutorial 2: Adugarea unui sunet

Trage un bloc nainteaz (10) pai din meniul Micare n zona de scripturi.
Trage un bloc cnt la toba () pentru () timpi din meniul Sunete n zona de scripturi.
Conecteaz cele dou blocuri.
Clicheaz pe stiv: personajul se mic i se aude un sunet.
Modific numrul care urmeaz dup tob, pentru a selecta un instrument diferit.

Figura 5 Adugarea unui sunet

Repet aciunile din tutorial. Experimenteaz cu alte sunete.


Tutorialul video poate fi urmrit la adresa https://youtu.be/hCZmflPkJBg. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Adugarea unui sunet
1. n acest exerciiu vei nva s adaugi sunete de fiecare dat cnd personajul se mic.
2. Pentru asta ai nevoie de blocul nainteaz () pai din meniul Micare i blocul cnt la
toba () pentru () timpi din meniul Sunete.
3. Blocul cnt la toba () pentru () timpi red sunetul unui instrument de percuie (pe care
l putem selecta) pentru o durat pe care o putem modifica.
4. Dac apropii un bloc de cellalt, ele se conecteaz. Cnd clichezi pe unul dintre blocuri,
cele 2 blocuri vor fi executate unul dup cellalt.
5. Dac apropii un bloc de cellalt, ele se conecteaz. Cnd clichezi pe unul dintre blocuri,
cele 2 blocuri vor fi executate unul dup cellalt. Pisica nainteaz 10 pai i toba cnt
pe durata selectat.
6. Dac clichezi pe prima caset a blocului cnt la toba () pentru () timpi, poi selecta un
alt instrument.
7. Acum poi experimenta cu diverse sunete i diferite durate.

2.4 Tutorial 3: E timpul pentru dans

Trage n zona de scripturi un bloc nainteaz () pai din meniul Micare.


Trage n zona de scripturi un bloc cnt la toba () pentru () timpi din meniul Sunete.
Mai trage un bloc nainteaz () pai din meniul Micare.
Pagina 8 din 61

S nvm programare jucndu-ne n Scratch

Trage nc un bloc cnt la toba () pentru () timpi din meniul Sunete.


Conecteaz cele 4 blocuri.
Schimb valoarea pentru cel de al doilea bloc nainteaz () pai la -10 pai.
Pentru cel de al doilea bloc cnt la toba () pentru () timpi modific numrul pentru
a selecta un alt instrument.
F clic pe stiv i urmrete dansul personajului pe scen.

Repet aciunile din tutorial. Experimenteaz mrimea pailor i diferite sunete.

Figura 6 E timpul pentru dans

Tutorialul video poate fi urmrit la adresa https://youtu.be/GZcVofqZgXU. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video E timpul pentru dans
1. n acest tutorial vei nva cum s faci civa pai de dans. Vei face personajul s se mite
mai nti la dreapta i apoi la stnga. Fiecare micare este acompaniat de un sunet de
tob.
2. n acest exerciiu ai nevoie de 2 blocuri nainteaz () pai din meniul Micare i de 2
blocuri cnt la toba () pentru () timpi din meniul Sunet.
3. Aranjeaz blocurile astfel nct personajul s se mite la dreapta, urmat de un sunet i
apoi s se mite la stnga urmat de un alt sunet.
4. Conecteaz toate blocurile ntr-o singur stiv. Dup ce clichezi pe stiv, personajul
ncepe s danseze.
5. Dac inversezi locurile celor 2 blocuri nainteaz () pai, personajul se deplaseaz mai
nti la stnga i apoi la dreapta.
6. Experimenteaz cu diverse valori ale pailor i diferite sunete. nva personajul i ali
pai de dans.

2.5 Transfer
Revezi subiectele principale introduse n aceast lecie i discut temele propuse n
seciunea Extinderi.
2.5.1
1.
2.
3.

Extinderi
Experimenteaz cu mrimea pailor: foarte mici, mici, mari, foarte mari.
Experimenteaz cu sunete: selecteaz i combin diferite sunete.
Experimenteaz cu dansurile: 2, 3, mai muli pai n dans. Selecteaz i combin pai
scuri i pai lungi.
Pagina 9 din 61

S nvm programare jucndu-ne n Scratch

3 Evenimente i control
Obiectiv: s repei aciunile cu blocul pentru totdeauna, s porneti scriptul cu steagul
verde i s-l opreti cu semnul stop.

3.1 Introducere
n aceast lecie vei folosi bloc de control pentru totdeauna, din meniul Control. Vei muta
cele 4 blocuri din exemplul precedentnainteaz () pai i cnt la toba () pentru () timpi
n gura blocului de control pentru totdeauna. Cnd clichezi pe stiv, aciunile sunt
repetate pentru totdeauna, fcnd personajul s danseze n continuu. Pentru a opri dansul
trebuie s foloseti iconia stop. n aceast lecie vei folosi de asemenea o nou iconi,
steagul verde. Cnd clichezi pe steagul verde, blocurile conectate la el vor fi executate.

Figura 7 Evenimente i control

3.2 Tutorial 1: Iar i iar

ncepe cu cele 4 blocuri din lecia anterioar.


Trage un bloc pentru totdeauna din meniul Control n zona de script.
Trage stiva cu cele 4 blocuri conectate n interiorul blocului pentru totdeauna.
Apas pe stiva de blocuri i observ ce se ntmpl.
Experimenteaz cu diferite valori pentru numrul pailor i pentru durata sunetelor.

Exerseaz aciunile din tutorial. Experimenteaz adugnd un al doilea bloc de repetare.

Figura 8 Bucl infinit

Pagina 10 din 61

S nvm programare jucndu-ne n Scratch

Tutorialul video poate fi urmrit la adresa https://youtu.be/LviKwzBENOU. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Iar i iar
1. n acest exerciiu vei nva cum s repei o aciune la nesfrit. Exist cteva blocuri
care ne permit s repetm aciuni i aceste blocuri se afl n meniul Control.
2. Vei folosi blocurile din tutorialul anterior E timpul pentru dans pe care le vei face s
se repete prin utilizarea blocului pentru totdeauna.
3. Selecteaz blocul pentru totdeauna, care are forma literei C. Clicheaz pe primul bloc
al stivei i gliseaz-o n gura blocului pentru totdeauna.
4. Remarc linia alb din interiorul blocului pentru totdeauna, atunci cnd ajungi n
poziia corect. Apoi elibereaz mouse-ul.
5. Dac clichezi pe stiva de blocuri, personajul va repeta micrile (fr s oboseasc).
6. Pentru a-l opri, clicheaz pe semnul rou de stop aflat n dreapta sus.
7. Dac vrei s schimbi puin coregrafia, poi folosi alt bloc pentru repetarea aciunilor i
anume repet de (10) ori. Trage un astfel de bloc din grupul Control.
8. Modific numrul de repetiii la 2 i copiaz blocul repet de (2) ori printr-un clic
dreapta pe bloc i selectarea opiunii duplic.
9. Scoate stiva cu patru blocuri din interiorul buclei infinite pentru totdeauna, apucnd
cu mouse-ul de primul bloc al stivei. Separ stiva de 4 n dou stive de 2, trgnd de
cel de al treilea bloc.
10. Gliseaz n interiorul primului bloc repet de (2) ori prima instruciune pentru
deplasare i sunetul corespunztor. Dac clichezi pe stiv vei observa c personajul
face doi pai n aceeai direcie, n loc de unul.
11. Procedeaz similar pentru al doilea bloc repet de (2) ori i cea de a doua
instruciune de deplasare.
12. Asambleaz blocurile astfel nct personajul s repete la nesfrit urmtorul dans: de
dou ori la stnga i de dou ori la dreapta.
13. Poi experimenta cu diferite valori ale pailor i diferite sunete. Pentru a face dansul
mai rapid sau mai lent, micoreaz sau mrete durata sunetelor.

3.3 Tutorial 2: Steagul verde

Figura 9 Instruciunea cnd se clicheaz pe steagul verde


Pagina 11 din 61

S nvm programare jucndu-ne n Scratch

ncepe cu cele 5 blocuri din lecia anterioar i trage blocul cnd se clicheaz pe
steagul verde din meniul Evenimente n zona de script.
Ataeaz blocul cnd se clicheaz pe steagul verde deasupra blocului pentru
totdeauna.

Figura 10 Steagul verde i iconia roie stop se afl deasupra scenei n colul din dreapta

Cnd clichezi pe iconia steagul verde (Figura 10), de deasupra scenei, personajul
ncepe s danseze.
Dac clichezi pe iconia roie stop, de deasupra scenei, personajul se oprete din
dans. Repet aciunile din tutorial. Experimenteaz adugnd steagul verde la toate
blocurile de repetiie.

Tutorialul video poate fi urmrit la adresa https://youtu.be/kYz2KgVsah8. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Steagul verde
1. O modalitate de a porni executarea unui script, este folosirea steagului verde situat
deasupra scenei.
2. Blocul cnd se clicheaz pe steagul verde se afl n grupul Evenimente.
3. Ataeaz blocul cnd se clicheaz pe steagul verde deasupra blocului pentru
totdeauna din exerciiul anterior.
4. Dac clichezi pe steagul verde de deasupra scenei, vei activa scriptul.
5. Pentru a opri executarea scriptului apas pe semnul stop (de culoare roie) de
deasupra scenei.
6. Acum tii cum s faci ca s vizualizezi proiectele tale ntr-o fereastr mai mare.

3.4 Transfer
Revezi temele principale introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
3.4.1 Extinderi
1. Experimenteaz cu un al doilea bloc de repetiie pentru un al doilea personaj.
2. Experimenteaz crearea a dou sau trei blocuri de repetiie i controleaz-le n
acelai timp cu steagul verde i semnul stop.
Pagina 12 din 61

S nvm programare jucndu-ne n Scratch

4 S ne jucm cu culorile
Obiectiv: s modifici culorile personajului i s-i controlezi aciunile cu tastatura.

4.1 Introducere
Din meniul Aspect vei folosi n acest tutorial blocul modific efectul [] cu (). Cnd clichezi pe
acest bloc, personajul i schimb culoarea cu o anumit cantitate specificat. Poi selecta,
de asemenea, alte modificri grafice, cum ar fi vrtej, mozaic, etc. n aceast lecie vei folosi
un alt bloc de control pentru a executa aciunile. Blocul cnd tasta [] este apsat va
executa toate aciunile blocurilor conectate la el.

Figura 11 S ne jucm cu culorile

4.2 Tutorial 1: Modificarea culorii

Trage n zona de script un bloc modific efectul [] cu () din meniul Aspect.


Clicheaz pe bloc de mai multe ori, pentru a modifica culoarea personajului.
Seteaz efectul la strlucire i clicheaz pentru a face personajul mai luminos sau mai
ntunecat.
Observ efectul de vrtej asupra discului colorat din proiectul de la adresa
https://scratch.mit.edu/projects/102617366/.(Figura 13).

Figura 12 Modificarea culorii

Repet aciunile din tutorial. Experimenteaz cu diferite valori de modificare a efectelor.


Tutorialul video poate fi urmrit la adresa https://youtu.be/hGeedu_UzKg. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Modificarea culorii
1. Exist mai multe efecte pe care le poi aplica personajelor tale. Unul dintre ele este
modificarea culorii.
2. Pentru aceasta selecteaz blocul modific efectul [] cu () din meniul Aspect.
3. Dac clichezi pe acest bloc, culoarea personajului se modific.
4. Dac clichezi pe blocul anuleaz efectele grafice din grupul Aspect, personajul revine
la aspectul de dinaintea aplicrii efectului.
Pagina 13 din 61

S nvm programare jucndu-ne n Scratch

5. Poi modifica valoarea cu care se schimb efectul editnd numrul din caseta text a
blocului.
6. Experimenteaz cu diferite valori pentru modificarea culorii.
7. Alege efectul strlucire i clicheaz pentru a face personajul mai luminos sau mai
ntunecat.
8. Experimenteaz modul n care este afectat personajul de diferitele efecte.

Figura 13 Crearea efectelor de imagine

4.3 Tutorial 2: Controlarea aciunilor din taste

Trage n zona de programare blocul cnd tasta [] este apsat din meniul Control.
Conecteaz-o deasupra blocului modific efectul [] cu () i alege efectul culoare prin
clicarea sgeii i selectarea din meniul derulant.
Apas tasta spaiu i observ c de fiecare dat cnd o apei, personajul i schimb
culoarea.
Observ c poi folosi o alt tast, dac n cadrul blocului cnd tasta [] este apsat
clichezi pe sgeata orientat n jos i o selectezi din meniul derulant.

Repet aciunile din tutorial. Experimenteaz cu diferite taste.

Figura 14 Controlarea aciunilor din taste

Tutorialul video poate fi urmrit la adresa https://youtu.be/Q8kaxyi1KIQ. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Controlarea aciunilor din taste
Pagina 14 din 61

S nvm programare jucndu-ne n Scratch

1. n acest exerciiu vei nva cum s controlezi aciunile personajului apsnd pe


diferite taste ale tastaturii.
2. Pentru asta vei folosi blocul cnd tasta [spaiu] este apsat din grupul Evenimente.
3. Poi conecta blocul cnd tasta [spaiu] este apsat cu blocul modific efectul
[culoare] cu (25).
4. De fiecare dat cnd apei tasta spaiu, personajul i schimb culoarea.
5. Dac rulezi programul prin apsarea steagului verde, personajul va dansa i dac
apei tasta spaiu, acesta i va schimba culoarea.
6. Tasta poate fi aleas din meniul derulant care apare dac se clicheaz pe micul
triunghi din dreapta cuvntului spaiu. Experimenteaz cu alte taste ale tastaturii.

4.4 Transfer
Revezi principalele subiecte introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
4.4.1
1.
2.
3.
4.
5.

Extinderi
Experimenteaz cu diferite viteze de modificare a culorii.
Experimenteaz cu dou personaje pentru a vedea cum se modific culorile.
Experimenteaz cu diferite taste pentru a controla modul n care se modific culorile.
Experimenteaz adugarea de sunete cnd schimbi culorile.
Experimenteaz cu toate efectele grafice: ochi de pete, vrtej, pixelare, mozaic,
strlucire i fantom.
6. Experimenteaz aplicarea a dou efecte de imagine simultan la acelai personaj.
7. Experimenteaz controlarea valorilor efectelor aplicate imaginii.
8. Experimenteaz adugarea de sunete la efectele de imagine.

Pagina 15 din 61

S nvm programare jucndu-ne n Scratch

5 Creeaz-i propriile personaje


Obiectiv: s i creezi propriile personaje sau s le impori dintr-o bibliotec de personaje.

5.1 Introducere
n aceast lecie vei nva cum s impori personaje n proiectele tale. Ca alternativ, poi
folosi editorul grafic pentru a-i crea propriile personaje.

Figura 15 Personaje

5.2 Tutorial: Crearea unui personaj

Clicheaz pe butonul Alege personaj din bibliotec i import un personaj dintr-una


din bibliotecile cu personaje.
Clicheaz pe butonul Deseneaz personaj nou pentru a intra n editorul grafic i a
desena propriul personaj. Poi ncerca s desenezi o fa vesel. Dup ce ai terminat
de desenat apas butonul OK. Editorul grafic se nchide i personajul nou se afl pe
scen i este pregtit s execute instruciunile.
Clicheaz pe butonul ncarc personaj din fiier pentru a ncrca o imagine stocat
ntr-un dosar.
Clicheaz pe butonul Personaj nou de la camer pentru a folosi o imagine realizat
cu camera laptopului.
Pagina 16 din 61

S nvm programare jucndu-ne n Scratch

Repet aciunile din tutorial. Experimenteaz crendu-i propriile personaje.


Tutorialul video poate fi urmrit la adresa https://youtu.be/48vTcYlJa8I. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Crearea unui personaj
1. Pn acum ai lucrat cu acelai personaj, pisica. Poi folosi i alte personaje n
programele tale. n acest tutorial vei nva cum s adaugi un personaj nou.
2. Poi importa personaje deja create. Pentru asta clicheaz pe butonul Alege personaj
din bibliotec. Acum ai acces la bibliotecile de personaje din Scratch.
3. Dac apei butonul Deseneaz personaj nou se deschide editorul grafic i poi
desena propriul tu personaj.
4. Poi ncepe prin a desena o fa zmbitoare. Selecteaz instrumentul pentru
desenarea cercurilor.
5. Mai nti deseneaz capul. Apoi, deseneaz un ochi. Folosete instrumentul tampil
pentru a-l copia. Aaz ochii la locul potrivit n interiorul capului.
6. Creeaz o copie a prii de jos a capului cu ajutorul instrumentului tampil,
micoreaz-o la dimensiunea gurii i deplaseaz-o la locul potrivit.
7. Poi ncrca un personaj dintr-un dosar personal clicnd pe butonul ncarc personaj
din fiier .
8. Dac clichezi pe butonul Personaj nou de la camer vei putea folosi imaginea pe care
o vei captura cu camera video a laptopului.
9. Acum poi experimenta cu cele patru modaliti de a aduga un personaj
programului tu.

5.3 Transfer
Revezi subiectele principale introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
5.3.1
1.
2.
3.
4.

Extinderi
Experimenteaz desenarea i colorarea propriilor personaje.
Experimenteaz dansul, modificarea culorilor i a sunetelor cu propriile personaje.
Experimenteaz i exploreaz bibliotecile de personaje din Scratch.
Experimenteaz crearea unor grupuri nrudite de personaje.

Pagina 17 din 61

S nvm programare jucndu-ne n Scratch

6 Vorbire i gndire
Obiectiv: s programezi personajele s-i exprime ideile sau gndurile.

6.1 Introducere
n aceast lecie vei nva s foloseti blocurile de programare care i permit s afiezi o
form pentru vorbire sau gnd i mesajul corespunztor. Mesajul este afiat permanent sau
doar pentru o anumit durat de timp.

Figura 16 Vorbire

6.2 Tutorial: Vorbirea

Selecteaz blocul spune [] din meniul Aspect.


Modific textul Hello! cu textul Bun! Ce mai faci?
Dac clichezi pe bloc, personajul afieaz mesajul.
Poi afia mesajul pentru o anumit perioad de timp folosind blocul spune [] pentru
() secunde.
Selecteaz blocul gndete [].
Selecteaz blocul gndete [] pentru () secunde.
Testeaz executarea blocurilor pentru a observa diferenele dintre spune [] i
gndete [] pentru o perioad nelimitat i pentru o anumit perioad de timp.
Conecteaz patru blocuri:
o spune [Bun!] pentru (1) secunde
o spune [Ce] pentru (1) secunde
o spune [mai] pentru (1) secunde
o spune [faci?] pentru (1) secunde
Testeaz scriptul pe care l-ai scris.
Pagina 18 din 61

S nvm programare jucndu-ne n Scratch

Tutorialul video poate fi urmrit la adresa https://youtu.be/a4B-Q_dcupU. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Vorbirea
1. n acest tutorial vei asocia un text unui personaj.
2. Pentru aceasta se folosete blocul spune [] din grupul Aspect.
3. Scrie n interiorul blocului mesajul pe care vrei s-l transmit personajul tu, de exemplu
Bun! Ce mai faci?
4. Cnd clichezi bloc, personajul afieaz mesajul.
5. Poi spune mesajul pentru un timp limitat folosind blocul spune [] pentru () secunde.
6. Cu ajutorul a patru astfel de blocuri poi transmite mesajul anterior:
spune [Bun!] pentru (1) secunde
spune [Ce] pentru (1) secunde
spune [mai] pentru (1) secunde
spune [faci?] pentru (1) secunde
7. mbin cele patru blocuri i observ care este efectul lor.
8. Experimenteaz cu cele dou blocuri gndete [], care se afl n acelai grup Aspect.

6.3 Transfer
Revezi subiectele principale introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
6.3.1
1.
2.
3.
4.

Extinderi
Experimenteaz scrierea ideilor i a gndurilor.
Experimenteaz cu dou personaje care vorbesc unul cu cellalt.
Experimenteaz folosirea tastelor pentru a-i controla cnd vorbesc.
Experimenteaz adugarea sunetelor cnd personajele vorbesc.

Pagina 19 din 61

S nvm programare jucndu-ne n Scratch

8 Sunete, voci i muzic


Obiectiv: s adaugi sunete, voci i muzic n programe.

8.1 Introducere
Folosind fila Sunete din zona blocurilor pentru scripturi, poi asocia personajelor fiiere
audio nregistrate sau importate din alt parte.
Fiecrui personaj i poi asocia mai multe fiiere audio.

Figura 17 Sunete, voci, muzic

8.2 Tutorial: Sunete, voci, muzic

Clicheaz pe fila Sunete.


Import cteva sunete.
Clicheaz pe fila Scripturi.
Trage n zona de programare blocul cnt sunetul [] din meniul Sunete.
Clic pe blocul cnt sunetul [] pentru a reda unul din sunetele asociate personajului;
schimb sunetul i execut blocul.

Repet aciunile din tutorial. Experimenteaz cu diferite sunete.


Tutorialul video poate fi urmrit la adresa https://youtu.be/-Oiono-POSA. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Sunete, voci, muzic
1. n acest exerciiu vei nva s asociezi fiiere audio personajului.
2. Pentru aceasta clicheaz pe fila Sunete din zona de programare.
Pagina 20 din 61

S nvm programare jucndu-ne n Scratch

3.
4.
5.
6.

Poi alege sunete din bibliotec, le poi nregistra sau le poi importa din dosarele tale.
Unui personaj i poi asocia ct de multe fiiere audio doreti.
Selecteaz un fiier audio.
Pentru redarea sunetului n program, apas pe fila Scripturi i din grupul Sunet, folosete
blocul cnt sunetul [].
7. Experimenteaz cu sunetele: nregistreaz sunete, import sunete i f personajul s
vorbeasc sau s cnte.

8.3 Transfer
Revezi subiectele principale introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
8.3.1
1.
2.
3.
4.

Extinderi
Experimenteaz prin explorarea sunetelor din bibliotecile Scratch.
Experimenteaz cu dou sau mai multe personaje care cnt mpreun.
Experimenteaz mbinarea de efecte de imagine cu muzic.
Experimenteaz controlarea secvenei de sunete de la tastatur.

Pagina 21 din 61

S nvm programare jucndu-ne n Scratch

9 Crearea animaiilor
Obiectiv: s creezi animaii cu personaje existente n biblioteca programului sau cu cele
proprii.

9.1 Introducere
Poi asocia imagini sau costume personajelor, folosind fila Costume din zona de blocurilor
pentru scripturi. Poi importa costume existente sau poi folosi editorul grafic pentru a crea
unele noi. Unui personaj i poi asocia mai multe costume. Dup ce le impori, poi modifica
ordinea acestora.
Poi folosi schimbarea costumelor pentru crearea efectelor de animaie. Cnd clichezi pe
costumul urmtor, personajul i schimb costumul, crend iluzia de micare.

Figura 18 Crearea animaiilor

9.2 Tutorial: Creeaz animaii

Clicheaz pe fila Costume, aflat n dreapta filei Scripturi.


Import cteva costume.
Trage din meniul Aspect blocul costumul urmtor n zona de scripturi.
Pagina 22 din 61

S nvm programare jucndu-ne n Scratch

De fiecare dat cnd clichezi pe blocul costumul urmtor, personajul i schimb


poziia.
Remarc faptul c schimbarea costumului nu nseamn schimbarea hainelor, ci doar
schimbarea posturii personajului.

Repet aciunile din tutorial. Experimenteaz cu diferite mrimi i direcii ale pailor.
Tutorialul video poate fi urmrit la adresa https://youtu.be/0CD_mAqTcTs. Mai jos este dat
transcriptul filmului.
Transcriptul tutorialului video Creeaz animaii
1. n acest tutorial nvei s creezi animaii folosind blocul costumul urmtor din meniul
Aspect.
2. Folosind fila Costume din zona de programare, poi asocia imagini sau costume unui
personajului. Poi importa costume existente sau poi folosi editorul grafic pentru a crea
propriile noastre costume.
3. Poi asocia mai multe costume fiecrui personaj.
4. Import mai multe costume i eventual schimb-le ordinea.
5. Cnd clichezi pe costumul urmtor, personajul i schimb costumul, crend efectul de
micare.
6. Dac personajul se mic i i schimb costumele, poi face ca mersul personajului s
par mai real.
7. Observ care este efectul scriptului urmtor: pisica se deplaseaz de la stnga la dreapta
scenei.
8. Dac introducem n script instruciunea costumul urmtor, pisica i va schimba cele
dou costume i mersul va prea mai natural.
9. Poi experimenta cu alte seturi de costume i alte animaii.

9.3 Transfer
Revezi subiectele principale introduse n aceast lecie i discut cu colegii temele propuse n
seciunea Extinderi.
9.3.1
1.
2.
3.
4.

Extinderi
Experimenteaz realizarea de animaii cu personaje din bibliotecile programului.
Experimenteaz crearea costumelor personajelor i realizarea animaiilor proprii.
Experimenteaz animarea a dou sau mai multe personaje n acelai timp.
Experimenteaz adugarea de sunete redate n timp ce personajele se mic.

Pagina 23 din 61

S nvm programare jucndu-ne n Scratch

10 Robot care merge la int


Obiectiv: s foloseti cteva blocuri Scratch pentru a programa robotul Karel s
ndeplineasc o serie de sarcini uoare.
i poi face o idee despre ceea ce vei nva n aceast unitate, dac vei urmri filmul de la
adresa https://youtu.be/498vHVw_ICs.

10.1 Iniializarea poziiei i orientrii personajului pe scen


Vrem ca personajele noastre s se afle la nceputul programului n anumite poziii i cu
anumite orientri pe scen.
10.1.1 Iniializarea poziiei i orientrii provocare
Remixeaz proiectul de la http://scratch.mit.edu/projects/41637186/#editor. n acest
proiect exist dou personaje: robotul Karel i o int. Scrie un program de iniializare a
poziiilor celor dou personaje:
- Karel trebuie amplasat n punctul de coordonate (-100, -100) i orientat spre est.
- inta trebuie amplasat n punctul de coordonate (100, -100).
Folosete urmtoarele blocuri:

Testeaz-i programul (clicheaz pe steagul verde).


10.1.2 Iniializarea poziiei i orientrii - soluie
Testeaz proiectul de la adresa http://scratch.mit.edu/projects/41688062/#editor.
Dac ai nevoie de ajutor, urmrete tutorialul video de la https://youtu.be/vVl1WOP0mKg.

10.2 Deplaseaz-l pe Karel la int


n aceast seciune vei scrie un script pentru a-l deplasa pe Karel la int.
10.2.1 Direct la int provocare
Folosete proiectul pe care l-ai creat anterior sau remixeaz proiectul de la adresa
http://scratch.mit.edu/projects/41688204/#editor.
Cele dou personaje ale proiectului sunt:
- Karel, care iniial se afl n punctul (-100, -100) i este ndreptat spre est.
- inta, care este amplasat n punctul (100, -100).
Pagina 24 din 61

S nvm programare jucndu-ne n Scratch

Scrie un program pentru a-l deplasa pe Karel la int cnd apei tasta t.
Poi folosi blocurile urmtoare:

n locul blocului nainteaz () pai, poi folosi oricare dintre blocurile urmtoare:

Pentru a-i testa programul, clicheaz pe steagul verde sau apas tasta t.
10.2.2 Direct la int - soluii
Clicheaz pe steagul verde i apas tasta t pentru a rula una dintre soluiile posibile.
Compar urmtoarele patru soluii, disponibile la adresele urmtoare:
-

http://scratch.mit.edu/projects/41688302/#editor
http://scratch.mit.edu/projects/41688928/#editor
http://scratch.mit.edu/projects/41689048/#editor
http://scratch.mit.edu/projects/41689082/#editor

Dup cum poi observa vedea, n cazul primelor trei soluii, Karel se deplaseaz spre int
aproape instantaneu. n cazul ultimei soluii, care folosete blocul alunec n () secunde la x:
() y: (), Karel se deplaseaz spre int cu o vitez constant. Acesta este comportamentul
dorit al lui Karel.
n urmtoarea seciune, vei nva cum l poi deplasa pe Karel cu o vitez limitat, folosind
blocul nainteaz () pai.

10.3 Limiteaz viteza


n ultima seciune, ai nvat c poi folosi blocul alunec n () secunde la x: () y: () pentru a-l
deplasa pe Karel spre int cu o vitez constant. Dezavantajul folosirii blocului alunec n ()
secunde la x: () y: () este c acesta ntrerupe derularea scriptului ct timp personajul se
deplaseaz, mpiedicnd astfel scriptul s execute i alte comenzi (fac i alte lucruri) n timp
ce personajul alunec.
Din acest motiv, vei ncerca s-l programezi pe Karel s se deplaseze cu o vitez constant,
folosind blocul nainteaz () pai. n acest scop, vor fi repetate urmtoarele dou aciuni:
Pagina 25 din 61

S nvm programare jucndu-ne n Scratch

Karel se va deplasa un numr de pai;


Pauz de cteva fraciuni de secund.

S presupunem c vrem s-l deplasm pe Karel 100 de pai timp de 1 secund. n cazul n
care Karel face cte 10 pai o dat, trebuie s repetm urmtorul script de 10 de ori:

Pentru a repeta scriptul anterior de 10 de ori, putem folosi blocul

10.3.1 Limiteaz viteza - provocare


Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/41690448/#editor.
Scrie un program care s-l deplaseze pe Karel la int cnd apei tasta t. Karel trebuie s se
deplaseze pe o distan de 200 de pai n dou secunde.
Trebuie s foloseti urmtoarele blocuri:

Testeaz-i programul (apas steagul verde i apoi tasta t).


10.3.2 Limiteaz viteza - soluie
n prima soluie, http://scratch.mit.edu/projects/41690702/#editor, robotul se deplaseaz
de 200 ori, cte un pas o dat (200 de repetiii temporizate cu cte 0,01 secunde). Dac vei
rula programul, vei vedea c robotul se deplaseaz mult mai ncet dect am anticipat
(aproape apte secunde n loc de dou).
n cea de a doua soluie, http://scratch.mit.edu/projects/41693402/#editor, Karel se
deplaseaz doar de 20 ori, cte zece pai o dat (temporizare de 0,1 secunde). Karel se
deplaseaz mai rapid ca n proiectul anterior, ns tot prea ncet.
Comportamentul acesta se datoreaz faptului c folosim blocul de repetare (bucla), iar
acesta este programat cu o mic ntrziere ntre repetiii, prin urmare aciunile sunt
efectuate ncet.
Pagina 26 din 61

S nvm programare jucndu-ne n Scratch

n cea de a treia soluia, http://scratch.mit.edu/projects/41690902/#editor, msurm timpul


de execuie. Pentru aceasta, folosim o variabil numit moving time (timp de micare).
Variabila este iniializat la nceputul deplasrii. Urmtorul bloc, reset timer (resetare timer),
reseteaz cronometrul. La finalul deplasrii, variabila moving time este actualizat la
valoarea cronometrului.
Valorile variabilei moving time difer n funcie de setri. Modificai variabilele blocurilor din
interiorul buclei de repetare conform valorilor din urmtorul tabel. Rulai programul i
verificai dac valorile variabilei moving time (timp de deplasare) sunt similare cu valorile din
Tabelul 1.
Numr Numr Temporizare Timp de deplasare anticipat Timp de deplasare real
repetiii pai
(secunde)
(secunde)
(secunde)
200
1
0,01
2,0
6,667
100
2
0,02
2,0
3,333
20
10
0,1
2,0
2,133
Tabelul 1 Introducerea de ntrzieri n interiorul buclelor

Dup cum se observ, la o rezoluie mai mare, timpul de deplasare este mai mare dect cel
anticipat.

10.4 Trei inte


Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/42090906/#editor. Sunt
patru personaje: Karel, Target1, Target2 i Target3. Am creat blocul initialisation
(iniializare), necesar la iniializarea poziiei (i orientrii) personajului. Urmrete tutorialul
de la adresa https://youtu.be/cfax_wg4id4 pentru a vedea cum se creeaz i folosete un
bloc nou n Scratch.
Dac vei consulta scripturile celor patru personaje, vei vedea c pornesc din urmtoarele
poziii: Karel -> (-100, -100); Target1 -> (100, -100); Target2 -> (100, 100); Target3 -> (-100,
100). Aceasta nseamn c personajele sunt amplasate n cele patru coluri ale unui ptrat
(Figura 19) cu latura de 200 uniti (pai).

Pagina 27 din 61

S nvm programare jucndu-ne n Scratch

Figura 19 Karel i trei inte

10.4.1 Trei inte provocarea 1


Scrie un script care s-l programeze pe Karel s viziteze fiecare int, apoi s revin la poziia
i orientarea iniiale. Va trebui s foloseti blocul nainteaz () pai, iar Karel trebuie s se
deplaseze cu o vitez limitat.
10.4.2 Trei inte soluie pentru provocarea 1
n Figura 20 prezint o posibil soluie.

Figura 20 Trei inte - scripturi pentru provocarea 1

10.4.3 Trei inte provocarea 2


Ar fi frumos s-l programezi pe Karel s-i exprima bucuria reuitei (atingerea intei) cu un
cntecel (cteva note). Continu cu programul anterior sau remixeaz proiectul
https://scratch.mit.edu/projects/102920310/#editor.
Creeaz un bloc cnt format din cteva instruciuni cnt nota () pentru () timpi i
programeaz-l pe Karel s execute blocul cnt de fiecare dat cnd atinge inta. Karel nu
trebuie s se opreasc n timp ce cnt.

Pagina 28 din 61

S nvm programare jucndu-ne n Scratch

10.4.4 Trei inte provocarea 2 soluii


Prima soluie care mi-a venit n minte are scripturile din Figura 21.

Figura 21 Trei inte provocarea 2 scripturi soluie greit

Poi crea un proiect cu aceste scripturi sau poi rula proiectul aflat la adresa
https://scratch.mit.edu/projects/102920577/#editor.
Din pcate, soluia dat n acest proiect nu este bun din dou motive:
1. Karel cnt melodia nu numai cnd atinge inta, ci i cnd ajunge n poziia iniial.
2. Karel nu se deplaseaz ct timp cnt.
Putem soluiona aceste probleme folosind difuzarea: Karel va difuza mesajul cnt de fiecare
dat cnd ajunge la o int. Acest eveniment va declana interpretarea cntecului. Astfel,
Karel se va deplasa i va cnta n paralel (nu secvenial).
n soluia de mai jos, poi observa c am folosit blocul dac () atunci pentru a stabili dac
personajul Karel atinge o int. Condiia blocului dac () atunci este blocul boolean atinge
culoarea [] ?, care raporteaz valoarea adevrat cnd Karel atinge o int. Bineneles,
parametrul blocului boolean este culoarea roie a intelor.

Figura 22 Trei inte provocarea 2 scripturi soluie bun


Pagina 29 din 61

S nvm programare jucndu-ne n Scratch

Se pot observa i alte modificri. Deoarece durata cntecului era mai mare dect timpul n
care Karel se deplasa ntre dou inte, am micorat cntecul, eliminnd note i stabilind
tempoul la 360 bti pe minut. n acelai timp, am redus viteza lui Karel, crescnd numrul
de repetiii ale buclei interne repet() i micornd ca atare numrul de pai ai blocului
nainteaz () pai.
10.4.5 Trei inte provocarea 3
Ar fi interesant dac intele i-ar schimba aspectul cnd sunt atinse de Karel.
Remixeaz programul https://scratch.mit.edu/projects/102923466/#editor.
Dup cum observi, fiecare int are dou costume: unul rou i unul albastru.
La nceput, toate intele vor trebui s fie roii. n acest scop, trebuie s faci modificri la
blocul iniializare al fiecrei inte.
Programeaz fiecare int s-i schimbe costumul din rou n albastru cnd este atins de
Karel.
10.4.6 Trei inte provocarea 3 soluie
O posibil soluie pentru scripturile Target1 este reprezentat n Figura 23

Figura 23 Trei inte provocarea 3 soluie scripturi

10.4.7 Trei inte provocarea 4


Remixeaz proiectul de la https://scratch.mit.edu/projects/102925015/#editor
http://scratch.mit.edu/projects/42119332/ - editori efectueaz modificrile necesare la
blocul iniializare al lui Karel, pentru a obine un comportament identic cu cel cu cel sugerat
n Figura 24.
Dac nu intuieti comportamentul cerut, poi rula proiectul (nu uita s clichezi pe steagul
verde!) de la adresa https://scratch.mit.edu/projects/102926515/#editor, fr a te uita la
scripturi.

Pagina 30 din 61

S nvm programare jucndu-ne n Scratch

Figura 24 Evidenierea drumului parcurs i schimbarea culorii intelor

10.4.8 Trei inte provocarea 4 soluie scripturi


Modificarea comportamentului lui Karel se poate face prin modificarea scriptului care
definete blocul iniializare, ca n Figura 25.

Figura 25 Trei inte provocarea 4 modificare scripturi

10.5 Drawbot
Am vzut n ultima seciune c putem crea desene n Scratch. n cadrul acestei seciuni, vei
nva s creezi diverse tipuri de desene. n acest scop, l vei folosi pe Drawbot (acronim care
provine de la denumirea n englez, Drawing RobotRobot Desenator n limba romn)
pentru a-l desena pe Karel.
10.5.1 Desenarea unui dreptunghi provocare
Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/42136036/#editor.
Creeaz blocul rectangle(x, y, width, height), care deseneaz un dreptunghi cu urmtorii
parametri:
Pagina 31 din 61

S nvm programare jucndu-ne n Scratch

(x, y) = coordonatele colului stnga jos al dreptunghiului


width = limea dreptunghiului
height = nlimea dreptunghiului
10.5.2 Desenarea unui dreptunghi soluie
O posibil soluie pentru definiia blocului rectangle(x, y, width, height) este dat n Figura
26. Dup cum se observ din definiia blocului, desenarea dreptunghiului se face astfel:
-

Se ncepe din colul stnga jos al dreptunghiului;


Se deseneaz latura orizontal de jos;
Se schimb direcia cu 90 de grade n sens antiorar;
Se deseneaz latura vertical din dreapta;
Se schimb direcia cu 90 de grade n sens antiorar;
Se deseneaz latura orizontal de sus;
Se schimb direcia cu 90 de grade n sens antiorar;
Se deseneaz latura vertical din stnga;
Se schimb direcia cu 90 de grade n sens antiorar, ajungndu-se la orientarea
iniial.

Figura 26 Soluia pentru definiia blocului rectangle (x, y, width, height)

Pagina 32 din 61

S nvm programare jucndu-ne n Scratch

n proiectul de la adresa http://scratch.mit.edu/projects/40758538/#editor poi observa


efectul optic al introducerii unui efect de nuan (Figura 27).

Figura 27 Dreptunghiuri cu nuane diferite

10.5.3 Desenarea unui poligon provocare


Remixeaz proiectul http://scratch.mit.edu/projects/42136036/#editor. Creeaz blocul
polygon(n, l, x, y), care deseneaz un poligon regulat cu n laturi cu lungimea l. Centrul
poligonului este punctul de coordonate (x, y).
10.5.4 Desenarea unui poligon soluie
O posibil soluie pentru definiia blocului polygon(n, l, x, y) este dat n Figura 28. Pentru a
nelege definiia acestui bloc, trebuie s-i aminteti cteva noiuni elementare de
geometrie.

Pagina 33 din 61

S nvm programare jucndu-ne n Scratch

Figura 28 Definiia blocului polygon(n, l, x, y)

Ruleaz proiectul de la adresa http://scratch.mit.edu/projects/42137406/#editor pentru a


vedea cum Drawbot deseneaz poligoane cu diferite culori i numr de laturi.

Figura 29 Poligoane cu numr de laturi diferite

Dup cum poi observa, un poligon cu multe laturi seamn cu un cerc. n continuare, vei
folosi aceste cunotine pentru a desena cercuri.
10.5.5 Desenarea un cerc provocare
Remixeaz proiectul http://scratch.mit.edu/projects/42136036/#editor.

Pagina 34 din 61

S nvm programare jucndu-ne n Scratch

Creeaz blocul circle(x, y, r) care deseneaz un cerc. Centrul cercului are coordonatele x i y.
Raza cercului este r. Vei aproxima cercul cu un poligon cu 90 de laturi. Folosete variabila l
pentru a stoca valoarea lungimii laturii poligonului.
Folosete blocul circle pentru a desena o int.
10.5.6 Desenarea unui cerc soluie
Poi folosi programul Scratch Paint Editor pentru a crea desene, ns cred c este mai simplu
s-l programezi pe Drawbot s fac acest lucru n locul tu.

Figura 30 Scripturi pentru desenarea unui cerc i a unei inte

n Figura 30 sunt prezentate scripturile pentru desenarea unui cerc i a unei inte. Ruleaz
proiectul de la adresa http://scratch.mit.edu/projects/42188032/#editor i vei vedea cum
deseneaz Drawbot o int.
10.5.7 Desenarea lui Karel provocare
l vei programa pe Drawbot s-l deseneze pe Karel.
Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/42193186/#editor, care
cuprinde urmtoarele blocuri noi:
draw rectangle(x, y, width, height)
draw circle(x, y, r)
set pen(color, shade, size)
Creeaz blocul draw chassis pentru a desena asiul lui Karel conform imaginii din Figura 31.
Folosete blocul du-te la x: () y: ().

Pagina 35 din 61

S nvm programare jucndu-ne n Scratch

Figura 31 asiul robotului Karel

Folosete blocurile draw rectangle (x, y, width, height), draw circle (x, y, r) i draw chassis
pentru a-l desena pe Karel ca n Figura 32.

Figura 32 Desenul robotului Karel


Pagina 36 din 61

S nvm programare jucndu-ne n Scratch

10.5.8 Desenarea lui Karel soluie


n Figura 33 este prezentat definiia blocului draw chassis.

Figura 33 Definiia blocului draw chassis

n proiectul de la adresa https://scratch.mit.edu/projects/42193628/#editor, Drawbot l


deseneaz pe Karel la o scar ntre 1 i 3, aleas de utilizator. Se folosete funcia recursiv
check answer, pentru a verifica dac rspunsul se ncadreaz n domeniul 1 - 3. Vezi ce se
ntmpl dac nu introduci un numr ntre 1 i 3.

10.6 int mobil


Unul din comportamentele unui robot const n urmrirea altui robot sau al unei persoane,
asemntor unei escorte. n aceast seciune l vei programa pe Karel s urmreasc o int
mobil.
10.6.1 int mobil provocare
Creeaz un proiect n care Karel se deplaseaz ctre o int mobil ca n filmul postat la
adresa https://youtu.be/498vHVw_ICs. Programul va fi rulat dup clicarea pe steagul verde.
Vei deplasa inta pe scen cu ajutorul mouse-ului. Traseul parcurs de robot va fi evideniat
cu ajutorul creionului. Prin apsarea tastei c se va terge traseul desenat de creion.
10.6.2 int mobil soluie
Proiectul de la pagina http://scratch.mit.edu/projects/41846786/#editor reprezint o
posibil soluie care respect constrngerile impuse n provocare.
Pagina 37 din 61

S nvm programare jucndu-ne n Scratch

11 Robot care evit obstacolele


Obiectiv: s programezi robotul Karel s evite obstacolele.

11.1 Ce este un robot care evit obstacolele?


Poi observa cum se comport roboii care evit obstacolele, dac urmreti filmul de la
adresa https://youtu.be/4PzV8L0Ro2E.
Scopul unui robot care evit obstacolele (Figura 34) este s evite coliziunea cu obiectele
nconjurtoare dintr-un mediu necunoscut.
Robotul are senzori care detecteaz obstacolele. De obicei, robotul se deplaseaz nainte.
Cnd senzorii detecteaz un obstacol, robotul evit obstacolul i i continu deplasarea
nainte.

Figura 34 Robot care evit obstacolele

11.1.1 Senzori pentru un robot care evit obstacolele


Roboii adevrai folosesc senzori mecanici, optici sau cu ultrasunete pentru a detecta
obstacolele. Cea mai accesibil variant de senzor tactil pentru un robot real poate fi
realizat cu un comutator monostabil, acionat de un fir metalic rigid prin intermediul cruia
este acionat comutatorul. Acesta comut n starea ON cnd lovete obstacolul.
Senzorii sunt uor de simulat n Scratch. Putem concepe tamponul ca fiind un dreptunghi
plin, amplasat n faa robotului. Pentru a detecta dac senzorul-tampon atinge un obstacol,
folosim blocul de detecie boolean <culoarea [] atinge []?> (Figura 35).

Figura 35 Blocul <culoarea [] atinge []?>


Pagina 38 din 61

S nvm programare jucndu-ne n Scratch

11.1.2 Controlul unui robot care evit obstacolele


Un robot cu doi senzori frontali (drept i stng) poate fi controlat astfel:
- Dac niciun senzor nu atinge obstacolul, robotul se deplaseaz nainte.
- Dac senzorul stng atinge obstacolul, robotul se rotete spre dreapta (n sens orar).
- Dac senzorul drept atinge obstacolul, robotul se rotete spre stnga (n sens antiorar).
- Dac ambii senzori ating obstacolul, robotul se rotete cu 90 de grade.
Pentru a menine robotul pe scen n cazul n care ajunge la marginea scenei, putem folosi
blocul dac atingi marginea, ricoeaz (Figura 36).

Figura 36 Blocul care nu las personajul s prseasc scena

11.2 Senzori tactili


n aceast seciune, i vei aduga doi senzori tactili lui Karel.
11.2.1 Senzori tactili provocare
Remixeaz proiectul de la http://scratch.mit.edu/projects/41723100/#editor. Dup cum
observi, obstacolul este un cerc rou cu margine neagr, amplasat n mijlocul scenei. Senzorii
trebuie s detecteze conturul negru al cercului.
1. Adaug doi senzori n faa lui Karel (dou dreptunghiuri mici de culori diferite).
2. Creeaz dou variabile care stocheaz starea senzorilor: left bumper (senzor stnga) i
right bumper (senzor dreapta).
3. Creeaz blocul read sensors (citete senzorii), care citete starea senzorilor i actualizeaz
valorile celor dou variabile care stocheaz strile senzorilor: left bumper i right bumper.
Senzorii iau valoarea 1 dac ating obstacolul (adic ating culoarea neagr) i 0 n rest. Poi
folosi blocul <culoarea [] atinge []?> pentru a verifica dac senzorii ating marginea obiectului
(culoarea neagr).
4. Testeaz programul deplasndu-l pe Karel n diverse poziii, cu orientri diferite, i
verificnd valorile variabilelor left bumper i right bumper afiate pe scen.
11.2.2 Senzori tactili soluii
n Figura 37 sunt prezentate dou posibile soluii pentru definirea blocului read bumpers.
Proiectele sunt disponibile la http://scratch.mit.edu/projects/41722776/#editor i
http://scratch.mit.edu/projects/41722656/#editor. Clicheaz pe steagul verde pentru a rula
soluia aleas. Dup cum observi, robotul urmrete cursorul mouse-ului. Deplaseaz
senzorii peste culoarea neagr i verific strile celor doi senzori afiate pe scen. Asigur-te
c n ambele soluii blocurile pentru citirea senzorilor au un comportament identic.
Pagina 39 din 61

S nvm programare jucndu-ne n Scratch

Figura 37 Dou soluii posibile pentru definirea blocului read bumpers

11.3 Evitarea obstacolelor


n aceast seciune, vei scrie un program pentru un robot care evit obstacolele.
11.3.1 Evitarea obstacolelor - provocare
Remixeaz proiectul de la http://scratch.mit.edu/projects/41723854/#editor.
Controleaz robotul folosind algoritmul din seciunea 11.1.2.
Testeaz programul cu valori diferite ale vitezei (variabila speed).
11.3.2 Evitarea obstacolelor - soluii
Exist 2 soluii disponibile la http://scratch.mit.edu/projects/41722446/#editor i
http://scratch.mit.edu/projects/41720918/#editor.
Clicheaz pe steagul verde pentru a rula oricare dintre soluii. Modific viteza i observ ce
se ntmpl.

Compar cele dou implementri ale aceluiai algoritm n cele dou soluii.
11.4 Mai multe teste, mai mult distracie
Comportamentul robotului depinde de forma i poziia obstacolelor de pe scen. Este timpul
s creezi mai multe teste pentru robot (decoruri diferite).
11.4.1 Decoruri pentru testarea evitrii obstacolelor provocare
Remixeaz proiectul de la adresa https://scratch.mit.edu/projects/41725006/#editor.
Creeaz decoruri cu dispuneri diferite ale obstacolelor (e.g. Figura 38).
Testeaz comportamentul lui Karel pentru decoruri diferite.
Gsete soluii pentru modificarea scriptului n cazul n care Karel se blocheaz ntr-o
anumit poziie.

Pagina 40 din 61

S nvm programare jucndu-ne n Scratch

Figura 38 Decor pentru testarea evitrii obstacolelor

11.4.2 Decoruri pentru testarea evitrii obstacolelor soluie


Proiectul de la adresa http://scratch.mit.edu/projects/41725104/#editor are decoruri noi, cu
ajutorul crora se poate testa abilitatea robotului de a se descurca n diferite medii.
n cazul unuia dintre decoruri, Karel se mpotmolete, dup cum poi observa dac n
proiectul anterior selectezi decorul din Figura 39 i rulezi programul prin clicarea steagului
verde. Remixeaz proiectul i caut o soluie la problema lui Karel.

Figura 39 Decor care i creeaz probleme lui Karel

Pagina 41 din 61

S nvm programare jucndu-ne n Scratch

11.5 Doi roboi pe scen


E timpul pentru o sarcin mai dificil. Vom avea doi roboi pe scen simultan (Figura 40).
Roboii trebuie s evite obstacolele i s se evite unul pe cellalt. O soluie posibil ar fi s
ntoarcei robotul cnd distana fa de cellalt robot scade sub o anumit valoare. Este o
aciune uor de implementat n Scratch.

Figura 40 Doi roboi pe scen

11.5.1 Doi roboi pe scen provocare


Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/41726068/#editor.
Dup cum observi, exist doi roboi pe scen: Karel1 i Karel2.
1. Ruleaz programul pentru a verifica dac ambii roboi evit obstacolele.
2. Creeaz blocul avoid robot (evit robot) pentru ca robotul Karel1 s-l evite pe Karel2.
3. Testeaz programul.
4. Scrie un bloc similar, cu ajutorul cruia Karel2 s-l evite pe Karel1 i repet testul.
11.5.2 Doi roboi pe scen soluie
La adresa http://scratch.mit.edu/projects/41727484/#editor este prezentat o soluie
pentru doi roboi care evit att obstacolele ct i unul pe cellalt. Poi remixa i mbunti
programul.

Pagina 42 din 61

S nvm programare jucndu-ne n Scratch

12 Robot care urmrete peretele


Obiectiv: s l programezi pe Karel s urmreasc un perete.

12.1 Ce este un robot care urmrete peretele?


Urmrete filmul postat la adresa https://youtu.be/p6MQ_LDUx3w, pentru a observa cum
urmrete Karel peretele.
Un robot urmrete un perete atunci cnd se deplaseaz pe lng perete pstrnd o
anumit distan fa de acesta, fr s-l loveasc sau s se ndeprteze prea mult de el.
Karel va urmri peretele cu ajutorul regulii minii stngii, care spune c peretele va fi
ntotdeauna pe partea stng a robotului.
12.1.1 Senzori pentru un robot care urmrete peretele
Ca i n cazul robotului care evit obstacole, robotul care urmrete peretele va folosi senzori
tactili digitali. Aceti senzori au dou stri: activat (senzorul atinge peretele) i dezactivat
(senzorul nu atinge peretele).
Roboii adevrai folosesc i senzori analogici, care raporteaz distana fa de perete. n
cadrul acestei uniti, vom ncerca s simulm un senzor care raporteaz o distan cu valori
din intervalul 1 - 6.
12.1.2 Controlul unui robot care urmrete peretele
Putem controla robotul care urmrete peretele dup cum urmeaz:
- Dac senzorul raporteaz distana corect fa de perete, robotul se deplaseaz nainte.
- Dac robotul este prea aproape de perete, se ndeprteaz de acesta.
- Dac robotul este prea departe de perete, se va apropia de acesta.
Aciunile robotului pot fi proporionale cu valoarea erorii reale.

12.2 Senzorul de distan


n aceast seciune, vei proiecta un senzor de distan.
12.2.1 Introducere
n mod normal, roboii folosesc senzori optici (IR) sau cu ultrasunete pentru a msura
distana fa de un obiect.
n Scratch, este uor s calculm distana dintre spiridui, definit drept distana dintre
centrele acestora. Putem calcula distana dintre spiridui dac ambii sunt rotunzi, micornd
distana dintre centre cu suma razelor celor doi spiridui. Metoda nu este ns bun pentru
msurarea distanei fa de un zid.
tim c putem folosi blocul <color [] is touching []?> pentru a crea un senzor tactil. Putem
folosi acelai bloc pentru a crea un senzor de distan. Senzorul nostru va fi un b obinut
Pagina 43 din 61

S nvm programare jucndu-ne n Scratch

din dreptunghiuri de diferite culori. Cu ajutorul blocului <color [] is touching []?>, putem
calcula distana fa de marginea unui obiect.
12.2.2 Senzor de distan provocare
Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/41760210/#editor.
Adug un senzor de distan n partea stng a lui Karel. Senzorul de distan este alctuit
din ase dreptunghiuri de diferite culori (Figura 41). Senzorul nu este orientat perpendicular
pe axa longitudinal a robotului, ci la un unghi de 45 de grade fa de axa longitudinal a
robotului.

Figura 41 Senzor de distan cu valori n intervalul 1 6

Creeaz un bloc denumit read left sensor (citete senzorul stng), care va actualiza variabila
left sensor (senzorul stng) cu o valoare variind ntre 0 i 6, n funcie de distana fa de
perete. Valoarea 6 nseamn c senzorul nu atinge peretele.
Creeaz un program care s citeasc valoarea senzorului stng, s o stocheze n variabila left
sensor i s o afieze pe scen.
Testeaz programul modificnd distana dintre senzor i perete i verificnd valoarea afiat
a variabilei left sensor.
12.2.3 Senzor de distan soluie
O soluie este la adresa http://scratch.mit.edu/projects/41758864/#editor. Clicheaz pe
steagul verde pentru a rula programul. Apas tasta sgeat stnga pentru a mica robotul
spre stnga. Apas tasta sgeat dreapta pentru a mica robotul spre dreapta. Verific
valoarea distanei afiate pe scen.
Remixeaz i mbuntete soluia anterioar.

Pagina 44 din 61

S nvm programare jucndu-ne n Scratch

12.3 Robot care urmrete peretele cu ajutorul unui singur senzor


n aceast seciune, l vei programa pe Karel s urmreasc un perete folosind doar senzorul
de distan proiectat n seciunea anterioar.
12.3.1 Urmritor de perete cu un singur senzor introducere
Vrem ca robotul Karel s urmreasc peretele la o distan dat (de exemplu, 3). Pentru a-l
programa pe Karel s urmeze peretele, trebuie s citim valoarea senzorului, care poate varia
ntre 0 i 6. Trebuie s calculm eroarea de distan, definit drept diferena dintre valoarea
real a senzorului de distan i valoarea de referin (3).
Eroarea are o valoare pozitiv dac distana robot perete este mai mare dect 3. n acest
caz, Karel se va roti spre stnga (ctre perete). Eroarea are o valoare negativ dac distana
robot perete este mai mic dect 3. n acest caz, Karel se va roti spre dreapta (se va
ndeprta de perete). Unghiul de rotire va fi proporional cu valoarea erorii.
12.3.2 Urmritor de perete cu un singur senzor provocare
Remixeaz proiectul http://scratch.mit.edu/projects/41757022/#editor.
Dup cum observi, Karel are un senzor de distan care poate fi citit cu ajutorul blocului read
left sensor (citete senzorul stng). Distana real (un numr ntre 0 i 6) este stocat n
variabila left sensor (senzorul stng).
Creeaz o variabil denumit lateral error (eroarea lateral) pentru a stoca eroarea definit
ca diferena dintre distana real stocat n variabila left sensor i distana de referin (de
ex. 3).
Controleaz comportamentul lui Karel astfel:
- Dac distana fa de perete este mai mic dect valoarea de referin (3), ndeprteaz-te
de perete.
- Dac distana fa de perete este mai mare dect valoarea de referin (3), apropie-te de
perete. Aciunea poate fi realizat foarte uor, rotind robotul n sens antiorar cu un unghi
direct proporional cu valoarea variabilei lateral error.
- Karel se deplaseaz nainte cu un numr de pai egal cu valoarea variabilei speed.
Testeaz programul cu decoruri i diferite valori ale parametrilor lui Karel (de ex. vitez,
constant de proporionalitate).

12.3.3

Urmritor de perete cu un singur senzor soluie


O posibil soluie este la adresa http://scratch.mit.edu/projects/41756484/#editor.
Clicheaz pe steagul verde pentru a rula aceast soluie. Observ ce se ntmpl dac
mreti viteza.

Pagina 45 din 61

S nvm programare jucndu-ne n Scratch

Se observ c robotul Karel ntmpin probleme cu urmrirea peretelui atunci cnd mrim
viteza. Vom ncerca s soluionm problema n urmtoarea seciune, n care vom proiecta un
robot care urmrete peretele cu ajutorul a doi senzori de distan.
Karel urmrete peretele doar dac este poziionat bine la nceput, el nefiind programat s
gseasc peretele dac nu se afl n poziia iniial corect.
Remixeaz i optimizeaz soluia prezentat.

12.4 Robot care urmrete peretele cu ajutorul a doi senzori


n aceast seciune vei mbunti comportamentul de urmrire a peretelui al lui Karel cu
ajutorul a doi senzori de distan.
12.4.1 Urmritor de perete cu doi senzori introducere
Dup cum am vzut n seciunea anterioar, robotul care urmrete peretele cu un singur
senzor poate ntmpina dificulti cnd mrim viteza. Situaia se datoreaz vitezei mici de
reacie a robotului n cazul n care exist un perete n faa lui.
Problema se poate soluiona folosind un senzor n faa robotului. Cnd acest senzor
detecteaz un perete n faa sa, robotul se va roti spre dreapta i va continua s urmreasc
peretele cu ajutorul senzorului lateral.
12.4.2 Urmritor de perete cu doi senzori provocare
Remixeaz proiectul http://scratch.mit.edu/projects/41753442/#editor.
Dup cum observi, Karel are un senzor lateral care este citit folosind blocul read left sensor
(citete senzorul stng). Variabila speed stocheaz viteza lui Karel.
1. Adug un senzor de distan n faa lui Karel.
2. Creeaz un bloc read front sensor (citete senzorul frontal) pentru a citi informaiile de la
senzorul frontal i a le stoca n variabila front sensor (senzor frontal).
3. Definete blocul read sensors (citeti senzorii) care citete ambii senzori (stnga i
frontal).
4. Calculeaz erorile ambilor senzori i stocheaz-le n variabilele frontal error (eroarea
frontal) i lateral error (eroarea lateral).
5. Controleaz-l pe Karel astfel:
- Dac senzorul frontal detecteaz un perete, vireaz la dreapta.
- n oricare alt situaie, urmrete peretele folosind informaii de la senzorul stng.
6. Proiecteaz diverse decoruri pentru a testa comportamentul de urmrire a peretelui.
Testeaz robotul la viteze i valori diferite ale parametrilor.
Pagina 46 din 61

S nvm programare jucndu-ne n Scratch

12.4.3 Urmritor de perete cu doi senzori soluie


O soluie posibil este la adresa http://scratch.mit.edu/projects/41750262/#editor.
Clicheaz pe steagul verde pentru a rula aceast soluie.
Remixeaz i optimizeaz soluia prezentat.

Pagina 47 din 61

S nvm programare jucndu-ne n Scratch

13 Robot urmritor de linie


Obiectiv: s l programezi pe Karel s urmreasc o linie neagr pe o suprafa alb.

13.1 Ce este un robot care urmrete linia?


Urmrete filmul postat la adresa https://youtu.be/HjdDp7oMXTA, pentru a observa modul
n care Karel urmrete linia.
Un robot urmritor de linie este capabil s se deplaseze de-a lungul unui traseu (Figura 42).
De obicei, traseul este o linie neagr pe o suprafa alb sau o linie alb pe o suprafa
neagr. Concursurile de urmrirea liniei sunt foarte populare i au regulamente similare cu
cel din [3].

Figura 42 Robot urmritor de linie

13.1.1 Urmritor de linie senzori


n mod normal, roboii care urmresc linia folosesc senzori optici (IR), plasai frontal, pentru
a detecta linia. Robotul care urmrete linia poate fi prevzut doar cu un senzor digital, care
poate fi analogic sau digital.
n cazul simulrii n Scratch, vom folosi senzori digitali, care semnaleaz doar dac senzorul
este deasupra liniei sau nu. n cadrul acestei lecii, vom proiecta dou variante de roboi: una
cu doi senzori i alta cu 12 senzori.
13.1.2 Urmritor de linie - control
Putem controla robotul care urmrete linia dup cum urmeaz:
- Dac robotul este deasupra liniei, atunci se va deplasa nainte.
Pagina 48 din 61

S nvm programare jucndu-ne n Scratch

- Dac robotul este n stnga liniei, se va roti spre dreapta (n sens orar).
- Dac robotul este n dreapta liniei, se va roti spre stnga (n sens anti orar).
Aciunile robotului pot fi direct proporionale cu valoarea erorii reale.

13.2 Robot care urmrete linia cu ajutorul a doi senzori


Putem construi un robot care urmrete corect linia doar cu ajutorul a doi senzori. n aceast
seciune, l vom transforma pe Karel ntr-un robot care urmrete linia cu ajutorul a doi
senzori.
n continuare voi prezenta caracteristicile senzorilor i modul de control al robotului.
13.2.1 Senzorii unui urmritor de linie cu doi senzori
Senzorii de linie sunt dou mici dreptunghiuri (sau cercuri) de diferite culori, amplasate n
faa robotului, unul pe partea stng, altul pe dreapta (Figura 43). Distana dintre marginile
senzorilor trebuie s fie egal cu limea liniei.

Figura 43 Urmritor de linie cu doi senzori

Vom folosi blocul <culoarea [] atinge []?> pentru a verifica dac senzorul se afl deasupra
liniei (de culoare neagr). Valoarea senzorului este 1 dac acesta se afl deasupra liniei i 0 n
caz contrar.
13.2.2 Urmritor de linie cu doi senzori control
Este foarte uor s-l controlm pe Karel:
1. Dac senzorii au aceeai valoarea (0 sau 1), Karel se deplaseaz nainte.
2. Dac senzorii au valori diferite, Karel se rotete spre partea senzorului cu valoarea mai
mare (de ex., dac senzorul stng = 1 i cel drept = 0, atunci Karel se rotete spre stnga,
adic n sens antiorar).
13.2.3 Provocare: Robot urmritor de linie cu doi senzori
Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/41779016/#editor.
Pentru a-l face pe Karel s urmreasc linia poi urma urmtorii pai:
Pagina 49 din 61

S nvm programare jucndu-ne n Scratch

1. Amplaseaz doi senzori de linie (dreptunghiuri de diferite culori) n faa lui Karel.
2. Creeaz blocul read sensors (citete senzorii), care actualizeaz valorile variabilelor left
sensor (senzor stnga) i right sensor (senzor dreapta). Valoarea este 1 dac senzorul se afl
deasupra liniei i 0 n caz contrar.
3. Creeaz variabila error (eroare), care stocheaz diferena dintre variabilele left sensor
i right sensor.
4. Creeaz variabilele speed (viteza) i Kp (constanta de proporionalitate), care
stocheaz doi parametri ai robotului: viteza i constanta de proporionalitate.
5. Controleaz robotul astfel:
- Robotul se rotete spre stnga cu un unghi egal cu produsul dintre Kp i error (de reinut
c robotul se va roti spre dreapta dac unghiul este negativ).
- Robotul se deplaseaz nainte cu un numr de pai egal cu variabila speed.
Testeaz comportamentul lui Karel pe trasee diferite (pentru schimbarea traseului se alege
alt decor), precum i cu valori diferite ale parametrilor Kp i speed.
Ce se ntmpl dac mreti viteza?
13.2.4 Soluie: Robot urmritor de linie cu doi senzori
Clicheaz pe steagul verde pentru a rula una dintre soluiile posibile, care poate fi accesat la
http://scratch.mit.edu/projects/41770786/#editor. Ce se ntmpl dac mreti viteza?
Remixeaz soluia prezentat i mbuntete-o pentru a mri viteza maxim.

13.3 Robot urmritor de linie cu 12 senzori


n cadrul acestei seciuni, i vei aduga 12 senzori de linie lui Karel, pentru a obine un robot
care urmrete eficient linia.
13.3.1 Particularitile unui robot urmritor de linie cu 12 senzori
n seciunea anterioar, am vzut c un robot care urmrete linia cu ajutorul a doi senzori
pierde linia dac raza minim a curbelor este prea mic sau dac viteza robotului este prea
mare. Putem construi un robot care urmrete mai bine linia, cu ajutorul mai multor senzori,
n cazul nostru, 12.
Cei 12 senzori de linie sunt digitali (1 deasupra liniei, 0 n caz contrar), prin urmare putem
avea 2^12 = 4096 combinaii. Chiar dac multe dintre combinaii nu se regsesc n realitate,
pare destul de dificil de interpretat informaia oferit de senzori.
De fapt, este uor s calculm eroarea cu ajutorul informaiilor primite de la cei 12 senzori
de linie: folosim media ponderat. S presupunem c poziiile celor 12 senzori, de la stnga
la dreapta (imaginai-v c suntei oferul) sunt -11, -9, , -1, 1, , 9, 11. Notm valorile
Pagina 50 din 61

S nvm programare jucndu-ne n Scratch

senzorilor de linie, de la stnga la dreapta, cu S1, S2 S12. Dac cel puin un senzor se afl
deasupra liniei, eroarea poate fi calculat cu ajutorul formulei din Figura 44.

Figura 44 Formula pentru calculul erorii

Robotul este controlat la fel ca n varianta cu doi senzori.


13.3.2 Urmritor de linie cu 12 senzori provocare
Remixeaz proiectul http://scratch.mit.edu/projects/41807096/#editor.
Dup cum observi, Karel are deja 12 senzori de linie n fa. Dac doreti, poi reproiecta
senzorii pentru a obine performane mai bune, modificnd forma i dimensiunea senzorilor
i / sau distana dintre ei.
Creeaz blocul read sensors (citete senzorii), care actualizeaz valorile variabilelor S1 S12,
variabile ce stocheaz valorile senzorilor de linie.
Creeaz blocul calculate error (calculeaz eroarea), care calculeaz eroarea cu ajutorul
mediei ponderate. Poi folosi unele variabile auxiliare precum numerator (numrtor) i
denominator (numitor). Eroarea este stocat n variabila actual error (eroarea actual). Este
util crearea unei alte variabile, last error, care s stocheze eroarea anterioar.
Creeaz variabilele speed i Kp, care stocheaz doi parametri ai robotului: viteza i constanta
de proporionalitate.
Controleaz robotul dup cum urmeaz:
- Rotete robotul spre stnga cu un unghi egal cu produsul dintre variabilele Kp i actual
error (de reinut c robotul se va roti spre dreapta dac unghiul este negativ).
- Deplaseaz robotul nainte cu un numr de pai egal cu valoarea variabilei speed.
Testeaz robotul cu trasee diferite, precum i cu valori diferite ale parametrilor Kp i speed.
13.3.3 Urmritor de linie cu 12 senzori soluie
Exist dou soluii la adresele http://scratch.mit.edu/projects/41779714/#editor i
http://scratch.mit.edu/projects/41800832/#editor. Clicheaz pe steagul verde pentru a
vedea robotul n aciune. Poi modifica valorile variabilelor speed i Kp (factorul de
proporionalitate) pentru a vedea cum schimb comportamentul robotului.
Dac apei tasta sgeat jos, creionul este lsat jos i poi vedea traiectoria urmat de
centrul robotului. Dac apei tasta sgeat sus, creionul este ridicat i nu mai deseneaz.
Apas tasta c pentru a terge traseele desenate de creion pe scena.
Pagina 51 din 61

S nvm programare jucndu-ne n Scratch

Exist o singur diferen ntre cele dou implementri, legat de modul de calcul al
variabilei last error. Dac testezi cele dou programe cu trasee diferite, vei vedea care
implementare corespunde mai bine anumitor trasee.
Ambele proiecte conin un script care te ajut s verifici senzorii. Robotul se va mica de la
stnga la dreapta i napoi. Dac exist o linie neagr n poziie median, poi verifica dac
informaiile provenite de la senzori sunt corecte. De asemenea, poi verifica valoarea
variabilei actual error. Scriptul este executat la apsarea tastei s.
Remixeaz cele dou soluii i ncearc s le mbunteti.

Pagina 52 din 61

S nvm programare jucndu-ne n Scratch

14 Robot care soluioneaz labirintul din linii


Obiectiv: s programezi robotul Karel s rezolve un labirint din linii.

14.1 Introducere n labirint


Urmrete filmul de la adresa https://youtu.be/_Ei2oibdSTc pentru a observa cum gsete
Karel ieirea din labirint.
Un robot care soluioneaz un labirint din linii se deplaseaz de la start la sosire, urmrind o
linie, n cel mai scurt timp posibil (Figura 45). Un labirint din linii este, de obicei, desenat cu
linii negre pe o suprafa alb. Prima dat, robotul exploreaz labirintul, astfel nct s
gseasc un drum ntre start i sosire. A doua oar l parcurge pe cel mai scurt drum.

Figura 45 Labirint cu linii

Concursurile de rezolvare a labirinturilor sunt foarte populare. Mai multe despre un astfel de
concurs poi afla din regulamentul [4].
14.1.1 Senzori pentru labirint cu linii
Un robot pentru parcurgerea unui labirint folosete senzori optici amplasai n faa robotului
pentru a detecta linia. Este posibil s foloseti doar patru senzori: doi urmresc linia, iar
ceilali doi ajut la identificarea interseciilor (inclusiv fundturile i sosirea).
14.1.2 Controlarea robotului care soluioneaz labirinturi
Un robot poate gsi ieirea dintr-un labirint urmrind peretele. Vom folosi regula minii
stngi, ceea ce nseamn instruciunile pe care robotul le urmeaz sunt:
- Rotete-te spre stnga n loc s naintezi sau s te roteti la dreapta.
- nainteaz n loc s te roteti la dreapta.
Pagina 53 din 61

S nvm programare jucndu-ne n Scratch

14.1.3 Optimizarea traseului robotului


De obicei, un labirint conine foarte multe fundturi (linia se termin, iar robotul trebuie s
se roteasc la 180 de grade).
La prima rulare, robotul ajunge n multe fundturi, ceea ce duce la creterea timpului de
parcurgere a labirintului. Iat de ce roboii inteligeni rein, cu ocazia primei rulri, tipurile de
intersecii vizitate (inclusiv fundturile).
nainte de a efectua a doua curs, robotul optimizeaz traseul, eliminnd toate fundturile.
Cea de-a doua rulare este mai rapid dect prima pentru c traiectoria nu mai conine
fundturi.

14.2 Rezolvarea labirintului - provocare


Iat o prob cu adevrat dificil! Va trebui s-l programezi pe Karel s parcurg un labirint
din linii.
Remixeaz proiectul de la adresa http://scratch.mit.edu/projects/41881278/#editor.
Dup cum poi observa, Karel are patru senzori optici n fa. Decorurile diferite i permit s
testezi comportamentul robotului n diferite cazuri particulare.
1. Programeaz-l pe Karel s parcurg labirintul de la start la sosire.
2. Programeaz-l pe Karel s parcurg labirintul pe calea cea mai scurt.
Mult succes!

14.3 Soluie pentru rezolvarea labirintului


O soluie posibil se gsete la http://scratch.mit.edu/projects/41812402/#editor.
Clicheaz pe steagul verde pentru a rula programul.
Apas tasta s pentru a parcurge labirintul prima dat (s vine de la slow = ncet).
Apas tasta q pentru a parcurge labirintul a doua oar, dup terminarea cntecului (q vine
de la quick = rapid).
Poi remixa i optimiza soluia prezentat.

14.4 Soluie mbuntit pentru rezolvarea labirintului


Soluia mbuntit prezentat la https://scratch.mit.edu/projects/45753042/#editor se
bazeaz pe cea anterioar, ns conine noi caracteristici. n aceast versiune, utilizatorul
poate alege punctul de start (o fundtur a labirintului) i poate stabili vitezele robotului n
cele dou ncercri.
Pentru a folosi programul, utilizatorul trebui s fac urmtoarele:
1. Clicheaz pe steagul verde pentru a rula programul.
Pagina 54 din 61

S nvm programare jucndu-ne n Scratch

2. Alege punctul de pornire clicnd pe una dintre fundturile labirintului.


3. Selecteaz viteza cursei lente (prima).
4. Selecteaz viteza cursei rapide (a doua).
5. Apas tasta s pentru a rula prima curs.
6. Apas tasta q pentru a rula a doua curs.
Poi testa comportamentul robotului cu puncte de pornire i viteze diferite. Ce se ntmpl
dac viteza este prea mare? Ce se ntmpl dac punctul de pornire ales nu este o
fundtur?
Remixeaz i optimizeaz soluia propus.

Pagina 55 din 61

S nvm programare jucndu-ne n Scratch

Bibliografie
[1] M. Agape, Scratch - Curs pentru nceptori, Orova, 2011.
[2] M. Agape, Robo Scratch, Scientix, 15 November 2015. [Interactiv]. Available:
http://moodle.scientix.eu/course/view.php?id=593. [Accesat 15 March 2016].
[3] M. Agape, Regulamentul concursurilor de urmrire a liniei, 15 November 2015.
[Interactiv]. Available: http://1drv.ms/1KJ2qh6. [Accesat 15 February 2016].
[4] M. Agape, Regulamentul concursurilor de ieire din labirint, 15 November 2015.
[Interactiv]. Available: http://1drv.ms/1XLGLaa. [Accesat 15 February 2016].

Pagina 56 din 61

S nvm programare jucndu-ne n Scratch

List de figuri
Figura 1 Interfaa Scratch 2.0 ..................................................................................................... 5
Figura 2 Dimensiunile scenei ...................................................................................................... 6
Figura 3 Micare i sunet ............................................................................................................ 7
Figura 4 Blocul nainteaz () pai ............................................................................................... 7
Figura 5 Adugarea unui sunet................................................................................................... 8
Figura 6 E timpul pentru dans .................................................................................................... 9
Figura 7 Evenimente i control ................................................................................................. 10
Figura 8 Bucl infinit ............................................................................................................... 10
Figura 9 Instruciunea cnd se clicheaz pe steagul verde ..................................................... 11
Figura 10 Steagul verde i iconia roie stop se afl deasupra scenei n colul din dreapta .... 12
Figura 11 S ne jucm cu culorile ............................................................................................. 13
Figura 12 Modificarea culorii .................................................................................................... 13
Figura 13 Crearea efectelor de imagine ................................................................................... 14
Figura 14 Controlarea aciunilor din taste................................................................................ 14
Figura 15 Personaje .................................................................................................................. 16
Figura 16 Vorbire ...................................................................................................................... 18
Figura 17 Sunete, voci, muzic ................................................................................................. 20
Figura 18 Crearea animaiilor ................................................................................................... 22
Figura 19 Karel i trei inte ....................................................................................................... 28
Figura 20 Trei inte - scripturi pentru provocarea 1 ................................................................. 28
Figura 21 Trei inte provocarea 2 scripturi soluie greit ................................................. 29
Figura 22 Trei inte provocarea 2 scripturi soluie bun .................................................... 29
Figura 23 Trei inte provocarea 3 soluie scripturi ............................................................. 30
Figura 24 Evidenierea drumului parcurs i schimbarea culorii intelor .................................. 31
Figura 25 Trei inte provocarea 4 modificare scripturi ....................................................... 31
Figura 26 Soluia pentru definiia blocului rectangle (x, y, width, height) ............................. 32
Figura 27 Dreptunghiuri cu nuane diferite ............................................................................. 33
Figura 28 Definiia blocului polygon(n, l, x, y) ......................................................................... 34
Figura 29 Poligoane cu numr de laturi diferite ....................................................................... 34
Figura 30 Scripturi pentru desenarea unui cerc i a unei inte ................................................ 35
Figura 31 asiul robotului Karel ................................................................................................ 36
Figura 32 Desenul robotului Karel ............................................................................................ 36
Figura 33 Definiia blocului draw chassis ................................................................................. 37
Figura 34 Robot care evit obstacolele .................................................................................... 38
Figura 35 Blocul <culoarea [] atinge []?> ................................................................................. 38
Figura 36 Blocul care nu las personajul s prseasc scena ................................................ 39
Figura 37 Dou soluii posibile pentru definirea blocului read bumpers ................................ 40
Figura 38 Decor pentru testarea evitrii obstacolelor ............................................................. 41
Figura 39 Decor care i creeaz probleme lui Karel .................................................................. 41
Figura 40 Doi roboi pe scen ................................................................................................... 42
Figura 41 Senzor de distan cu valori n intervalul 1 6 ........................................................ 44
Pagina 57 din 61

S nvm programare jucndu-ne n Scratch

Figura 42 Robot urmritor de linie ........................................................................................... 48


Figura 43 Urmritor de linie cu doi senzori .............................................................................. 49
Figura 44 Formula pentru calculul erorii .................................................................................. 51
Figura 45 Labirint cu linii .......................................................................................................... 53

Pagina 58 din 61

S nvm programare jucndu-ne n Scratch

Anexa A - Regulamentul Concursului Internaional de Programare


n Scratch SCRIPT
Concursul se adreseaz elevilor din ciclul primar i gimnazial i const n realizarea, de ctre echipe
formate din 2 4 elevi, a unui proiect n limbajul de programare Scratch.
Scratch este un limbaj de programare dezvoltat de grupul Lifelong Kindergarten din cadrul MIT Media
Lab. Cu Scratch, copiii pot nva de la vrste mici (6 ani), ntr-o manier ludic, principalele concepte
ale programrii. Programul Scratch poate fi descrcat gratuit de la adresa http://scratch.mit.edu.
Prezentul regulament va fi tradus n limba englez pentru participanii din afara Romniei.
Regulamentul a fost elaborat de Mihai Agape, iniiatorul concursului SCRIPT.

Scop i obiective
Scopul concursului SCRIPT 2016 este promovarea programrii n rndul elevilor din ciclul gimnazial i
primar prin folosirea limbajului de programare Scratch.
Obiectivele specifice ale concursului sunt:
O1.

Stimularea preocuprilor elevilor n domeniul programrii.

O2.

Dezvoltarea competenelor de exprimare n limba englez a elevilor i cadrelor


didactice.

O3.

Promovarea elevilor valoroi din rndul elevilor participani.

O4.

Popularizarea celor mai interesante proiecte.

Seciuni i categorii de vrst


Concursul se desfoar pe ase seciuni:
Felicitri

Poveti

Jocuri

Simulri

Muzic i dans

Software educaional

Fiecare dintre cele ase seciuni se desfoar pe nou categorii de vrst, cte o categorie pentru
fiecare clas de la clasa pregtitoare pn la clasa a VIII-a.

Cine poate participa


La concurs pot participa elevi din cluburi, palate ale copiilor i coli , organizai n echipe formate din
2, 3 sau 4 membri. Elevii unei echipe trebuie s fie din aceeai unitate de nvmnt i s se ncadreze
n categoria de vrst corespunztoare (nu se admite participarea la o categorie superioar). Fiecare
echip trebuie s aib un coordonator care este profesor n aceeai unitate de nvmnt cu elevii.
Un elev poate face parte din mai multe echipe, cu condiia ca echipele s fie nscrise la seciuni diferite.
Prin urmare, un elev nu poate face parte din dou echipe care sunt nscrise la aceeai seciune.
Pagina 59 din 61

S nvm programare jucndu-ne n Scratch

Desfurarea concursului
nscrierea n competiie
O unitate de nvmnt poate participa la concurs doar dac este nregistrat n competiie de ctre
un cadru didactic al respectivei instituii, folosind formularul de nregistrare on line pus la dispoziie de
organizatori. n formular se solicit att datele de contact ct i informaii referitoare la numrul de
echipe ndrumate la fiecare seciune a concursului.
Numrul de uniti care se pot nscrie dintr-o ar, alta dect Romnia, este de trei. nscrierea unitii
se face nainte de termenul limit precizat n seciunea 0.

Realizarea proiectelor i ndrumarea echipelor


Profesorul coordonator ndrum elevii n dezvoltarea proiectului, dar acesta trebuie s fie rodul muncii
elevilor din echip. Proiectele trebuie s fie originale i trebuie s fie rezultatul muncii echipei care
trimite proiectul.
Proiectele vor fi realizate n limba englez. Proiectele care folosesc o alt limb vor fi eliminate din
concurs.
Autorii proiectului trebuie s dein drepturile de copyright pentru muzica, sunetele, textul i imaginile
folosite n proiect. Proiectele care ncalc aceste reguli vor fi descalificate.
Proiectele nu trebuie s conin informaii referitoare la autori, instituia de provenien, coordonator
sau ar. Proiectele care conin astfel de informaii vor fi eliminate din concurs.

Selectarea proiectelor pentru faza final


O unitate de nvmnt poate transmite la faza final 1 proiect la fiecare seciune i categorie de
vrst (i.e. un maximum posibil de 6 x 9 = 54 proiecte). Dac la nivelul unei instituii exist mai multe
proiecte la aceeai seciune i la aceeai categorie de vrst, cadrul didactic coordonator sau cadrele
didactice coordonatoare vor organiza o competiie la nivelul instituiei de nvmnt n urma creia
vor selecta cel mai bun proiect pentru fiecare seciune i categorie de vrst.

Transmiterea proiectelor
Proiectele calificate pentru faza final vor fi transmise la adresa de email a concursului
scriptrial@gmail.com nainte de termenul limit specificat la seciunea 0.
Proiectele transmise vor fi ncadrate (de ctre creatorii lor) n una din cele ase seciuni ale concursului.
Organizatorii concursului i rezerv dreptul de a descalifica orice proiect al crui coninut este
considerat inadecvat sau care nu respect regulile concursului.

Evaluarea proiectelor
Evaluarea proiectelor se va face de ctre un juriu format din cadre didactice. Ierarhizarea lucrrilor se
va face n funcie de nota acordat de juriu.
Criterii de evaluare a lucrrilor:
Originalitate

Folosirea caracteristicilor Scratch

Creativitate

Calitatea global a proiectului


Pagina 60 din 61

S nvm programare jucndu-ne n Scratch

Fiecare proiect va primi o not de la 1 la 10. Pentru fiecare seciune i categorie de vrst se va ntocmi
un clasament al proiectelor n ordinea descresctoare a notelor.
Premiile I, II, III i meniunile se vor acorda proiectelor pe baza urmtoarelor 3 reguli:
-

Primul proiect din clasamentul pentru o seciune i categorie de vrst poate primi premiul I, cel
de al doilea premiul II, cel de al treilea premiul III i cel de al patrulea meniune.
Nota lucrrii trebuie s fie ntre 9 i 10 pentru premiul I, mai mare sau egal cu 8 pentru premiul
II, mai mare sau egal cu 7 pentru premiul III i mai mare sau egal cu 6 pentru meniune.
Numrul total de diplome (premiul I, II, II i meniuni) acordat la o anumit categorie de vrst i
seciune nu trebuie s depeasc cuantumul de 25 % din numrul total al proiectelor primite la
respectiva categorie de vrst i seciune. Excepie se poate face n cazul n care pentru o anumit
seciune i categorie de vrst numrul de lucrri nscrise n concurs este mai mic de 16.

Popularizarea proiectelor
Pentru orice proiect nscris n concurs, autorii proiectului acord organizatorilor concursului
permisiunea de a folosi fr restricii proiectul n scop educaional sau publicitar. Organizatorii sunt
obligai s fac cunoscui autorii proiectului precum i unitatea de nvmnt de la care provin acetia.
Organizatorii vor face publice proiectele premiate prin postarea pe site-ul web http://scratch.mit.edu/.

Etape
Principalele momente cronologice n desfurarea concursului sunt:
-

01 februarie

Lansarea proiectului.

25 februarie

Termenul limit pentru nscrierea unitilor.

11 mai

Termenul limit pentru trimiterea proiectelor.

01 iunie

Anunarea rezultatelor.

14 iunie

Transmiterea diplomelor prin pot.

30 iunie

Realizarea unei galerii cu proiectele ctigtoare.

Nu se va organiza o faz final cu participare direct. Participarea la concurs se face prin transmiterea
electronic a proiectelor.

Dispoziii finale
Decizia juriului este final i nu poate fi contestat.
Regulamentul poate fi mbuntit pe baza propunerilor participanilor la competiie. Propunerile de
modificare pot fi trimise la adresa scriptrial@gmail.com.
Modificrile la prezentul regulament se vor transmite n timp util tuturor celor interesai.

Pagina 61 din 61