Înainte de misiune
— Vrăjitori ai Circuitelor?
Fă semnul Ordinului: degetul-baghetă desenează două cercuri mici în aer, apoi apasă butonul nevăzut din mijlocul palmei. Și răspunde:
Perfect! Hai la poveste. 👇
Povestea misiuniiCutia cu etichetă
Domnul Progrămescu a pus cutia de lemn pe masă. Pe ea era lipită o etichetă pe care scria, cu litere mici: aprins.
Ce este în ea? a întrebat Pixi.
Un răspuns, a spus Domnul Progrămescu. Unul singur. Fie „da”, fie „nu”. Fie „adevărat”, fie „fals”.
A deschis cutia. Înăuntru era un bilețel: fals.
Asta înseamnă că lumina este stinsă acum, a explicat el. Când apeși butonul, întâi te uiți în cutie. Dacă scrie fals, aprinzi lumina și schimbi bilețelul în adevărat. Dacă scrie adevărat, stingi lumina și schimbi bilețelul în fals.
Leduleț a clipit de câteva ori.
Deci cutia ține minte pentru noi.
Exact. Întâi te uiți. Apoi hotărăști. La final, notezi. O cutie cu etichetă care ține minte ceva se numește variabilă.
Domnul Butonescu a mângâiat mustața, mulțumit.
Și hotărârea dintre cele două drumuri este o decizie adevărată. „Dacă așa, atunci așa. Altfel, altfel.”
Ce vom face
Avem nevoie de două blocuri noi:
- o variabilă numită aprins, din sertarul Variables. O variabilă este o cutie cu etichetă care ține minte o valoare.
- if ... then ... else, din sertarul Logic. Este blocul deciziei: dacă o condiție este adevărată, atunci face ceva, altfel face altceva.
Mai folosim true și false, tot din sertarul Logic. Înseamnă „adevărat” și „fals”.
Pas cu pas
Atinge un pas ca să-l bifezi când l-ai făcut.
-
Deschide makecode.microbit.org și apasă New Project. Dă-i un nume, de exemplu Misiunea16.
-
Deschide sertarul Variables și apasă Make a Variable. Scrie numele aprins și apasă OK.
-
În on start, pune blocul set aprins to. În locul cifrei 0, pune blocul false, din sertarul Logic. La pornire, lumina este stinsă.
-
Pune pe Masa de lucru un bloc on button A pressed.
-
Din sertarul Logic, trage în el blocul if ... then ... else.
-
În locul lui true din if, pune variabila aprins (o găsești în Variables).
-
În ramura then (când lumina este aprinsă), pune:
clear screen, ca să o stingi;
set aprins to false.
-
În ramura else (când lumina este stinsă), pune:
show leds cu toate pătrățelele colorate, ca să o aprinzi;
set aprins to true.
-
Testează în Geamăn: apasă A de mai multe ori. Lumina se aprinde și se stinge pe rând.
-
Trimite programul pe plăcuță. Dacă întrerupătorul funcționează, ai finalizat cu succes Misiunea 16.
Așa trebuie să arate blocurile tale
Ține telefonul sau tableta lângă calculator, cu această imagine deschisă. Când lucrezi în MakeCode, compară blocurile tale cu imaginea de mai jos, bloc după bloc: „Uite, am uitat asta!”
Scurtături utile pe Masa de lucru
Rotița mouse-ului
Mută Masa de lucru în sus și în jos, ca să vezi toate blocurile.
Ctrl + rotița
Ții apăsată tasta Ctrl și învârți rotița: blocurile se măresc sau se micșorează. Poți folosi și butoanele + și − din colțul de jos al Mesei de lucru.
Muți toată masa
Ții apăsat click pe un loc gol al Mesei de lucru și tragi, ca să muți toate blocurile deodată.
Ctrl + Z
Ai mutat sau ai șters ceva din greșeală? Ctrl + Z anulează ultimul pas.
Încearcă în MakeCode
Programul acestei misiuni folosește blocuri pe care Geamănul din pagină nu le cunoaște încă. Încearcă-l în MakeCode: Geamănul de acolo, din stânga ecranului, știe toate blocurile, are butoane și senzori și poate arăta chiar mai multe plăcuțe deodată.
Vezi cum se face
Urmărește filmulețul, apoi încearcă singur pe plăcuța ta.
Cum gândește plăcuța?
La fiecare apăsare pe A, plăcuța face exact ce ar face Domnul Progrămescu:
- Se uită în cutie: ce scrie în aprins?
- Dacă scrie true, înseamnă că lumina este aprinsă, deci o stinge și scrie false.
- Altfel, lumina este stinsă, deci o aprinde și scrie true.
Fără variabilă, plăcuța n-ar ști ce a făcut data trecută. Fiecare apăsare ar fi ca prima. Variabila îi dă memorie.
Iar blocul if ... then ... else îi dă capacitatea de a alege. Acestea două, memoria și alegerea, sunt temeliile oricărui program inteligent.
Dacă nu merge
Nu te supăra. Se întâmplă și adulților. Atinge problema care seamănă cu a ta:
Lumina se aprinde, dar nu se mai stinge.
Ai uitat să schimbi variabila în true după ce ai aprins-o.
Nu se întâmplă nimic.
Poate ai uitat set aprins to false în on start, sau ai pus 0 în loc de false.
Ramurile sunt încurcate.
Verifică: în then stingi, în else aprinzi.
Nu găsești blocul else.
Folosește blocul if ... then ... else din Logic, nu simplul if ... then. Sau apasă pe rotița mică (+) din blocul if ca să adaugi ramura else.
Provocări
Atinge o provocare după ce ai rezolvat-o, ca să o bifezi.
Leagă și logo-ul (V2) de același întrerupător. Ce trebuie să copiezi?
Fă ca B să arate starea: o bifă dacă lumina ar trebui să fie aprinsă, un X dacă nu. Atenție, B nu trebuie să schimbe nimic, doar să arate.
În loc de tot ecranul, aprinde doar o inimă.
Ce ai învățat
- O variabilă este o cutie cu etichetă care ține minte o valoare.
- true și false sunt valori pentru „adevărat” și „fals”.
- Blocul if ... then ... else alege între două drumuri.
- Cu o variabilă și o decizie, plăcuța își amintește ce a făcut data trecută.
Vrajă?
Dacă plăcuța ta a făcut ce trebuia, fă semnul și răspunde Reușită! Dacă nu încă, răspunde Încă o încercare! și uită-te la „Dacă nu merge”.
Misiune bifată pe harta capitolului. Bravo, explorator!
Misiunea 17: Telecomanda cu trepte
Tic. Tic. Tic.
Întrerupătorul funcționa perfect. Aprins, stins, aprins, stins.
Dar Baterilă, trezit de lumina puternică, s-a acoperit cu perna.
Este prea tare! a mormăit el. Nu se poate puțin mai încet? Ca o lumină de seară?
Adică nu doar aprins sau stins, a spus Leduleț gânditor. Ci și puțin aprins. Și mai mult aprins. În trepte.
O telecomandă cu trepte, a zâmbit Domnul Progrămescu.
Misiunea 17! au strigat toți.
Pentru părinți și profesori
- Timp estimat: 20–25 de minute.
- Concepte noi: variabila de tip adevărat/fals (boolean) și decizia if ... then ... else. Este una dintre cele mai importante misiuni din serie.
- Metafora cutiei cu etichetă va fi folosită constant de acum înainte. O cutie reală cu un bilețel face minuni la clasă.
- Greșeala tipică este să uiți actualizarea variabilei. Lăsați copilul să o descopere testând.
- Ce învață copilul: să păstreze o stare în memorie, să ia o decizie pe baza ei și să schimbe starea după acțiune.
