57 lines
2.1 KiB
JavaScript
57 lines
2.1 KiB
JavaScript
/**
|
||
* 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"
|
||
*/
|
||
|
||
// 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."); |