Până acum am învățat să comunicăm cu un program folosind tastatura si mouse-ul. Astăzi voi prezenta încă trei noțiuni: ciclurile repetitive (repeat/while/forever), instrucțiunea dacă (if) și variabilele.
Tot astăzi vom introduce și denumirea în limba engleză a instrucțiunilor pentru a ne familiariza cu aceasta. Ne va ajuta mai încolo deoarece în toate limbajele de programare instrucțiunile sunt în engleză.
Ciclurile repetitive (repeat/while/forever)
Un ciclu repetitiv reprezintă o structură de program care execută tot ce este în interiorul ei de un număr de ori sau până cănd o condiție devine adevărată.
În Scratch avem 4 cicluri repetitive:
- pentru totdeauna (forever) – acest ciclu se execută la infinit. De obicei în interiorul lui apare o instrucțiune ce determină ieșirea din ciclu. Aceasta poate fi „oprește script” sau „oprește tot”.
- pentru totdeuna dacă <> (forever if <>) – acest ciclu execută codul din interiorul său dacă condiția este adevărată. Dacă condiția devine falsă se oprește execuția până când condiția devine adevărată din nou. <> reprezină o condiție ce se evaluează la fiecare început de ciclu
- repetă __ (repeat __) – acest ciclu execută codul din interiorul său de un anumit număr de ori
- repetă până când <> (repeat until <>) – acest ciclu se execută de 0 sau mai multe ori, până când condiția este adevărată. <> reprezină o condiție ce se evaluează la fiecare început de ciclu
Instrucțiunea dacă (if)
Această instrucțiune ne permite să executăm o bucată de cod dacă o condiție este îndeplinită. Are două variante: dacă (if) și dacă-altfel (if-else).
- dacă <> (if <>) – dacă (if) condiția <> este adevărată se execută instrucțiunile conținute de condiție. Dacă condiția este falsă atunci calculatorul execută instrucțiunea de după sfârșitul lui dacă (if).
- dacă <> altfel (if <> else) – dacă (if) condiția <> este adevărată, se execută instrucțiunile conținute de condiție altfel (else), se execută instrucțiunile de pe ramura cealaltă.
Variabilele
O variabilă este o zonă de memorie căreia îi dăm un nume și în care punem o informație. O varibilă ajută programul să „țină minte” anumite valori pentru o utilizare și în alte părți din el.
Exemple de variabile deja existente în Scratch sunt „poziția lui x”, „poziția lui y”.
Pentru a crea o variabilă mergem în grupa „Variabile -> Crează variabilă”, introducem un nume sugestiv care să indice ce informație conține variabila (foarte important) și apăsăm OK.
Joc „Numărul secret”
Acest joc presupune ca noi să ghicim un număr secret (între 1 și 100) pentru a trece printr-un portal într-o altă lume, din cât mai puține încercări. Noi vom introduce un număr iar paznicul portalului ne va spune dacă am ghicit, dacă numărul lui e mai mare sau mai mic decât numărul introdus de noi.
Programul trebuie să ne afișeze aceste mesaje și numărul de încercări făcute până la aflarea numărului secret.
- Alegem din meniu „Fișier ->Nou” (File->New)
- Dăm clic pe Scenă, apoi pe Fundaluri și alegem Importă. În fereastra ce apare dăm clic pe „Fundaluri ->Nature->pathway->OK”. Ștergem vechiul fundal alb.
- Ștergem actorul pisică (clic dreapta->șterge) și dăm clic pe butonul 2 „Alege actor nou din fișier”. În fereastra ce apare dăm clic pe „Costume ->Fantasy->robot3->OK”. Redenumim actorul în Gardian.
- Pentru jocul acesta avem nevoie de două varibile: încercări și număr secret. În prima vom „ține minte” câte încercări am făcut pentru a ghici numărul iar în a doua chiar numărul secret. Pentru a le crea mergem la „Variabile -> Crează o variabilă -> introducem numele variabilei -> apăsăm OK” pentru fiecare variabilă.
- Alegem actorul Gardian și punem următorul cod în secțiunea „Coduri”:
- Acum urmează să folosim un ciclu repetitiv care se va executa până ce noi vom ghici numărul.
- Iar în încheiere afișăm un mesaj care ne indică de câte încercări a fost nevoie să ghicim numărul secret. Apoi gardianul se dă la o parte pentru ca noi să trecem.
Mai jos este programul complet:
Codul Sursă
Descarcă urmând cele două legături de mai jos jocul creat în acest atelier, variante simplificată și cea cu mai multe efecte vizuale și auditive: