diff --git a/javascript/03_Errori_e_Strutture_Condizionali/esercizi/calcolo_sconto.js b/javascript/03_Errori_e_Strutture_Condizionali/esercizi/calcolo_sconto.js index d61aefb..c9afc96 100644 --- a/javascript/03_Errori_e_Strutture_Condizionali/esercizi/calcolo_sconto.js +++ b/javascript/03_Errori_e_Strutture_Condizionali/esercizi/calcolo_sconto.js @@ -17,4 +17,11 @@ * 4. Stampa il prezzo finale. */ +// Scrivi qui il tuo codice + + +// Esempi da testare manualmente: +// Con prezzoOriginale=100 e categoria="vip", prezzoFinale dovrebbe essere 80 +// Con prezzoOriginale=50 e categoria="standard", prezzoFinale dovrebbe essere 45 +// Con prezzoOriginale=100 e categoria="nuovo", prezzoFinale dovrebbe essere 100 diff --git a/javascript/03_Errori_e_Strutture_Condizionali/esercizi/controllo_accesso.js b/javascript/03_Errori_e_Strutture_Condizionali/esercizi/controllo_accesso.js index f9b5da8..0831d2d 100644 --- a/javascript/03_Errori_e_Strutture_Condizionali/esercizi/controllo_accesso.js +++ b/javascript/03_Errori_e_Strutture_Condizionali/esercizi/controllo_accesso.js @@ -15,6 +15,14 @@ let userAge = 20; let hasDocument = true; let isBanned = false; -// Con questi valori, l'accesso dovrebbe essere autorizzato. + +// Scrivi qui il tuo codice + +// ZONA TEST - NON MODIFICARE +// Testa manualmente con questi casi: +// userAge=20, hasDocument=true, isBanned=false → "Accesso Autorizzato" +// userAge=16, hasDocument=true, isBanned=false → "Accesso Negato" +// userAge=20, hasDocument=true, isBanned=true → "Accesso Negato" + diff --git a/javascript/03_Errori_e_Strutture_Condizionali/extra/calcolatrice_switch.js b/javascript/03_Errori_e_Strutture_Condizionali/extra/calcolatrice_switch.js index 255875b6..f7bf28d 100644 --- a/javascript/03_Errori_e_Strutture_Condizionali/extra/calcolatrice_switch.js +++ b/javascript/03_Errori_e_Strutture_Condizionali/extra/calcolatrice_switch.js @@ -17,4 +17,12 @@ * 4. Gestisci il caso `default` per operazioni non riconosciute. */ +// Scrivi qui il tuo codice + + +// ZONA TEST - NON MODIFICARE +// Testa manualmente: +// num1=10, num2=5, operazione="+" → risultato: 15 +// num1=10, num2=3, operazione="*" → risultato: 30 +// num1=10, num2=0, operazione="/" → "Errore: Divisione per zero" diff --git a/javascript/03_Errori_e_Strutture_Condizionali/extra/rpg_decision_tree.js b/javascript/03_Errori_e_Strutture_Condizionali/extra/rpg_decision_tree.js index 05379ac..a72a979 100644 --- a/javascript/03_Errori_e_Strutture_Condizionali/extra/rpg_decision_tree.js +++ b/javascript/03_Errori_e_Strutture_Condizionali/extra/rpg_decision_tree.js @@ -17,10 +17,14 @@ * 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." */ + +// Scrivi qui il tuo codice + + + +// 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." diff --git a/javascript/04_Iterazioni/esercizi/conta_pari.js b/javascript/04_Iterazioni/esercizi/conta_pari.js index bfc089e..35fef99 100644 --- a/javascript/04_Iterazioni/esercizi/conta_pari.js +++ b/javascript/04_Iterazioni/esercizi/conta_pari.js @@ -11,3 +11,9 @@ * 4. Se è pari, aggiungilo a `totalePari`. * 5. Stampa il risultato finale. */ +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Il risultato corretto è: 110 (2+4+6+8+10+12+14+16+18+20) \ No newline at end of file diff --git a/javascript/04_Iterazioni/esercizi/potenze_due.js b/javascript/04_Iterazioni/esercizi/potenze_due.js index d35c319..a2d48c6 100644 --- a/javascript/04_Iterazioni/esercizi/potenze_due.js +++ b/javascript/04_Iterazioni/esercizi/potenze_due.js @@ -12,3 +12,9 @@ * - Stampa `numero`. * - Moltiplica `numero` per 2. */ +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Dovresti vedere stampato: 2, 4, 8, 16, 32, 64, 128, 256, 512 \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra/sequenza_fibonacci.js b/javascript/04_Iterazioni/extra/sequenza_fibonacci.js index 4039e5d..8280b6e 100644 --- a/javascript/04_Iterazioni/extra/sequenza_fibonacci.js +++ b/javascript/04_Iterazioni/extra/sequenza_fibonacci.js @@ -15,3 +15,10 @@ * - `temp` (per calcolare il nuovo numero) * Ad ogni giro, devi aggiornare `a` e `b` facendo "scorrere" i valori. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// I primi 15 numeri di Fibonacci sono: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra/somma_media_multipli_3.js b/javascript/04_Iterazioni/extra/somma_media_multipli_3.js index 15dcc45..096c53d 100644 --- a/javascript/04_Iterazioni/extra/somma_media_multipli_3.js +++ b/javascript/04_Iterazioni/extra/somma_media_multipli_3.js @@ -12,9 +12,11 @@ * - incrementa `conteggio` * 4. Calcola la media come `somma / conteggio` e salvala in `media`. * 5. Stampa: "Somma: X, Media: Y". - * - * Output atteso: - * Somma: 165, Media: 16.5 */ // Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Verifica: somma dovrebbe essere 165, media dovrebbe essere 16.5 \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra2/calcolo_fattoriale.js b/javascript/04_Iterazioni/extra2/calcolo_fattoriale.js index c532355..7ecc252 100644 --- a/javascript/04_Iterazioni/extra2/calcolo_fattoriale.js +++ b/javascript/04_Iterazioni/extra2/calcolo_fattoriale.js @@ -12,3 +12,11 @@ * 4. Ad ogni giro, moltiplica `fattoriale` per il contatore del ciclo. * 5. Stampa il risultato finale. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Con numero=5, fattoriale dovrebbe essere 120 +// Con numero=6, fattoriale dovrebbe essere 720 \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra2/piano_risparmio.js b/javascript/04_Iterazioni/extra2/piano_risparmio.js index f28f5a9..b41066a 100644 --- a/javascript/04_Iterazioni/extra2/piano_risparmio.js +++ b/javascript/04_Iterazioni/extra2/piano_risparmio.js @@ -15,3 +15,10 @@ * - (Opzionale) Stampa lo stato corrente. * 4. Alla fine, stampa quante settimane sono state necessarie. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Con obiettivo 300 e risparmio settimanale 40, sono necessarie 8 settimane \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra2/somma_alternata.js b/javascript/04_Iterazioni/extra2/somma_alternata.js index 28a150b..059ad1f 100644 --- a/javascript/04_Iterazioni/extra2/somma_alternata.js +++ b/javascript/04_Iterazioni/extra2/somma_alternata.js @@ -14,3 +14,11 @@ * 5. Altrimenti (se è dispari), AGGIUNGILO a `totale`. * 6. Stampa il risultato finale. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Con limite=10, totale dovrebbe essere -5 (1-2+3-4+5-6+7-8+9-10) +// Con limite=5, totale dovrebbe essere 3 (1-2+3-4+5) \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra2/somma_intervallo.js b/javascript/04_Iterazioni/extra2/somma_intervallo.js index 07df020..2079e14 100644 --- a/javascript/04_Iterazioni/extra2/somma_intervallo.js +++ b/javascript/04_Iterazioni/extra2/somma_intervallo.js @@ -11,3 +11,10 @@ * 4. Aggiungi il valore corrente a `somma`. * 5. Stampa il risultato finale (Dovrebbe fare 5+6+7+8+9+10 = 45). */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Con min=5 e max=10, somma dovrebbe essere 45 \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra3/fizzbuzz_semplice.js b/javascript/04_Iterazioni/extra3/fizzbuzz_semplice.js index ef54aa7..87042e3 100644 --- a/javascript/04_Iterazioni/extra3/fizzbuzz_semplice.js +++ b/javascript/04_Iterazioni/extra3/fizzbuzz_semplice.js @@ -11,3 +11,10 @@ * Suggerimento: * Usa l'operatore modulo (%) per capire se è multiplo. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Dovresti vedere: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz, 16, 17, Fizz, 19, Buzz \ No newline at end of file diff --git a/javascript/04_Iterazioni/extra3/scacchiera.js b/javascript/04_Iterazioni/extra3/scacchiera.js index a1103f2..f011bdd 100644 --- a/javascript/04_Iterazioni/extra3/scacchiera.js +++ b/javascript/04_Iterazioni/extra3/scacchiera.js @@ -16,3 +16,6 @@ * 3. Se (riga + colonna) è pari -> aggiungi "X". * 4. Altrimenti -> aggiungi "O". */ +// Scrivi qui il tuo codice + + diff --git a/javascript/04_Iterazioni/extra3/triangolo_rettangolo.js b/javascript/04_Iterazioni/extra3/triangolo_rettangolo.js index dc261e2..0c69f1e 100644 --- a/javascript/04_Iterazioni/extra3/triangolo_rettangolo.js +++ b/javascript/04_Iterazioni/extra3/triangolo_rettangolo.js @@ -17,3 +17,7 @@ * 3. Accumula gli asterischi in una variabile stringa. * 4. Stampa la riga e resetta la stringa per il prossimo giro. */ + +// Scrivi qui il tuo codice + + diff --git a/javascript/04_Iterazioni/extra3/verifica_numero_primo.js b/javascript/04_Iterazioni/extra3/verifica_numero_primo.js deleted file mode 100644 index 9813fbe..0000000 --- a/javascript/04_Iterazioni/extra3/verifica_numero_primo.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Esercizio Extra: Verifica Numero Primo - * - * Descrizione: - * Un numero primo è un numero divisibile SOLO per 1 e per se stesso (es. 7, 11, 13). - * Vogliamo scoprire se un numero dato è primo o no usando un ciclo. - * - * Istruzioni: - * 1. Definisci una variabile `numeroDaControllare` (es. 17). - * 2. Crea una variabile booleana `ePrimo` impostata su `true` all'inizio. - * 3. Scrivi un ciclo for che parte da 2 e arriva fino a `numeroDaControllare - 1`. - * 4. Se `numeroDaControllare` è divisibile per il contatore `i` (ovvero il resto è 0): - * - Imposta `ePrimo` su `false`. - * - Usa `break` per uscire subito dal ciclo (abbiamo trovato un divisore, quindi non è primo). - * 5. Alla fine, stampa "È primo? " + ePrimo. - */ diff --git a/javascript/05_Funzioni/esercizi/area_rettangolo.js b/javascript/05_Funzioni/esercizi/area_rettangolo.js index 432b5c0..5e62281 100644 --- a/javascript/05_Funzioni/esercizi/area_rettangolo.js +++ b/javascript/05_Funzioni/esercizi/area_rettangolo.js @@ -13,3 +13,12 @@ * Con base = 5 e altezza = 10, l'output dovrebbe essere "L'area è: 50". * Con base = 7 e altezza = 3, l'output dovrebbe essere "L'area è: 21". */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Testa con diversi valori: +// calcolaArea(5, 10) dovrebbe restituire 50 +// calcolaArea(7, 3) dovrebbe restituire 21 \ No newline at end of file diff --git a/javascript/05_Funzioni/esercizi/convertitore_valuta.js b/javascript/05_Funzioni/esercizi/convertitore_valuta.js index 67fc789..b465461 100644 --- a/javascript/05_Funzioni/esercizi/convertitore_valuta.js +++ b/javascript/05_Funzioni/esercizi/convertitore_valuta.js @@ -13,3 +13,11 @@ * Con 50 euro, l'output dovrebbe essere "50 Euro sono 55 Dollari". * Con 100 euro, l'output dovrebbe essere "100 Euro sono 110 Dollari". */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// convertiInDollari(50) dovrebbe restituire 55 +// convertiInDollari(100) dovrebbe restituire 110 \ No newline at end of file diff --git a/javascript/05_Funzioni/extra/calcolatrice_funzionale.js b/javascript/05_Funzioni/extra/calcolatrice_funzionale.js index 4dbbe23..8b0a764 100644 --- a/javascript/05_Funzioni/extra/calcolatrice_funzionale.js +++ b/javascript/05_Funzioni/extra/calcolatrice_funzionale.js @@ -24,3 +24,23 @@ * Con 6, 7 e "*" dovrebbe restituire 42. * Con 20, 5 e "ciao" dovrebbe restituire undefined, null o NaN. */ + +// Scrivi qui il tuo codice + + + +function eseguiOperazione(n1, n2, operazione) { +} + + +// ZONA TEST - NON MODIFICARE +function assertEqual(actual, expected, test) { + let result = (actual === expected); + let emoji = result ? '✅' : '❌'; + let str = result ? 'superato!' : `fallito. Valore corretto: ${expected}; ottenuto: ${actual}`; + console.log(`${emoji} ${test} Test ${str}`); +} + +assertEqual(eseguiOperazione(5, 3, "+"), 8, "1."); +assertEqual(eseguiOperazione(10, 4, "-"), 6, "2."); +assertEqual(eseguiOperazione(6, 7, "*"), 42, "3."); diff --git a/javascript/05_Funzioni/extra/numero_primo.js b/javascript/05_Funzioni/extra/numero_primo.js index aebe322..e7f62ef 100644 --- a/javascript/05_Funzioni/extra/numero_primo.js +++ b/javascript/05_Funzioni/extra/numero_primo.js @@ -20,3 +20,22 @@ * Con 401 dovrebbe restituire `true` * Con 459 dovrebbe restituire `false` */ + +// Scrivi qui il tuo codice +function èPrimo(n) { +} + + + +// ZONA TEST - NON MODIFICARE +function assertEqual(actual, expected, test) { + let result = (actual === expected); + let emoji = result ? '✅' : '❌'; + let str = result ? 'superato!' : `fallito. Valore corretto: ${expected}; ottenuto: ${actual}`; + console.log(`${emoji} ${test} Test ${str}`); +} + +assertEqual(èPrimo(7), true, "1."); +assertEqual(èPrimo(10), false, "2."); +assertEqual(èPrimo(401), true, "3."); +assertEqual(èPrimo(459), false, "4."); \ No newline at end of file diff --git a/javascript/05_Funzioni/extra2/calcolatore_bmi.js b/javascript/05_Funzioni/extra2/calcolatore_bmi.js index 9fc373c..ad0479f 100644 --- a/javascript/05_Funzioni/extra2/calcolatore_bmi.js +++ b/javascript/05_Funzioni/extra2/calcolatore_bmi.js @@ -35,3 +35,23 @@ * valutaPeso(100, 1.75) dovrebbe indicare "BMI: 32.7 | Categoria: Obeso" * valutaPeso(50, 1.75) dovrebbe indicare "BMI: 16.3 | Categoria: Sottopeso" */ + +// Scrivi qui il tuo codice + + + +function valutaPeso(peso, altezza) { +} + + +// ZONA TEST - NON MODIFICARE +function assertEqual(actual, expected, test) { + let result = (actual === expected); + let emoji = result ? '✅' : '❌'; + let str = result ? 'superato!' : `fallito. Valore corretto: ${expected}; ottenuto: ${actual}`; + console.log(`${emoji} ${test} Test ${str}`); +} + +assertEqual(valutaPeso(70, 1.75), "BMI: 22.9 | Categoria: Peso normale", "1."); +assertEqual(valutaPeso(100, 1.75), "BMI: 32.7 | Categoria: Obeso", "2."); +assertEqual(valutaPeso(50, 1.75), "BMI: 16.3 | Categoria: Sottopeso", "3."); \ No newline at end of file diff --git a/javascript/05_Funzioni/extra2/convertitore_temperature.js b/javascript/05_Funzioni/extra2/convertitore_temperature.js index d902514..56f443e 100644 --- a/javascript/05_Funzioni/extra2/convertitore_temperature.js +++ b/javascript/05_Funzioni/extra2/convertitore_temperature.js @@ -37,3 +37,24 @@ * converti(25, "C", "C") dovrebbe restituire 25 * converti(25, "C", "X") dovrebbe restituire null e stampare un messaggio di errore */ + +// Scrivi qui il tuo codice + + + +function converti(valore, da, a) { +} + + +// ZONA TEST - NON MODIFICARE +function assertEqual(actual, expected, test) { + let result = (actual === expected); + let emoji = result ? '✅' : '❌'; + let str = result ? 'superato!' : `fallito. Valore corretto: ${expected}; ottenuto: ${actual}`; + console.log(`${emoji} ${test} Test ${str}`); +} + +assertEqual(converti(0, "C", "F"), 32, "1."); +assertEqual(converti(100, "C", "F"), 212, "2."); +assertEqual(converti(32, "F", "C"), 0, "3."); +assertEqual(converti(98.6, "F", "C"), 37, "4."); \ No newline at end of file diff --git a/javascript/05_Funzioni/extra2/gestione_conto_bancario.js b/javascript/05_Funzioni/extra2/gestione_conto_bancario.js index 1de5d07..bd610df 100644 --- a/javascript/05_Funzioni/extra2/gestione_conto_bancario.js +++ b/javascript/05_Funzioni/extra2/gestione_conto_bancario.js @@ -44,3 +44,10 @@ * applicaInteresse(2) // aggiunge circa 1.33 euro (0.02 × 800 / 12) * visualizzaSaldo() // "€ 801,33" */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Testa le funzioni manualmente seguendo l'esempio sopra \ No newline at end of file diff --git a/javascript/06_Array/esercizi/conversione_gradi.js b/javascript/06_Array/esercizi/conversione_gradi.js index c9aa50a..c2873d2 100644 --- a/javascript/06_Array/esercizi/conversione_gradi.js +++ b/javascript/06_Array/esercizi/conversione_gradi.js @@ -13,4 +13,9 @@ let temperatureCelsius = [0, 10, 20, 30, 100]; -// Scrivi qui il tuo codice usando .map() \ No newline at end of file +// Scrivi qui il tuo codice usando .map() + + + +// ZONA TEST - NON MODIFICARE +// temperatureFahrenheit dovrebbe essere: [32, 50, 68, 86, 212] \ No newline at end of file diff --git a/javascript/06_Array/esercizi/lista_pianeti.js b/javascript/06_Array/esercizi/lista_pianeti.js index fc176e0..ce5edd3 100644 --- a/javascript/06_Array/esercizi/lista_pianeti.js +++ b/javascript/06_Array/esercizi/lista_pianeti.js @@ -9,4 +9,9 @@ * */ -// Scrivi qui il tuo codice \ No newline at end of file +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// L'array finale dovrebbe essere: ["Terra", "Giove"] \ No newline at end of file diff --git a/javascript/06_Array/extra/playlist_musicale.js b/javascript/06_Array/extra/playlist_musicale.js index e850deb..5815674 100644 --- a/javascript/06_Array/extra/playlist_musicale.js +++ b/javascript/06_Array/extra/playlist_musicale.js @@ -21,3 +21,10 @@ * 6. Esegui il codice e verifica che funzioni come previsto * (ogni esecuzione dovrebbe dare risultati diversi a causa della casualità). */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Verifica che 'inCoda' cambi ad ogni esecuzione e che la prima canzone venga rimossa \ No newline at end of file diff --git a/javascript/06_Array/extra/scontrino_fiscale.js b/javascript/06_Array/extra/scontrino_fiscale.js index 1056d1a..589eb1f 100644 --- a/javascript/06_Array/extra/scontrino_fiscale.js +++ b/javascript/06_Array/extra/scontrino_fiscale.js @@ -12,3 +12,11 @@ * 5. Stampa la lista dei prezzi finali. * 6. Calcola il totale dei prezzi ivati e stampalo. */ + +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Con prezzi [100, 50, 200, 10], i prezziIvati dovrebbero essere [122, 61, 244, 12.2] +// Il totale dovrebbe essere 439.2 \ No newline at end of file diff --git a/javascript/07_Oggetti/esercizi/creazione_profilo.js b/javascript/07_Oggetti/esercizi/creazione_profilo.js index 29bb6ae..4393a7f 100644 --- a/javascript/07_Oggetti/esercizi/creazione_profilo.js +++ b/javascript/07_Oggetti/esercizi/creazione_profilo.js @@ -9,4 +9,9 @@ * 4. Stampa l'oggetto finale. */ -// Scrivi qui il tuo codice \ No newline at end of file +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// Verifica che l'oggetto abbia username, email, online invertito e biografia \ No newline at end of file diff --git a/javascript/07_Oggetti/esercizi/listino_prezzi.js b/javascript/07_Oggetti/esercizi/listino_prezzi.js index b8dcf9c..8fc0172 100644 --- a/javascript/07_Oggetti/esercizi/listino_prezzi.js +++ b/javascript/07_Oggetti/esercizi/listino_prezzi.js @@ -8,4 +8,9 @@ * 3. Stampa una frase: "Il biglietto per il [tipo] costa [costo] euro." */ -// Scrivi qui il tuo codice \ No newline at end of file +// Scrivi qui il tuo codice + + + +// ZONA TEST - NON MODIFICARE +// La frase finale dovrebbe essere: "Il biglietto per il Cinema costa 8 euro." \ No newline at end of file