Esercizio 3
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Esercizio Extra: La Calcolatrice Semplice
|
||||
*
|
||||
* DESCRIZIONE:
|
||||
* Simula una calcolatrice che esegue operazioni base tra due numeri.
|
||||
*
|
||||
* Variabili:
|
||||
* - `num1` (es. 10)
|
||||
* - `num2` (es. 0)
|
||||
* - `operazione` (stringa: "+", "-", "*", "/")
|
||||
*
|
||||
* OBIETTIVO:
|
||||
* 1. Usa uno `switch` sulla variabile `operazione`.
|
||||
* 2. Gestisci i 4 casi matematici.
|
||||
* 3. IMPORTANTE: Nel caso della divisione ("/"), aggiungi un `if` annidato dentro il case.
|
||||
* Se `num2` è 0, stampa "Errore: Divisione per zero". Altrimenti stampa il risultato.
|
||||
* 4. Gestisci il caso `default` per operazioni non riconosciute.
|
||||
*/
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Esercizio Extra (DEBUG): Il Login Confuso
|
||||
*
|
||||
* DESCRIZIONE:
|
||||
* Un sistema di sicurezza deve verificare se un numero è "sicuro".
|
||||
* Un numero è sicuro se:
|
||||
* - È pari.
|
||||
* - È compreso tra 10 e 50 (inclusi).
|
||||
*
|
||||
* Il codice attuale dice che 150 è sicuro (sbagliato) e 5 è sicuro (sbagliato).
|
||||
*
|
||||
* OBIETTIVO:
|
||||
* 1. Analizza l'uso delle parentesi e degli operatori OR (||) vs AND (&&).
|
||||
* 2. Correggi la condizione dentro l'if.
|
||||
*
|
||||
* Suggerimento:
|
||||
* L'operatore modulo `% 2 === 0` verifica se è pari.
|
||||
*/
|
||||
|
||||
let numeroCodice = 150;
|
||||
|
||||
// CODICE BUGGATO:
|
||||
// L'intento era: (Pari) E (MaggioreUguale 10) E (MinoreUguale 50)
|
||||
if (numeroCodice % 2 === 0 || numeroCodice >= 10 && numeroCodice <= 50) {
|
||||
console.log(numeroCodice + " è un codice sicuro.");
|
||||
} else {
|
||||
console.log(numeroCodice + " NON è sicuro.");
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Esercizio Extra: Gioco di Ruolo Testuale (Decision Tree)
|
||||
*
|
||||
* Descrizione:
|
||||
* Simula un turno di combattimento basato su variabili di stato.
|
||||
*
|
||||
* Variabili:
|
||||
* - `hpMostro` (punti vita mostro, es. 50)
|
||||
* - `tuoiHp` (tuoi punti vita, es. 20)
|
||||
* - `pozione` (booleano, hai una pozione? es. true)
|
||||
*
|
||||
* Obiettivo:
|
||||
* Scrivi una logica annidata complessa:
|
||||
* 1. Se `tuoiHp` sono meno di 30:
|
||||
* - Se hai la `pozione` (true) -> Stampa "Usi la pozione e ti curi."
|
||||
* - Se NON hai la `pozione` -> Stampa "Sei nei guai! Attacchi disperatamente."
|
||||
* 2. Altrimenti (se hai abbastanza vita):
|
||||
* - Se `hpMostro` < 10 -> Stampa "Il mostro è debole, lo finisci!"
|
||||
* - Altrimenti -> Stampa "Attacchi il mostro con forza."
|
||||
*
|
||||
* Esempi di test:
|
||||
* - tuoiHp = 20, hpMostro = 50, pozione = true => "Usi la pozione e ti curi."
|
||||
* - tuoiHp = 25, hpMostro = 50, pozione = false => "Sei nei guai! Attacchi disperatamente."
|
||||
* - tuoiHp = 40, hpMostro = 5, pozione = false => "Il mostro è debole, lo finisci!"
|
||||
* - tuoiHp = 40, hpMostro = 30, pozione = true => "Attacchi il mostro con forza."
|
||||
*/
|
||||
Reference in New Issue
Block a user