Esercizio 3

This commit is contained in:
2026-02-02 23:26:44 +01:00
parent a5de4b57b0
commit 1c258c972c
8 changed files with 326 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
/**
* Esercizio: Il Calcolatore di Sconti
*
* DESCRIZIONE:
* Un negozio applica sconti diversi in base alla categoria del cliente.
*
* Regole:
* - Categoria "vip": sconto del 20%
* - Categoria "standard": sconto del 10%
* - Categoria "nuovo": nessuno sconto (0%)
* - Qualsiasi altra categoria: errore (prezzo invariato)
*
* Obiettivo:
* 1. Definisci una variabile `prezzoOriginale` (es. 100).
* 2. Definisci una variabile `categoria` (es. "vip").
* 3. Usa una struttura di controllo (if/else if o switch) per calcolare il `prezzoFinale`.
* 4. Stampa il prezzo finale.
*/

View File

@@ -0,0 +1,20 @@
/**
* Esercizio: Controllo Accesso Composto
*
* DESCRIZIONE:
* Per accedere a un'area riservata, un utente deve soddisfare TRE requisiti:
* 1. Essere maggiorenne (>= 18).
* 2. Avere un documento valido (booleano true).
* 3. NON essere bannato dal sistema (booleano false).
*
* OBIETTIVO:
* Scrivi la logica usando un unico `if` con operatori logici combinati (&&, !).
* Stampa "Accesso Autorizzato" o "Accesso Negato".
*/
let userAge = 20;
let hasDocument = true;
let isBanned = false;
// Con questi valori, l'accesso dovrebbe essere autorizzato.

View File

@@ -0,0 +1,28 @@
/**
* Esercizio (DEBUG): L'ordine conta
*
* DESCRIZIONE:
* Questo codice dovrebbe assegnare un giudizio in base al punteggio.
* - Punteggio > 90: "Eccellente"
* - Punteggio > 70: "Buono"
* - Punteggio > 50: "Sufficiente"
*
* Problema:
* Se metto 95, mi stampa "Sufficiente" invece di "Eccellente". Perché?
*
* OBIETTIVO:
* Correggi l'ordine delle condizioni if/else if per far funzionare la logica.
*/
let punteggio = 95;
// CODICE BUGGATO:
if (punteggio > 50) {
console.log("Sufficiente");
} else if (punteggio > 70) {
console.log("Buono");
} else if (punteggio > 90) {
console.log("Eccellente");
} else {
console.log("Insufficiente");
}