Esercizio a questo link: https://studio.code.org/s/coursee-2018/stage/5/puzzle/9
Questo esercizio ti chiede di costruire un triangolo usando il “coding” a blocchi. Come si risolve? L’artista deve tracciare il perimetro del triangolo equilatero, con il suo matitone. Egli è posto in basso a sinistra del triangolo ed ogni lato del triangolo misura 150 punti di lunghezza. Qual è la prima mossa da fare? E’ quella di spostarsi di 150 passi in avanti e per farlo ponete sotto il blocco giallo “Quando si clicca su esegui” il blocco “vai avanti di … pixel” e inserite il valore 150, così:
in questo modo l’artista raggiunge lo spigolo opposto del triangolo.
Ora l’artista con la sua matita deve girarsi, ma di quanto deve girarsi? Dobbiamo capire l’angolo di rotazione: se ruotasse di 180° si volterebbe all’indietro, se ruotasse di 90° si dirigerebbe in alto, in verticale. Deve ruotare allora più di 90° perché deve salire ma anche tornare in dietro. Come puoi calcolare l’angolo preciso? Bisogna ricordare un po’ di geometria e sapere che la somma degli angoli interni di un triangolo è 180° e nel triangolo equilatero, che è anche equiangolo, gli angoli interni sono tutti 180°/3 cioè 60°. Se l’angolo interno al triangolo è allora 60° quanto è l’angolo esterno? Oh bella è 180° – 60° = 120°. L’artista deve ruotare a sinistra di 120° esatti. Capito il calcolo?
Aggiungete allora il comando “ruota a sinistra” e impostate 120°.
A questo punto l’artista ha tracciato il primo lato e si è anche ruotato correttamente per andare in avanti e tracciare il secondo. L’artista deve percorrere l’altro lato, cioè avanzare ancora di… di quanto? di 150 passi e poi girarsi esattamente come prima (gli angoli sono tutti e tre eguali, interni ed esterni). Quindi devi inserire due blocchi esattamente eguali ai precedenti :
L’artista arriverà adesso in questo altro spigolo:
Resta da percorrere l’ultimo lato. Per completare il codice devo inserire ancora una volta gli stessi blocchi ed otterrò:
Dunque l’esercizio è superato, però…. però si poteva far di più: il coding, infatti, prevede un’istruzione detta “ripeti” che consente di ripetere l’esecuzione di più blocchi più volte. Mi spiego meglio: nell’esercizio si ripetono 3 volte i 2 blocchi “vai avanti” e “gira a sinistra” quindi conviene di mettere in un blocco”ripeti” i 2 blocchi “vai avanti” e “gira a sinistra” invece che usare 6 blocchi come fatto prima. Usare 3 blocchi invece di 6 è più conveniente, il codice è più corto. Facciamo allora la modifica: prendete il blocco “ripeti” impostate il valore a “3 volte” e inserite all’interno i 2 blocchi “vai” e “gira” da ripetere le 3 volte, così avete questo:
Questa è la soluzione finale corretta dell’esercizio, provatela. Ciao.