Задание для самостоятельного выполнения




Практическая работа №5, ВАШ ВЕС

Постановка задачи

 

Пусть оптимальный вес человека определяется как рост минус 100см. Если фактический вес человека меньше оптимального, то будем считать его худым, если больше, то полным.

 

Создать программу, выполняющую следующие действия.

Рис. 11
Введя рост и фактический вес и нажав кнопку «Расчет», учащийся может определить, худой он или полный и на сколько килограмм надо поправиться или похудеть.

Новым в этой работе являются:

- использование типов переменных - целочисленного и действительного (Int и Float);

- преобразование строковых данных в числовой тип и числовые в строковые с помощью функций Convert.ToInt32, Convert.ToString(), Convert.ToDouble();

- использование процедуры MessageBox для вывода сообщения в отдельном окне.

 

План разработки программы

1. Откройте новый проект.

2. Разместите в форме экземпляры компонентов в соответствии с рис.12. В поле textBox1 будем вводить вес в килограммах, а в textBox2 – рост в сантиметрах.

3. Сохраните код программы и проект

4. Для сохранения результатов расчета введем переменные:

faktW – фактический вес, optW – оптимальный вес,

Rost – рост, Delta – разница между оптимальным весом и фактическим.

В начале будем считать, что все данные у нас целые числа.

Поскольку эти переменные нужны нам только для работы с одной кнопкой, то объявим их в блоки этой кнопки. Для этого в событие Click кнопки button1 объявим переменные:

 

Примечание: если бы переменные нужны были бы в нескольких функциях, то мы бы их объявили просто в классе, чтобы они были доступны для всех функций класса.

5. Выполните следующие действия:

Выделенный объект Вкладка окна Свойство объектов Имя свойства/ Имя события Значение/Действие
Label1 Свойства Text Введите вес
Label2 Свойства Text Введите рост
Label3 Свойства Text Удалить название объекта
Edit1 Свойства Text Удалить название объекта
События KeyPress if (e.KeyChar == (char)Keys.Enter) textBox2.Focus(); Комментарий Делает активным объект textbox2, т.е. после нажатие на Enter фокус перейдет в окно ввода textbox2.  
Edit2 Свойства Text Удалить название объекта
События KeyPress if (e.KeyChar == (char)Keys.Enter) button1.Focus(); Комментарий Перемещает курсор на объект Button1.  
Button1 События Click factW = int.Parse(textBox1.Text); Rost = int.Parse(textBox2.Text); optW = Rost - 100; Delta = Math.Abs(factW - optW); if (optW == factW) label3.Text = "Ваш вес идеален"; else if (optW > factW) label3.Text = "Вам надо поправиться на " + Delta + " кг. "; else label3.Text = "Вам надо похудеть на " + Delta + " кг.";

Комментарий

a) Компонента textbox содержит информацию строкового типа, поэтому нам необходимо для выполнения вычислений перевести ее в числовой вид. Но при этом компонент label может выводить числа и поэтому обратный перевод не обязателен.

Функция Convert.ToInt32() преобразует строку символов в целое число, функция Convert.ToString() выполняет обратное действие – целое число преобразует в строку символов.

6. Сохраните проект, запустите и протестируйте его.

7. Усовершенствуйте программу так, чтобы можно было вводить любые десятичные величины. Для этого необходимо использовать вещественный тип переменных float:

float factW, optW, Rost, Delta;

Примечание: для того чтобы перевести строковый тип обратно в числовой с плавающей запятой нeжна фунцкия Convert.ToDouble

Внесите соответствующие изменения в обработку события Click компонента Button1.

8. Сохраните проект окончательно, запустите и протестируйте его.

Задание для самостоятельного выполнения

1. Усовершенствуйте проект:

- сделайте к программе заголовок,

- сделайте шрифт выводимой реплики отличным от стандартного по виду, цвету и размеру,

- вставьте кнопку выхода из программы,

- предусмотрите возможность повторного запуска программы (см. Проект «Диалог»).

2. Сделайте так, чтобы в начале программы и после повторного запуска объект Button1 был не доступен и только после того, как будет введен вес, появлялась возможность нажать на кнопку «Расчет».

Подсказка. Изменение свойства доступности компонента для пользователя – Enabled. Если свойство имеет значение True, то компонент доступен, а если значение False, то – не доступен (см. проект «Диалог»).

3. Сделайте так, чтобы в начале программы и после повторного запуска объекты Label2 и textbox2 были не видны и появлялись на экране только после того, как будет введен вес.

Подсказка. Изменение свойства видимости компонента – Visible. Если свойство имеет значение True, то компонент виден, а если значение False, то – не виден.

4. Предусмотрите невозможность ввода отрицательных значений веса и роста.
Подсказка: Можно воспользоваться оператором if или оброботкой исключением try – catch. Для вывода сообщения воспользуйтесь MessageBox.Show

5. Измените алгоритм расчета с учетом Индекса массы тела.

Вес – X, Рост – Y.

Индекс массы тела – A, где A = X / Y2 (кг/м2)

Результат определяется по таблице:

№ п/п Значение индекса Результат (сообщение, которое надо вывести)
1. A < 18 Большой недовес
2. 18 <= A < 20 Маловато и небезопасно, можно получить истощение
3. 20 <= A <= 25 Идеально
4. 26 <=A <=30 Легкий недобор
5. 30 < A Срочно нужно худеть

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-11-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: