Page 55 - MATINF Nr. 9-10
P. 55

a
            Deprinderea elementelor fundamentale robotic˘ s , i de programare ˆın Python folosind robotul Finch 2.0 55


                Fiecare valoare are un tip de date diferit, existˆand patru tipuri de date comune ˆın Python:
            int, float, bool s , i str. Se poate utiliza funct , ia type() pentru a g˘asi tipul de date al unei valori.
                                                                                          a
            Pentru a salva o valoare pentru a o utiliza mai tˆarziu, ˆın Python se utilizeaz˘ o variabil˘a, care
            este un nume care reprezint˘a o valoare. Pentru a crea o variabil˘a, se selecteaz˘a un nume s , i se
            utilizeaz˘ semnul egal pentru a atribui o valoare variabilei. Dup˘ ce o variabil˘ a fost init , ializat˘a,
                                                                            a
                                                                                          a
                     a
                                                                    a
            poate fi utilizat˘ mai tˆarziu ˆın program. De fiecare dat˘ cˆand programul vede numele variabilei,
                            a
            acesta va ˆınlocui valoarea acelei variabile. Se pot utiliza operatori aritmetici ˆın Python.
                 distant , aCurent˘a = pasare.getDistance()    leftLight = pasare.getLight(’L’)
                 print(distant , aCurent˘a)                    rightLight = pasare.getLight(’R’)
                 print(2* distant , aCurent˘a)                 diferent , a = leftLight - rightLight
                 print(4* distant , aCurent˘a)                 print(diferent , a)
                                                               media = (leftLight + rightLight)/2
                                                               print(media)
                Alte tipuri de ies , iri: controlul luminilor din ciocul s , i coada lui Finch. Fiecare dintre luminile
                            a
                                                                     a
            din cioc s , i coad˘ are de fapt trei elemente mici de lumin˘ ˆın interiorul acestuia. Unul este ros , u,
            unul este verde, iar unul este albastru.
                                                                                                       a
                                                                                               a
                                                           a
                                                                                       a
                Pentru a seta culoarea ciocului, se utilizeaz˘ metoda setBeak(). Aceast˘ metod˘ necesit˘ trei
                                  a
                                                                                a
            parametri care seteaz˘ valorile a trei culori. Prin combinarea cantit˘t , ilor diferite din aceste trei
                                                                    a
            culori, se pot crea alte culori. Funct , ia setBeak() seteaz˘ culoarea ciocului s , i apoi trece imediat
            la urm˘atoarea linie din program. Pentru a ˆıntrerupe fiecare culoare, se utilizeaz˘ funct , ia sleep().
                                                                                            a
                                                                                                            a
            Funct , ia sleep() are un singur parametru care este un num˘ar de secunde pentru ca programul s˘
            se ˆıntrerup˘a; acesta poate fi un num˘ar ˆıntreg sau un num˘ar zecimal. Funct , ia sleep() trebuie
            importat˘ din biblioteca time.
                     a
                Coada lui Finch cont , ine patru lumini. Pentru a le controla, se utilizeaz˘a metoda setTail(),
                            a
                                                                 a
            care este similar˘ cu setBeak(), cu except , ia faptului c˘ are un parametru suplimentar. Parametrul
            portului controleaz˘a lumina care este activat˘a. Acest parametru trebuie setat fie la un num˘ar
            ˆıntreg de la 1 la 4, fie la valoarea s , irului ”toate”.
                 # setare luminile 1 s , i 4 la ros , u respectiv albastru timp de  # arat˘ un curcubeu de culori pe ciocul s , i coada lui Finch
                                                                    a
                 2 secunde                                     pasare.setBeak(100,0,0)
                 pasare.setTail(1,100,0,0)                     pasare.setTail(1,100,0,100)
                 pasare.setTail(4,0,0,100)                     pasare.setTail(2,0,0,100)
                 sleep(2)                                      pasare.setTail(3,0,100,100)
                 pasare.stopAll()                              pasare.setTail(4,0,100,0)
                                                               sleep(2)
                                                               pasare.stopAll()
                Se pot scrie programe pentru a permite unui utilizator s˘a controleze Finch. Se poate
            utiliza funct , ia input() pentru a adresa o ˆıntrebare utilizatorului s , i a as , tepta un r˘aspuns. Cˆand
                                                                                                 a
            utilizatorul atinge tasta Enter, funct , ia returneaz˘ r˘aspunsul lor. Valoarea returnat˘ de input()
                                                              a
                                                                                                            a
            este un s , ir, caz ˆın care se s , tie c˘ utilizatorul a introdus un num˘ar, astfel ˆıncˆat s˘ poat˘ fi folosit˘
                                                                                           a
                                           a
                                                                                                  a
            funct , ia int() pentru a converti userResponse la un num˘ar variabil de tip int.
                 userResponse=input(”Valoare ros , u (0-100): ”) #preia input utiliza-  userResponse=input(”Lungime ˆın centimetri: ”)
                 tor                                                  latura = int(userResponse)
                 ros , u=int(userResponse) # Convertire la int        pasare.setTail(’all’,100,0,0)
                 userResponse=input(”Valoare verde(0-100): ”) #preia input utiliza-  pasare.setMove(’F’,side,60)
                 tor                                                  pasare.setTurn(’R’,90,50)
                 verde=int(userResponse) # Convertire la int          pasare.setTail(’all’,0,100,0)
                 userResponse=input(”Valoare albastru(0-100): ”) #input utilizator  pasare.setMove(’F’,side,60)
                 albastru=int(userResponse) # Convertire la int       pasare.setTurn(’R’,90,50)
                 pasare.setBeak(ros , u,verde,albastru)               pasare.setTail(’all’,0,0,100)
                 pasare.setTail(”all”, ros , u,verde,albastru)        pasare.setMove(’F’,side,60)
                 sleep(3)                                             pasare.setTurn(’R’,90,50)
                 pasare.stopAll()                                     pasare.setTail(’all’,100,0,100)
                                                                      pasare.setMove(’F’,side,60)
                                                                      pasare.setTurn(’R’,90,50)
                                                                      pasare.stopAll()
   50   51   52   53   54   55   56   57   58   59   60