libri-javascript-python

Proponiamo in questo articolo il semplice gioco indovina numero con Algobuild, proveremo cioè a creare il diagramma a blocchi di questo gioco.

Per realizzare questo algoritmo ci servirà la funzione random() che in Algobuild restituisce un numero casuale tra 0.0 e 0.99999999999999.

E ci servirà anche la funzione floor() che arrotonda un intero per difetto.

Il semplice gioco funziona in questo modo: la macchina produce un numero a caso e un utente deve provare ad indovinarlo.


Diagramma a blocchi per il gioco indovina numero con Algobuild

Quindi serviranno queste forme:

Ellisse per l’inizio e per la fine;

Rettangolo per effettuare le operazioni e per l’assegnamento;

Parallelogramma per inserire l’input, ovvero in questo caso per prendere il numero e per visualizzare in output il risultato;

Rombo per effettuare un test che può essere vero o falso.


Procedimento

Dapprima memorizziamo in una variabile n il numero random generato dalla macchina. Questo numero sarà compreso tra 1 e 10 quindi imposto la funzione in questo modo:

n=floor(random()*10+1)

con la funzione floor arrotondo i numeri.

Poi chiediamo all’utente di inserire un numero e lo confrontiamo con il numero generato.

Se è uguale allora ha vinto, altrimenti ha perso. Alla fine diciamo in ogni caso il numero che il computer ha generato.

Ecco il diagramma a blocchi completo:

random javascript

Ma possiamo fare di meglio, chiedendo ad esempio all’utente per tre volte di inserire il numero e precisare inoltre se il numero generato dal computer è più alto o più basso.

Come fare? Mi serviranno le strutture cicliche.


Ecco allora un’altra implementazione del gioco indovina numero con Algobuild.

Quindi realizziamo un ciclo che utilizza un contatore che parte da 0 e arriva a 3 e ogni volta chiede di inserire un numero. Dopo, per ciascun numero, farà il test per vedere se il numero è più grande o più piccolo.

Il ciclo si fermerà quando l’utente ha esaurito tutti i tentativi oppure ha indovinato il numero. Ho inserito una variabile flag che quando trova il numero diventa 1. Ho chiamato questa variabile indovinato.

Allego tutto il diagramma a blocchi completo:

Gioco algobuild

Questa è solo una possibile soluzione del gioco indovina numero con algobuild.

Alcuni link utili

Indice argomenti diagramma a blocchi

Numeri primi da 1 a 100

Array con algobuild

Divisori di un numero con algobuild

Algoritmi di selezione sugli angoli

Algoritmi di selezione

Triangoli con algobuild

Fibonacci con algobuild

Serie buffa con algobuild

Numeri amicabili con algobuild

Numeri perfetti con algobuild

Massimo fra tre numeri

Minore fra tre numeri