From 6b4c2327253af05702e1f7da45de085ca231caac Mon Sep 17 00:00:00 2001 From: Berack96 Date: Sat, 7 Feb 2026 15:47:25 +0100 Subject: [PATCH] Added extra2 for es 5 --- .../extra2/calcolatore_bmi.js | 37 +++++++++++++++ .../extra2/convertitore_temperature.js | 39 ++++++++++++++++ .../extra2/gestione_conto_bancario.js | 46 +++++++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 javascript/JS_Esercizi 05 - Funzioni/extra2/calcolatore_bmi.js create mode 100644 javascript/JS_Esercizi 05 - Funzioni/extra2/convertitore_temperature.js create mode 100644 javascript/JS_Esercizi 05 - Funzioni/extra2/gestione_conto_bancario.js diff --git a/javascript/JS_Esercizi 05 - Funzioni/extra2/calcolatore_bmi.js b/javascript/JS_Esercizi 05 - Funzioni/extra2/calcolatore_bmi.js new file mode 100644 index 0000000..9fc373c --- /dev/null +++ b/javascript/JS_Esercizi 05 - Funzioni/extra2/calcolatore_bmi.js @@ -0,0 +1,37 @@ +/** + * Esercizio Extra2: Calcolatore BMI - Indice di Massa Corporea + * + * Descrizione: + * Calcola l'Indice di Massa Corporea (BMI) e determina la categoria di peso. + * Questo esercizio richiede di SPEZZARE il lavoro in PIÙ FUNZIONI. + * + * Obiettivo: + * Implementare due funzioni che lavorano insieme: + * 1. Una che calcola l'indice BMI + * 2. Una che determina la categoria di peso basata sul BMI + * + * Istruzioni: + * 1. Crea una funzione `calcolaBMI(peso, altezza)` che: + * - Accetta il peso in kg e l'altezza in metri + * - Calcola BMI usando la formula: BMI = peso / (altezza × altezza) + * - Restituisce il BMI arrotondato a 1 decimale + * + * 2. Crea una funzione `categorizzaBMI(bmi)` che: + * - Accetta il valore del BMI + * - Restituisce una categoria in base a questi intervalli: + * * BMI < 18.5 → "Sottopeso" + * * 18.5 ≤ BMI < 25 → "Peso normale" + * * 25 ≤ BMI < 30 → "Sovrappeso" + * * BMI ≥ 30 → "Obeso" + * + * 3. Crea una funzione principale `valutaPeso(peso, altezza)` che: + * - Chiama calcolaBMI() per ottenere l'indice + * - Chiama categorizzaBMI() per ottenere la categoria + * - Restituisce una stringa descrittiva come: + * "BMI: 24.5 | Categoria: Peso normale" + * + * Esempio di utilizzo: + * valutaPeso(70, 1.75) dovrebbe indicare "BMI: 22.9 | Categoria: Peso normale" + * valutaPeso(100, 1.75) dovrebbe indicare "BMI: 32.7 | Categoria: Obeso" + * valutaPeso(50, 1.75) dovrebbe indicare "BMI: 16.3 | Categoria: Sottopeso" + */ diff --git a/javascript/JS_Esercizi 05 - Funzioni/extra2/convertitore_temperature.js b/javascript/JS_Esercizi 05 - Funzioni/extra2/convertitore_temperature.js new file mode 100644 index 0000000..d902514 --- /dev/null +++ b/javascript/JS_Esercizi 05 - Funzioni/extra2/convertitore_temperature.js @@ -0,0 +1,39 @@ +/** + * Esercizio Extra2: Convertitore di Temperature + * + * Descrizione: + * Crea un sistema di conversione tra Celsius e Fahrenheit. + * Questo esercizio richiede di SPEZZARE il lavoro in PIÙ FUNZIONI. + * + * Obiettivo: + * Implementare tre funzioni: + * 1. Una che converte Celsius → Fahrenheit + * 2. Una che converte Fahrenheit → Celsius + * 3. Una funzione principale che usa le prime due + * + * Istruzioni: + * 1. Crea una funzione `celsiusToFahrenheit(celsius)` che: + * - Accetta un numero di gradi Celsius + * - Calcola la conversione usando la formula: (C × 9/5) + 32 + * - Restituisce il risultato + * + * 2. Crea una funzione `fahrenheitToCelsius(fahrenheit)` che: + * - Accetta un numero di gradi Fahrenheit + * - Calcola la conversione usando la formula: (F - 32) × 5/9 + * - Restituisce il risultato + * + * 3. Crea una funzione `converti(valore, da, a)` che: + * - Accetta il valore, il tipo di partenza (es: "C" o "F") e il tipo di arrivo + * - Se da="C" e a="F", chiama celsiusToFahrenheit() + * - Se da="F" e a="C", chiama fahrenheitToCelsius() + * - Se da === a, restituisce il valore invariato + * - Altrimenti restituisce null e stampa un messaggio di errore + * + * Esempio di utilizzo: + * converti(0, "C", "F") dovrebbe restituire 32 + * converti(100, "C", "F") dovrebbe restituire 212 + * converti(32, "F", "C") dovrebbe restituire 0 + * converti(98.6, "F", "C") dovrebbe restituire circa 37 + * converti(25, "C", "C") dovrebbe restituire 25 + * converti(25, "C", "X") dovrebbe restituire null e stampare un messaggio di errore + */ diff --git a/javascript/JS_Esercizi 05 - Funzioni/extra2/gestione_conto_bancario.js b/javascript/JS_Esercizi 05 - Funzioni/extra2/gestione_conto_bancario.js new file mode 100644 index 0000000..1de5d07 --- /dev/null +++ b/javascript/JS_Esercizi 05 - Funzioni/extra2/gestione_conto_bancario.js @@ -0,0 +1,46 @@ +/** + * Esercizio Extra2: Gestione Semplice di un Conto Bancario + * + * Descrizione: + * Simula un conto bancario con operazioni di deposito, prelievo e calcolo di interesse. + * Questo esercizio richiede di SPEZZARE il lavoro in PIÙ FUNZIONI. + * + * Obiettivo: + * Creare un'interfaccia di funzioni per gestire un conto bancario semplice. + * + * Istruzioni: + * + * 1. Crea una variabile globale `saldo` = 0 (rappresenta il saldo del conto) + * + * 2. Crea una funzione `deposita(importo)` che: + * - Accetta un importo + * - Se importo è negativo o zero, restituisce null e stampa un messaggio di errore + * - Aggiunge l'importo al saldo globale + * - Restituisce il nuovo saldo + * + * 3. Crea una funzione `preleva(importo)` che: + * - Accetta un importo + * - Se importo è negativo o zero, restituisce null e stampa un messaggio di errore + * - Se importo > saldo, restituisce null e stampa "Saldo insufficiente" + * - Sottrae l'importo dal saldo + * - Restituisce il nuovo saldo + * + * 4. Crea una funzione `calcolaInteresse(tassoAnnuale)` che: + * - Accetta un tasso di interesse annuale (es: 2.5 per il 2.5%) + * - Calcola l'interesse: saldo × (tassoAnnuale / 100) / 12 (interesse mensile) + * - Restituisce l'interesse calcolato + * + * 5. Crea una funzione `applicaInteresse(tassoAnnuale)` che: + * - Chiama calcolaInteresse() per ottenere l'importo dell'interesse + * - Aggiunge questo importo al saldo usando deposita() + * - Restituisce il nuovo saldo + * + * 6. Crea una funzione `visualizzaSaldo()` che: + * - Restituisce il saldo formattato come stringa: "€ 1234,56" + * + * Esempio di utilizzo: + * deposita(1000) // saldo = 1000 + * preleva(200) // saldo = 800 + * applicaInteresse(2) // aggiunge circa 1.33 euro (0.02 × 800 / 12) + * visualizzaSaldo() // "€ 801,33" + */