Skip to content

Instantly share code, notes, and snippets.

@mgostIH
Created October 3, 2018 19:50
Show Gist options
  • Save mgostIH/2eb0d4e2f6f6acedfd7bcb87320433ac to your computer and use it in GitHub Desktop.
Save mgostIH/2eb0d4e2f6f6acedfd7bcb87320433ac to your computer and use it in GitHub Desktop.
Esercizio laboratorio Matematica Applicata
#! /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