Files
esercizi-web/javascript/05_Funzioni/extra2/calcolatore_bmi.js
2026-02-16 22:33:40 +01:00

57 lines
2.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 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.");