Documente Academic
Documente Profesional
Documente Cultură
Filiala Orova
S nvm programare
jucndu-ne n Scratch
Curs pentru nceptori
Auxiliar curricular
Orova
2016
Cuprins
CUVNT NAINTE .......................................................................................................................................... 3
1
INTRODUCERE.............................................................................................................................................. 20
TUTORIAL: SUNETE, VOCI, MUZIC .................................................................................................................. 20
TRANSFER ................................................................................................................................................... 21
10
INTRODUCERE.............................................................................................................................................. 18
TUTORIAL: VORBIREA .................................................................................................................................... 18
TRANSFER ................................................................................................................................................... 19
INTRODUCERE.............................................................................................................................................. 16
TUTORIAL: CREAREA UNUI PERSONAJ ............................................................................................................... 16
TRANSFER ................................................................................................................................................... 17
INTRODUCERE.............................................................................................................................................. 13
TUTORIAL 1: MODIFICAREA CULORII ................................................................................................................ 13
TUTORIAL 2: CONTROLAREA ACIUNILOR DIN TASTE ............................................................................................ 14
TRANSFER ................................................................................................................................................... 15
INTRODUCERE.............................................................................................................................................. 10
TUTORIAL 1: IAR I IAR .................................................................................................................................. 10
TUTORIAL 2: STEAGUL VERDE ......................................................................................................................... 11
TRANSFER ................................................................................................................................................... 12
INTRODUCERE................................................................................................................................................ 7
TUTORIAL 1: S FACEM PUIN MICARE ............................................................................................................ 7
TUTORIAL 2: ADUGAREA UNUI SUNET............................................................................................................... 8
TUTORIAL 3: E TIMPUL PENTRU DANS ................................................................................................................. 8
TRANSFER ..................................................................................................................................................... 9
INTRODUCERE.............................................................................................................................................. 22
TUTORIAL: CREEAZ ANIMAII ........................................................................................................................ 22
TRANSFER ................................................................................................................................................... 23
12
14
13
BIBLIOGRAFIE.............................................................................................................................................. 56
LIST DE FIGURI .......................................................................................................................................... 57
ANEXA A - REGULAMENTUL CONCURSULUI INTERNAIONAL DE PROGRAMARE N SCRATCH SCRIPT ............ 59
Pagina 2 din 61
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:
-
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
Pagina 4 din 61
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.
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
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
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.
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.
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
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.
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
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.
Pagina 10 din 61
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.
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
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.
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.
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.
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
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
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.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
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
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
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.
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
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.
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
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.
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:
Dup cum se observ, la o rezoluie mai mare, timpul de deplasare este mai mare dect cel
anticipat.
Pagina 27 din 61
Pagina 28 din 61
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.
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
Pagina 30 din 61
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
Pagina 32 din 61
Pagina 33 din 61
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
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.
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
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.
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
Pagina 41 din 61
Pagina 42 din 61
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.
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
12.3.3
Pagina 45 din 61
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.
Pagina 47 din 61
- 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.
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
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.
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.
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
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
Pagina 55 din 61
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
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
Pagina 58 din 61
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.
O2.
O3.
O4.
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.
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.
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
Creativitate
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
11 mai
01 iunie
Anunarea rezultatelor.
14 iunie
30 iunie
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