Created
October 3, 2018 19:50
-
-
Save mgostIH/2eb0d4e2f6f6acedfd7bcb87320433ac to your computer and use it in GitHub Desktop.
Esercizio laboratorio Matematica Applicata
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# Dopo un carattere #, le scritte vengono considerate commenti, non cambiano quindi la funzione del programma | |
casuale=$(((RANDOM % 100) + 1)) # Genera un numero casuale tra 1 e 100 compresi, assegnalo ad una variabile di nome `casuale` | |
# Da notare che non ci sono spazi tra `casuale=` e il blocco dopo, Bash avrebbe considerato errore qualcosa come `variabile = RANDOM` | |
# `%` è l'operatore di resto, ad esempio, 10%2 è 0 perchè 10 diviso per 2 da resto 0, 11%2 sarà quindi 1, 12%2 sarà 0 | |
# Tramite % possiamo limitare il numero casuale dato da `RANDOM` in un intervallo 0-99, aggiungendo 1, questo diventa 1-100 | |
echo "Indovina il numero: " | |
read num # Leggi il valore dall'utente e registralo nella variabile `num` | |
while [ $num != $casuale ]; do # Ciclo `while`, continuerà ad eseguire il codice finchè la condizione all'interno di [] è vera | |
# In questo caso, la condizione è che il numero letto sia diverso dalla variabile `casuale` | |
# Finchè questa è vera, il codice prima di `done` sarà eseguito continuamente | |
if [ $num -lt $casuale ]; then # `If` è una condizione, esegue il codice se ciò che è all'interno di [] è vero | |
# Usiamo `-lt` per indicare "less than", quindi il caso `then` viene eseguito se `num` è minore di `casuale` | |
echo "Il numero che hai inserito è troppo piccolo" | |
else # `else` significa "altrimenti", ed indica la linea di codice da eseguire nel caso la condizione precedente fosse falsa | |
# L' `else` è opzionale, ma la parola `fi` è necessaria per indicare dove finisce il blocco condizionale `if` | |
echo "Il numero che hai inserito è troppo grande" | |
fi | |
read num # Se la condizione del ciclo è ancora vera, quindi i 2 valori sono diversi, leggine uno nuovo e rimettilo nella stessa variabile | |
# Questo continuerà ad essere eseguito finchè il numero non è indovinato | |
done | |
echo "Bene! Hai indovinato il numero: $casuale" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment