>>> DOWNLOAD SCRIPT <<<  

#!/bin/bash

################################################################
# Programma parlante per interrogare i pargoli sulle tabelline #
################################################################

# limite superiore per i due numeri estratti (estremi compresi)
LIMITE_INF_N1=3
LIMITE_SUP_N1=9
LIMITE_INF_N2=3
LIMITE_SUP_N2=9

function clearscreen {
    clear
    echo "  _______    _          _ _ _"
    echo " |__   __|  | |        | | (_)"
    echo "    | | __ _| |__   ___| | |_ _ __   ___"
    echo "    | |/ _\` | '_ \\ / _ \\ | | | '_ \\ / _ \\"
    echo "    | | (_| | |_) |  __/ | | | | | |  __/"
    echo "    |_|\__,_|_.__/ \\___|_|_|_|_| |_|\\___|"
    echo
}


# numero di domande che sono poste
N_DOMANDE=$1
if "$N_DOMANDE" == "" ]; then
    N_DOMANDE=50
    echo "Parametro non presente: numero di domande = $N_DOMANDE"
fi

giusti=0
sbagliati=0

clearscreen
espeak -v it "Inizio del test... saranno fatte $N_DOMANDE domande... pronti... via"

t_tot_netto=0
for in $(seq 1 $N_DOMANDE)do

    clearscreen
    n1=$(($RANDOM % ($LIMITE_SUP_N1 $LIMITE_INF_N1) + $LIMITE_INF_N1))
    n2=$(($RANDOM % ($LIMITE_SUP_N2 $LIMITE_INF_N2) + $LIMITE_INF_N2))
    r=$(echo "$n1*$n2" | bc)
    echo
    echo "domanda $i su $N_DOMANDE"
    espeak -v it "domanda $i"
    echo "$n1 x $n2"
    espeak -v it "$n1 per $n2"

    # lettura della risposta
    t0=$(date +%s)
    risposta=""
    while "$risposta" == "" ]; do
        read risposta
    done
    t1=$(date +%s)
    t_tot_netto=$(($t_tot_netto + ($t1 t0)))
    
    # test e conteggio giuste vs sbagliate
    if "$risposta" -eq "$r" ]; then
        espeak -v it "giusto"
        giusti=$(echo "$giusti + 1" | bc)
    else
        echo "SBAGLIATO, la risposta giusta era $r"
        espeak -v it "$risposta... è sbagliato... la risposta giusta... èra"
        sbagliati=$(echo "$sbagliati + 1" | bc)
    fi
    espeak -v it $r

done

t_medio=$(echo "$t_tot_netto/$N_DOMANDE" | bc)
perc=$(echo "100 * $giusti / $N_DOMANDE" | bc)

espeak -v it "Il test è finito!"
echo
echo "VERIFICA FINITA"
echo "$giusti risposte giuste"
espeak -v it "$giusti... risposte giuste"
echo "$sbagliati risposte sbagliate"
espeak -v it "$sbagliati... risposte sbagliate"
echo "$perc % di risposte giuste"
espeak -v it "$perc percènto di risposte giuste"
echo "media di circa $t_medio secondi per risposta"
espeak -v it "in media... $t_medio secondi per ogni risposta"

sleep 10