rinomina esercizi js

This commit is contained in:
2026-02-12 18:36:35 +01:00
parent f0b6b85b36
commit 60878cf770
150 changed files with 16 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
/**
* Esercizio Extra (DEBUG): L'ordine conta
*
* Descrizione:
* Vogliamo dare un bonus a un dipendente se:
* - Ha fatto vendite alte (> 1000) OPPURE ha ottime recensioni (> 4.5)
* - E INOLTRE (condizione obbligatoria) non deve aver ricevuto reclami.
*
* Il codice attuale dà il bonus anche a chi ha reclami, se ha vendite alte. Questo è SBAGLIATO.
*
* Correggi l'espressione aggiungendo le parentesi necessarie per forzare la logica corretta.
*/
let vendite = 2000;
let recensioni = 3.0;
let haReclami = true;
let dirittoBonus = vendite > 1000 || recensioni > 4.5 && !haReclami;
console.log("Diritto al bonus:", dirittoBonus);
// OUTPUT ATTUALE (Errato): true
// OUTPUT ATTESO (Corretto): false

View File

@@ -0,0 +1,30 @@
/**
* Esercizio Extra: Sistema di Sicurezza Complesso
*
* DESCRIZIONE:
* L'allarme deve suonare (stampare true) se si verifica una situazione di pericolo.
*
* Variabili da dichiarare:
* - movimentoRilevato (bool)
* - orarioNotturno (bool)
* - finestreAperte (bool)
* - codiceInserito (bool)
* - blackout (bool)
*
* Regole dell'allarme:
* L'allarme suona SE:
* 1. (C'è movimento rilevato E è orario notturno)
* OPPURE
* 2. (Le finestre sono aperte E il codice di sicurezza NON è stato inserito)
* OPPURE
* 3. (C'è un blackout)
*
* Stampa il risultato della variabile 'allarmeAttivo'.
* Fai diverse prove cambiando i valori delle variabili per verificare che la logica regga.
*
* Prova a creare casi di test come:
* - movimentoRilevato = true, orarioNotturno = true, finestreAperte = false, codiceInserito = true, blackout = false => allarmeAttivo = true
* - movimentoRilevato = false, orarioNotturno = false, finestreAperte = true, codiceInserito = false, blackout = false => allarmeAttivo = true
* - movimentoRilevato = false, orarioNotturno = false, finestreAperte = false, codiceInserito = true, blackout = true => allarmeAttivo = true
* - movimentoRilevato = false, orarioNotturno = false, finestreAperte = false, codiceInserito = true, blackout = false => allarmeAttivo = false
*/

View File

@@ -0,0 +1,27 @@
/**
* Esercizio Extra: Statistiche Personaggio RPG
*
* DESCRIZIONE:
* In un gioco di ruolo, il danno inflitto dipende da Forza, Arma e Bonus.
*
* Istruzioni:
* 1. Dichiara variabili per: 'forzaBase' (num), 'dannoArma' (num), 'moltiplicatoreCritico' (num, es 1.5).
* 2. Dichiara una variabile booleana 'colpoCritico' (true o false).
* 3. Dichiara una variabile booleana 'nemicoInDifesa' (true o false).
*
* 4. Logica del Danno:
* - Il 'dannoBase' è (forzaBase + dannoArma).
* - Se 'colpoCritico' è true, il dannoBase viene moltiplicato per 'moltiplicatoreCritico'.
* (NOTA: Non puoi usare IF. Usa l'operatore ternario se lo conosci, oppure usa la matematica:
* danno * (1 + (0.5 * colpoCritico)) -> JavaScript converte true in 1 e false in 0).
* - Se 'nemicoInDifesa' è true, il danno finale viene dimezzato (diviso 2).
*
* 5. Calcola e stampa il danno finale in un unico passaggio logico o passaggi sequenziali.
*
* Sfida Matematica: Prova a risolvere sfruttando il fatto che true vale 1 e false vale 0 nei calcoli matematici.
*
* Esempio di test:
* - forzaBase = 50, dannoArma = 20, moltiplicatoreCritico = 2, colpoCritico = true, nemicoInDifesa = false => danno finale = 140
* - forzaBase = 30, dannoArma = 10, moltiplicatoreCritico = 1.5, colpoCritico = false, nemicoInDifesa = true => danno finale = 20
* - forzaBase = 40, dannoArma = 15, moltiplicatoreCritico = 2, colpoCritico = true, nemicoInDifesa = true => danno finale = 55
*/