Индекс массы тела (ИМТ) — это популярный метод оценки отношения массы тела к росту, который широко используется в медицине и здравоохранении для определения степени ожирения и оценки общего здоровья человека. Расчет ИМТ позволяет быстро и просто определить, находится ли человек в пределах нормального веса, имеет недостаточный или избыточный вес, что является важным фактором для поддержания здорового образа жизни. Программы для вычисления ИМТ стали незаменимыми инструментами как для врачей, так и для обычных людей, стремящихся контролировать свой вес и заботиться о своем здоровье. В данной статье мы рассмотрим создание программы для вычисления индекса массы тела.
Теория
Алгоритм вычисления индекса массы тела (ИМТ) на основе роста в футах, дюймах и веса в фунтах следующий:
- Запросите у пользователя значение его роста в футах, дюймах и веса в фунтах. Давайте обозначим эти значения как «heightFeet«, «heightInches» и «weightPounds» соответственно.
- Переведите рост в дюймах, умножив количество футов на 12 и добавив дюймы:
heightInchesTotal = (heightFeet * 12) + heightInches - Вычислите ИМТ с использованием формулы:
ИМТ = (weightPounds / (heightInchesTotal * heightInchesTotal)) * 703
Где «weightPounds» — масса тела в фунтах, «heightInchesTotal» — общая длина в дюймах. - Полученное значение ИМТ является числом, которое может указывать на разные категории веса, как описано в предыдущем ответе.
- Выведите результат пользователю, указав категорию веса на основе полученного значения ИМТ.
C++
Пример короткой программы на C++, которая запрашивает у пользователя рост в футах и дюймах, а также вес в фунтах, а затем вычисляет индекс массы тела (ИМТ):
#include <iostream> int main() { double heightInFeet, heightInInches, weightInPounds; std::cout << "Введите рост в футах: "; std::cin >> heightInFeet; std::cout << "Введите рост в дюймах: "; std::cin >> heightInInches; std::cout << "Введите вес в фунтах: "; std::cin >> weightInPounds; // Переводим рост в дюймах в общее количество дюймов double heightInInchesTotal = (heightInFeet * 12) + heightInInches; // Вычисляем индекс массы тела (ИМТ) double bmi = (weightInPounds / (heightInInchesTotal * heightInInchesTotal)) * 703; std::cout << "Индекс массы тела (ИМТ): " << bmi << std::endl; return 0; }
В этой программе мы сначала запрашиваем у пользователя рост в футах и дюймах, а также вес в фунтах. Затем мы переводим рост в дюймах и вычисляем ИМТ с использованием формулы: ИМТ = (вес в фунтах / (рост в дюймах * рост в дюймах)) * 703. Полученное значение ИМТ выводится на экран.
C#
using System; class Program { static void Main(string[] args) { double heightInFeet, heightInInches, weightInPounds; Console.Write("Введите рост в футах: "); if (!double.TryParse(Console.ReadLine(), out heightInFeet)) { Console.WriteLine("Неверный ввод роста в футах."); return; } Console.Write("Введите рост в дюймах: "); if (!double.TryParse(Console.ReadLine(), out heightInInches)) { Console.WriteLine("Неверный ввод роста в дюймах."); return; } Console.Write("Введите вес в фунтах: "); if (!double.TryParse(Console.ReadLine(), out weightInPounds)) { Console.WriteLine("Неверный ввод веса в фунтах."); return; } // Переводим рост в дюймах в общее количество дюймов double heightInInchesTotal = (heightInFeet * 12) + heightInInches; // Вычисляем индекс массы тела (ИМТ) double bmi = (weightInPounds / (heightInInchesTotal * heightInInchesTotal)) * 703; Console.WriteLine("Индекс массы тела (ИМТ): " + bmi); } }
Python
# Запрашиваем у пользователя рост в футах, дюймах и вес в фунтах height_in_feet = float(input("Введите рост в футах: ")) height_in_inches = float(input("Введите рост в дюймах: ")) weight_in_pounds = float(input("Введите вес в фунтах: ")) # Переводим рост в дюймах в общее количество дюймов height_in_inches_total = (height_in_feet * 12) + height_in_inches # Вычисляем индекс массы тела (ИМТ) bmi = (weight_in_pounds / (height_in_inches_total * height_in_inches_total)) * 703 # Выводим результат print(f"Индекс массы тела (ИМТ): {bmi}")
Java
import java.util.Scanner; public class BMICalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Введите рост в футах: "); double heightInFeet = scanner.nextDouble(); System.out.print("Введите рост в дюймах: "); double heightInInches = scanner.nextDouble(); System.out.print("Введите вес в фунтах: "); double weightInPounds = scanner.nextDouble(); scanner.close(); // Переводим рост в дюймах в общее количество дюймов double heightInInchesTotal = (heightInFeet * 12) + heightInInches; // Вычисляем индекс массы тела (ИМТ) double bmi = (weightInPounds / (heightInInchesTotal * heightInInchesTotal)) * 703; System.out.println("Индекс массы тела (ИМТ): " + bmi); } }
Pascal
program BMICalculator; var heightInFeet, heightInInches, weightInPounds, heightInInchesTotal, bmi: real; begin write('Введите рост в футах: '); readln(heightInFeet); write('Введите рост в дюймах: '); readln(heightInInches); write('Введите вес в фунтах: '); readln(weightInPounds); // Переводим рост в дюймах в общее количество дюймов heightInInchesTotal := (heightInFeet * 12) + heightInInches; // Вычисляем индекс массы тела (ИМТ) bmi := (weightInPounds / (heightInInchesTotal * heightInInchesTotal)) * 703; writeln('Индекс массы тела (ИМТ): ', bmi:0:2); end.
JavaScript
// Запрашиваем у пользователя рост в футах, дюймах и вес в фунтах const heightInFeet = parseFloat(prompt("Введите рост в футах:")); const heightInInches = parseFloat(prompt("Введите рост в дюймах:")); const weightInPounds = parseFloat(prompt("Введите вес в фунтах:")); // Переводим рост в дюймах в общее количество дюймов const heightInInchesTotal = (heightInFeet * 12) + heightInInches; // Вычисляем индекс массы тела (ИМТ) const bmi = (weightInPounds / (heightInInchesTotal * heightInInchesTotal)) * 703; // Выводим результат console.log(`Индекс массы тела (ИМТ): ${bmi.toFixed(2)}`);
PHP
<?php // Запрашиваем у пользователя рост в футах, дюймах и вес в фунтах echo "Введите рост в футах: "; $heightInFeet = (float)readline(); echo "Введите рост в дюймах: "; $heightInInches = (float)readline(); echo "Введите вес в фунтах: "; $weightInPounds = (float)readline(); // Переводим рост в дюймах в общее количество дюймов $heightInInchesTotal = ($heightInFeet * 12) + $heightInInches; // Вычисляем индекс массы тела (ИМТ) $bmi = ($weightInPounds / ($heightInInchesTotal * $heightInInchesTotal)) * 703; // Выводим результат echo "Индекс массы тела (ИМТ): " . number_format($bmi, 2, '.', '') . PHP_EOL; ?>