This shows you the differences between two versions of the page.
sde2:laboratoare:02_microbit_ro [2021/03/17 10:47] ioana_maria.culic [Metoda 2: Direct flash] |
sde2:laboratoare:02_microbit_ro [2021/03/22 11:05] (current) alexandra.state2607 [Exerciții] |
||
---|---|---|---|
Line 16: | Line 16: | ||
* Conectarea micro:bit-ului la PC | * Conectarea micro:bit-ului la PC | ||
* Încărcarea programelor pe micro:bit | * Încărcarea programelor pe micro:bit | ||
+ | * Definirea variabilelor folosind limbajul Python | ||
+ | * Familiarizarea cu structurile de date folosind limbajul Python | ||
+ | * Utilizarea structurilor repetitive și utilizarea funcțiilor folosind limbajul Python | ||
+ | * Crearea claselor și a obiectelor folosind limbajul Python | ||
Line 56: | Line 60: | ||
</code> | </code> | ||
- | Pentru a accesa simulatorul daca folosiți Linux sau MacOS scrieți comanda: | + | Pentru a accesa simulatorul deschideti un browser si accesati pagina ''http://localhost:8000/editor.html''. |
- | <code> | + | |
- | $ firefox editor.html | + | |
- | </code> | + | |
- | + | ||
- | Dacă folosiți Windows fie puteți folosi comanda anterioară, fie intrați in folder-ul "PythonEditor" și faceți click pe "editor.html". | + | |
Pentru a simula codul faceți click pe "Sim". Testați pentru **Exemplul 1** din secțiunea următoare. | Pentru a simula codul faceți click pe "Sim". Testați pentru **Exemplul 1** din secțiunea următoare. | ||
Line 716: | Line 715: | ||
===== Exerciții ====== | ===== Exerciții ====== | ||
- | - Creați 3 variabile de tipuri diferite, ca mai jos, și afișați-le pe ecran-ul micro:bit-ului: **(0.5p)** | + | - Creați 3 variabile de tipuri diferite, ca mai jos, și afișați-le în consolă: **(0.5p)** |
- o variabilă //int// cu valoarea 80 | - o variabilă //int// cu valoarea 80 | ||
- o variabilă //float// având valoarea 20.2 | - o variabilă //float// având valoarea 20.2 | ||
Line 724: | Line 723: | ||
- var2 = 20.2 | - var2 = 20.2 | ||
- var3 = "microbit" | - var3 = "microbit" | ||
- | - Scrieți un program care primește ca parametrii de la linia de comandă 4 numere și afișați rezultatul calculuilui a+b*c-d atât pe ecran-ul micro:bit-ului cât și în serial. **(1p)** | + | - Scrieți un program care primește ca parametrii de la linia de comandă 4 numere și afișați rezultatul calculuilui a+b*c-d. **(1p)** |
- Creați o listă cu prenumele colegilor de clasa, acestea se pot repeta. Adăugați cel puțin un element folosind metoda //append()//. Rezolvați următoarele cerințe: **(2p)** | - Creați o listă cu prenumele colegilor de clasa, acestea se pot repeta. Adăugați cel puțin un element folosind metoda //append()//. Rezolvați următoarele cerințe: **(2p)** | ||
- | - Copiați lista inițială într-o altă listă numită copyList și sortați-o în ordine alfabetică | + | - Copiați lista inițială într-o altă listă numită copyList și sortați-o în ordine alfabetică |
- Determinați numarul de apariții al fiecarui nume folosind o listă auxiliară care conține elemente distincte | - Determinați numarul de apariții al fiecarui nume folosind o listă auxiliară care conține elemente distincte | ||
- Determinați numele care are numarul maxim de apariții în listă și numele cu numărul minim de apariții (dacă exista mai multe elemente care respectă condiția se vor afișa toate) | - Determinați numele care are numarul maxim de apariții în listă și numele cu numărul minim de apariții (dacă exista mai multe elemente care respectă condiția se vor afișa toate) | ||
- Inversați lista copyList și ștergeți ultimul element din lista inițială. | - Inversați lista copyList și ștergeți ultimul element din lista inițială. | ||
- | - Întocmiți o bază de date al unui magazin de electrocasnice cu ajutorul dicționarului. Adăugati funcționalitatea ca atunci cand se citește de la tastatură un produs să se afișeze prețul acestuia. Se va afișa o eroare dacă produsul nu există "Error" și se cauta produse până cand se introduce textul "stop". **(2p)** | + | - Întocmiți o bază de date al unui magazin de electrocasnice cu ajutorul dicționarului. Adăugati funcționalitatea ca atunci cand se citește de la tastatură un produs să se afișeze prețul acestuia. Se va afișa o eroare dacă produsul nu există "Error" și se caută produse până cand se introduce textul "stop". **(2p)** |
- | - Scrieți un program, care va afișa atât pe ecranul micro:bit-ului, cât si în terminal rezultatul returnat de funcția //digitize(n)//. Această funcție va primi ca si parametru un int și va returna o lista cu cifrele numărului în ordine inveră. **(1p)** Exemplu: 348597 => [7,9,5,8,4,3] | + | - Scrieți un program, care va afișa rezultatul returnat de funcția //digitize(n)//. Această funcție va primi ca si parametru un int și va returna o lista cu cifrele numărului în ordine inversă. **(1p)** Exemplu: 348597 => [7,9,5,8,4,3] |
- | | + | - Creați o clasă Senzori folosită pentru a stoca valori provenind de la următorii senzori: temperatură, lumină, umiditate. Pentru fiecare senzor se pot citi și modifica valorile prin apeluri de funcții. **(1p)** |
+ | - Creați un program care folosind clasa definită mai sus reține valori provenind de la seturi diferite de senzori pentru următoarele încăperi a unei locuințe si le afișează pe ecran: bucătărie, hol, dormitor, sufragerie. Programul realizează operațiile prin primirea de comenzi din consolă astfel: **(2p)** | ||
+ | * ''insert <încăpere> <sensor> <value>'' - unde ''<incapere>'', ''<sensor>'' si ''<value>'' vor fi înlocuiți cu unul din cei 3 senzori și o valoare - inserează o valoarea nouă pentru senzorul respectiv | ||
+ | * ''delete <încăpere> <sensor> <value>'' - șterge valoarea pentru senzorul respectiv, valoarea după ștergere va fi 0 | ||
+ | * ''print <incapere><sensor>'' - afișează valoarea pentru senzorul din încăperea precizată | ||
+ | * ''print <incapere>'' - afișează toți senzorii și valorile aferente pentru încăperea precizată | ||
+ | * ''add_room <incapere>'' - adaugă un nou set de senzori pentru o nouă încăpere | ||
+ | * ''del_room <incapere>'' - șterge setul de senzori pentru o încăpere | ||
+ | Dacă se introduce o altă comandă, programul va arunca o excepție. | ||
+ | == Bonus == | ||
+ | - Modificați programele anterioare pentru a afișa valorile pe micro:bit, nu în consolă. | ||
+ | - Creați un program care aprinde pe rând fiecare LED de pe micro:bit. | ||
+ | - Creați un program care citește temperatura ambientală folosind senzorul de pe micro:bit și o afișează folosind LED-urile. | ||
+ | |||
+ | ==== ==== | ||
+ | |||
+ | [[https://github.com/UPB-FILS-SdE2/Solutions/tree/main/TP3|Soluții]] | ||