Added extra2 for es 5

This commit is contained in:
2026-02-07 15:47:25 +01:00
parent 9d47190877
commit 6b4c232725
3 changed files with 122 additions and 0 deletions

View File

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

View File

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

View File

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