Le tabelline con Damerino

Utilizziamo Damerino per imparare le tabelline. Il programma che segue genera i numeri, ti interroga e ti corregge se sbagli. Nella prima riga puoi impostare la base della tabellina, se ad esempio imposti 5 otterrai la tabellina del 5. Noi abbiamo impostato 2.

set base = 2
rand n 1 10
product risultato = n * base
do
say [n] per [base]
listen
save a

if [risultato] != [a]
say no
if [risultato] = [a]
say bravo

while [risultato] != [a]

E se volessimo chiedere tutte le basi delle tabelline insieme mischiandole casualmente? Sarà sufficiente sostituire la prima riga con un ulteriore “rand”. Ecco qua:

rand base 1 10

In questo modo la variabile [base] verrà generata casualmente.

Nel caso volessimo evitare di chiedere la tabellina dell’1 e del 10 perchè troppo semplici possiamo cambiare il massimo e il minimo di “rand” in questo modo:

rand base 2 9

Oppure se siamo arrivati a studiare fino alla tabellina del 4 possiamo limitare la base fino al 4:

rand base 2 4

Vediamo un esempio completo che interroga su tutte e 10 le tabelline.

rand base 1 10
rand n 1 10
product risultato = n * base
do
say [n] per [base]
listen
save a

if [risultato] != [a]
say no
if [risultato] = [a]
say bravo

while [risultato] != [a]

Un appunto
Alcuni numeri come ad esempio il “6” (che è anche un verbo “sei”) o altri numeri corti da 1 a 9, potrebbero essere tradotti dal riconoscimento vocale in lettere, per ovviare a questo problema ad esempio si potrebbero creare alcune righe come questa:

if [a] = sei
set a = 6

In questo modo la parola “sei” diventa “6” e viene controllata in modo corretto dagli “if” successivi. Ecco un esempio più completo.

rand base 1 10
rand n 1 10
product risultato = n * base
do
say [n] per [base]
listen
save a

if [a] = uno
set a = 1

if [a] = due
set a = 2

if [a] = tre
set a = 3 

if [a] = quattro
set a = 4 

if [a] = cinque
set a = 5 

if [a] = sei
set a = 6

if [a] = sette
set a = 7 

if [a] = otto
set a = 8 

if [a] = nove
set a = 9 

if [risultato] != [a]
say no
if [risultato] = [a]
say bravo

while [risultato] != [a]

Buone esercitazioni!