Sviluppiamo un programma che calcoli e visualizzi se un numero è primo con Scratch. Definizione di numero primo Ricordiamo che un numero primo è un numero naturale maggiore di 1 che è divisibile solamente per 1 e per sé stesso.

Sviluppo del programma

Per lo sviluppo dello script scegliamo lo stage e lo sprite che più ci piace, quindi chiediamo in input un numero N e verifichiamo se esso è primo. Una soluzione potrebbe essere quella di prendere N e dividerlo prima per 1, poi per 2, ... fino ad arrivare ad N/2. Al termine contiamo i divisori, se ne troviamo solo uno (dato che ci fermiamo ad N/2 tralasciamo il numero stesso) allora il numero é primo. Ci fermiamo ad N/2 perché se dividiamo un numero con numeri più grandi della sua metà, otterremo sempre un numero con la virgola. In questo modo avremo meno iterazioni. Ma potremmo anche tralasciare 1, in quanto sappiamo che tutti i numeri sono divisibili per uno. Quindi nel nostro programma per stabilire se un numero è primo il contdivisori al termine del ciclo dovrà risultare uguale a zero. Dunque creiamo le variabili:

divisore che facciamo partire da 2;

contdivisori  che facciamo partire da zero. Questa variabile serve a contare il numero dei divisori che a mano a mano trova.

Copertina: 9 Progetti Interattivi con Scratch per Aspiranti Creatori
📚 Consigliato per te

9 Progetti Interattivi con Scratch per Aspiranti Creatori

Nove progetti guidati per imparare la programmazione a blocchi.

Vedi su Amazon
Se il numero dei divisori è pari a zero, il numero è primo, altrimenti non lo è. [caption id="attachment_267" align="alignnone" width="479"]algoritmi dei numeri orimi con Scratch Come verificare se un numero è primo con Scratch[/caption] Il programma potrebbe essere perfezionato ad esempio inserendo un controllo ulteriore e uscendo dal ciclo quando già trova un divisore senza continuare a dividere. Prova a trovare una soluzione e discutiamone nei commenti sotto. Alcuni link utili: La successione di Fibonacci realizzata con Scratch Massimo fra n numeri in Scratch Massimo fra 3 numeri in Scratch Minimo tra 3 numeri in Scratch Numeri perfetti con algobuild Numeri amicabili Selecion sort in Scratch