added some tests

This commit is contained in:
2026-02-16 22:33:40 +01:00
parent c5b16b7e02
commit 0c3ad09db4
29 changed files with 245 additions and 30 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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."

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -16,3 +16,6 @@
* 3. Se (riga + colonna) è pari -> aggiungi "X".
* 4. Altrimenti -> aggiungi "O".
*/
// Scrivi qui il tuo codice

View File

@@ -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

View File

@@ -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.
*/

View File

@@ -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

View File

@@ -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

View File

@@ -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.");

View File

@@ -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.");

View File

@@ -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.");

View File

@@ -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.");

View File

@@ -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

View File

@@ -13,4 +13,9 @@
let temperatureCelsius = [0, 10, 20, 30, 100];
// Scrivi qui il tuo codice usando .map()
// Scrivi qui il tuo codice usando .map()
// ZONA TEST - NON MODIFICARE
// temperatureFahrenheit dovrebbe essere: [32, 50, 68, 86, 212]

View File

@@ -9,4 +9,9 @@
*
*/
// Scrivi qui il tuo codice
// Scrivi qui il tuo codice
// ZONA TEST - NON MODIFICARE
// L'array finale dovrebbe essere: ["Terra", "Giove"]

View File

@@ -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

View File

@@ -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

View File

@@ -9,4 +9,9 @@
* 4. Stampa l'oggetto finale.
*/
// Scrivi qui il tuo codice
// Scrivi qui il tuo codice
// ZONA TEST - NON MODIFICARE
// Verifica che l'oggetto abbia username, email, online invertito e biografia

View File

@@ -8,4 +8,9 @@
* 3. Stampa una frase: "Il biglietto per il [tipo] costa [costo] euro."
*/
// Scrivi qui il tuo codice
// Scrivi qui il tuo codice
// ZONA TEST - NON MODIFICARE
// La frase finale dovrebbe essere: "Il biglietto per il Cinema costa 8 euro."