This shows you the differences between two versions of the page.
info2:laboratoare:01 [2021/03/02 00:51] alexandru.vochescu |
info2:laboratoare:01 [2021/03/16 00:35] (current) alexandru.vochescu [Exerciții] |
||
---|---|---|---|
Line 25: | Line 25: | ||
=== Visual Programming (Blockly) === | === Visual Programming (Blockly) === | ||
- | Visual Programming sau Blockly este o bibliotecă dezvoltată de Google care ne permite să scriem coduri folosind blocuri care se pot lega împreună folosind mouse-ul (drag-and-drop). Odată ce programul este "ansamblat" și rulat, în spate se generează codul echivalent într-un limbaj high-level precum Python sau JavaScript (în cazul platformei MakeCode, codul rezultat este în JavaScript). | + | Visual Programming sau Blockly este o bibliotecă dezvoltată de Google care ne permite să scriem coduri folosind blocuri care se pot lega împreună folosind mouse-ul (drag-and-drop). Odată ce programul este "asamblat" și rulat, în spate se generează codul echivalent într-un limbaj high-level precum Python sau JavaScript (în cazul platformei MakeCode, codul rezultat este în JavaScript). |
Avantajul la folosirea Blockly este că nivelul de cunoștințe de programare necesar este redus, iar un program minimal poate fi construit cu ușurință. Dezavantajul major apare în momentul în care dorim să construim programe mai mari și mai complexe, dezvoltarea acestuia într-un limbaj de programare normal fiind mult mai rapidă și mai facilă. | Avantajul la folosirea Blockly este că nivelul de cunoștințe de programare necesar este redus, iar un program minimal poate fi construit cu ușurință. Dezavantajul major apare în momentul în care dorim să construim programe mai mari și mai complexe, dezvoltarea acestuia într-un limbaj de programare normal fiind mult mai rapidă și mai facilă. | ||
Line 83: | Line 83: | ||
* Verificarea valorii logice a două valori: | * Verificarea valorii logice a două valori: | ||
{{:info2:laboratoare:and.png?150|}} | {{:info2:laboratoare:and.png?150|}} | ||
+ | |||
+ | <note important> | ||
+ | Toate block-urile explicate pe categorii pot fi găsite [[https://makecode.microbit.org/reference|aici]]. | ||
+ | </note> | ||
=== Interacțiunea cu platforma === | === Interacțiunea cu platforma === | ||
Line 101: | Line 105: | ||
{{:info2:laboratoare:result.png?300|}} | {{:info2:laboratoare:result.png?300|}} | ||
+ | |||
+ | |||
+ | ==== Exerciții ==== | ||
+ | <note important> | ||
+ | După rezolvarea unui exercițiu, **salvați proiectul local** cu un nume sugestiv pentru a nu pierde ceea ce ați reușit să lucrați și pentru a putea accesa ulterior rezolvările. Pentru fiecare exercițiu **creați un proiect nou**. | ||
+ | </note> | ||
+ | |||
+ | - Creați un proiect nou în care să reproduceți codul dat mai sus în exemplu. Puteți să ștergeți block-urile de "on start" și "on forever" create automat la generarea proiectului. | ||
+ | - Simulați rostogolirea unui zar: la "scuturarea" plăcii se va afișa un număr aleator între 0 și 6. Hint: Grupul de block-uri "Math" | ||
+ | - Generarea unei secvențe folosind ecranul din LED-uri. Veți genera mai întâi o imagine, iar după 2 secunde de întârziere, vă veți scrie prenumele (de preferat prescurtat) sau o poreclă. În final după încă o întârziere de 200 de milisecunde, veți aprinde toate led-urile de pe plăcuță (simularea umplerii ecranului). | ||
+ | - În funcție de butonul apăsat pe placă generați o imagine care să fie afișată. | ||
+ | - Joc de sunet: Dacă se generează un zgomot, ecranul de LED-uri se va lumina pentru două secunde. În momentul în care este din nou liniște, ecranul de LED-uri va fi din nou gol. Hint-uri: grupul de block-uri "Input" și variabile. | ||
+ | - Generați o bară de tip "nivel" din ecranul de LED-uri, care să reflecte nivelul de luminozitate. Hint: grupul "Input". | ||
+ | - Generați o secvență de imagini pe ecran la un interval prestabilit. | ||
+ | - Creați un timer. La apăsarea butonului A, se va porni timerul și se va afișa o imagine pe ecran, iar la apăsarea butonului B, se va opri timerul, iar numărul de secunde va fi afișat pe ecran. Hint: grupul de block "Input" la "More" și grupul "Math". | ||
+ | - În funcție de interacțiunea cu placa (apăsarea unui buton, a logo-ului sau "scuturarea" plăcii) redați câte un sunet diferit și afișați pe ecran câte o imagine. | ||
+ | - Lumină inteligentă: dacă nivelul luminii scade sub un anumit prag, se va lumina complet ecranul; dacă nivelul crește peste un anumit prag se va lumina complet ecranul. Mai mult, se va reda și un sunet corespunzător pentru zi/noapte. | ||
+ | - Exercițiu avansat: Animal de companie | ||
+ | - Animalul este reprezentat printr-o față zâmnbitoare sau supărată afișată pe ecran. | ||
+ | - Pentru a "mângâia animalul" se apasă logo-ul. Se va reda un sunet corespunzător atunci când este apăsat logo-ul. | ||
+ | - Se va da drumul la un timer imediat ce programul pornește, iar dacă se trece de 10 secunde de când nu a mai fost mângâiat, "animalul" va scoate un sunet corespunzător. Dacă se trece de 20 de secunde de când nu a mai fost mângâiat, "animalul moare" și se afișează un "X" pe ecran sau o altă imagine reprezentativă (fiți creativi). | ||
+ | - Timer-ul este resetat de fiecare dată când se apasă logo-ul. |