Skip to content

Instantly share code, notes, and snippets.

@rodion-m
Last active May 1, 2021 17:12
Show Gist options
  • Save rodion-m/48a75e38c3a3f8f7efa83c9ca1571afc to your computer and use it in GitHub Desktop.
Save rodion-m/48a75e38c3a3f8f7efa83c9ca1571afc to your computer and use it in GitHub Desktop.
ДЗ. Урок 1: Помогите тренеру рассчитать ИМТ

Представьте, что к вам пришел фитнес тренер и рассказал о своей проблеме: каждый раз, когда к нему приходит новый клиент, тренеру нужно определить здоровый у клиента вес или есть отклонения от нормы. Для этого ему приходится тратить время на поиск в специальной таблице индекса массы тела клиента (ИМТ). Кроме того, недостаток таблицы еще и в том, что она дает приблизительный ответ: ИМТ

Вы вместе подумали и выяснили, что есть специальная формула для расчета ИМТ: ИМТ = вес / (рост * рост). Но каждый раз пользоваться калькулятором тренеру тоже неудобно. Помогите тренеру: напишите программу, которая будет вычислять для него ИМТ.

1.1 Напишите консольную программу, которая будет рассчитывать индекс массы тела (ИМТ). Для этого вам нужно предоставить тренеру возможность ввести имя, рост (в метрах) и вес (в кг), затем вычислить индекс массы тела по формуле ИМТ. Покажите ИМТ тренеру.

Обратите внимание, что поскольку рост тренер вводит в метрах, тип этой переменной следует сделать double. Для конвертации строки в число используйте метод double.Parse.

Пример: Вес: 62, Рост: 1.77, Результат ИМТ: 19.78997


1.2 Тренер благодарен вам за проделанную работу, но теперь он не может запомнить наизусть какой показатель ИМТ означает норму, а какой отклонение, постоянно смотреть в таблицу ему тоже неудобно. Модифицируйте свою программу так, чтобы тренер сразу мог увидеть итог. В этом вам поможет таблица:

ИМТ Результат
Менее 16 Ярко выраженный дефицит массы тела
16 — 18.5 Дефицит массы тела
18.5 — 25 Норма
25 — 30 Предожирение
30 — 35 Ожирение первой степени
35 — 40 Ожирение второй степени
Более 40 Ожирение третей степени

Пример: Вес: 62, Рост: 1.77, Результат: "Ваш ИМТ: 19.78997 (Норма)


1.3 Вот теперь вы действительно значительно упростили жизнь тренеру, он вам очень благодарен за помощь! Он даже поделился вашей программой со своими клиентами, чтобы они могли самостоятельно проверять свой ИМТ. Но некоторые клиенты по привычке вводили свой рост в сантиметрах, вместо метров, поэтому программа показывала неверный результат. Добавьте в программу возможность вводить рост как в метрах, так и в сантиметрах, для этого единицу измерения программа должна определять автоматически.

Примеры:

Вес: 62, Рост: 177, Результат: "Ваш ИМТ: 19.78997 (Норма)

Вес: 62, Рост: 1.77, Результат: "Ваш ИМТ: 19.78997 (Норма)


1.4 Отлично! Теперь клиенты тренера тоже вам благодарны. Но один из клиентов выяснил, что по последним научным данным норма ИМТ для мужчин и женщин будет отличаться. Для женщин норма ИМТ лежит в диапазоне от 20 до 22, а для мужчин от 23 до 25. Добавьте в вашу программу возможность указать пол (М или Ж) и модернизируйте формулу расчета ИМТ с учетом пола клиента.

Примеры:

Пол: М, Вес: 68, Рост: 170, Результат: "Ваш ИМТ: 23.529411 (Норма)

Пол: Ж, Вес: 68, Рост: 170, Результат: "Ваш ИМТ: 23.529411 (Предожирение)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment