Realizziamo degli algoritmi sui triangoli con scratch per verificare se un triangolo è isoscele, equilatero o scaleno.
Prendiamo tre numeri in ingresso e verifichiamo se questi possono essere la lunghezza dei tre lati di un triangolo e poi determiniamo se il triangolo avente come lati le lunghezze indicate è equilatero, isoscele o scaleno.
Partiamo dal fatto che non sempre è possibile costruire un triangolo. Infatti ricordiamo la proprietà fondamentale dei lati di un triangolo che dice: In un triangolo ogni lato è minore della somma degli altri due.
Sviluppo dell’algoritmo sui triangoli con Scratch
Uso delle funzioni logiche
Scegliamo uno sfondo ed uno sprite. Io ho scelto quelli della figura sotto:
Creiamo tre variabili e le chiamiamo lato1, lato2 e lato3.
Per essere un triangolo si deve verificare che:
lato1<lato2+lato3
lato2<lato1+lato3
lato3<lato2+lato1
Quindi dopo aver chiesto in input i tre lati, verifichiamo che tutte e tre le condizioni siano vere. Se non sono vere facciamo visualizzare in output il messaggio: ‘Non è sempre possibile costruire un triangolo! In un triangolo ogni lato è minore della somma degli altri due!’
Se invece sono vere possiamo determinare se si tratta di un triangolo equilatero, isoscele oppure scaleno.
Come?
Dapprima verifichiamo se i tre lati sono uguali con la funzione logica e:
se lato1=lato2 e lato2=lato3
allora il triangolo è equilatero.
Dopo verifichiamo se i lati sono uguali a due a due, usando la funzione logica o:
lato1=lato2 o lato2=lato3 o lato1=lato3
se ciò è vero allora il triangolo è isoscele.
Se le due condizioni sopra non sono vere allora il triangolo è scaleno.
Allego lo script sotto:
Sviluppo dell’algoritmo sui triangoli con scratch
Senza l’uso delle funzioni logiche
Ho apportato delle modifiche alla verifica che determina se si tratta di un triangolo equilatero, isoscele oppure scaleno.
La verifica se i tre numeri presi in input possono essere la lunghezza dei tre lati di un triangolo la lascio risolta sempre con gli operatori logici per evitare strutture con troppi se, ma si potrebbe modificare anche quella.
Quindi, se lato1=lato2 controllo che anche lato2=lato3, se ciò è vero si tratta di un triangolo equilatero, altrimenti se lato2 è diverso da lato3 comunque sarà isoscele (in quanto rimane vera la condizione che lato1=lato2).
Se invece lato1 non è uguale a lato3 mi rimangono due opzioni affinché sia isoscele: o lato2=lato3 oppure lato1=lato3. Costruisco la struttura sempre con i se annidati. Dunque se lato2=lato3 allora il triangolo è isoscele, altrimenti se lato1=lato3 è isoscele altrimenti è scaleno.
Allego lo script sotto:
L’algoritmo sui triangoli è stato sviluppato anche con Algobuild, se vuoi vederlo vai al link: triangoli con algobuild.
Alcuni link utili
Gioco della tabellina con scratch
Gioco indovina numero con scratch
Equazioni di primo grado in scratch
Disegnare poligoni regolari in scratch
La successione di Fibonacci in Scratch
Massimo fra tre numeri in Scratch
Minimo tra 3 numeri in Scratch