Лекция: Постановка задачи
Известно, что оптимальный вес человека определяется так: рост человека минус 100. Если твой фактический вес меньше оптимального, то ты худой, и наоборот, если больше, то надо похудеть.
Рис. 7.3. Внешний вид приложения
Рекомендуемый план разработки проекта
Рис. 7.4. Исходный вид приложения
2. Сохраните оба файла проекта в папке Weight.
3. Введите в раздел VAR переменные для сохранения значений фактического веса (faktW), оптимального веса (optW), роста (Rost) и разницы между оптимальным весом и фактическим (Delta). Пусть значения этих переменных будут округленными, в этом случае тип этих переменных можно объявить как Integer.
VAR factW,optW,Rost,Delta:integer;
4. Образуйте процедуру, реагирующую на щелчок по кнопке Button1, и заполните ее следующим кодом:
procedure TForm1.Button1Click(Sender: TObject);
Begin
factW:=StrToInt(Edit1.text);
Rost:=StrToInt(Edit2.Text);
OptW:=Rost-100;
Delta:=absfactW-OptW);
if OptW=factW
then Label3.caption:='Ваш вес оптимален'
else if OptW>factW
then Label3.caption:='Вам надо поправиться
на '+IntToStr(Delta)+' кг.'
Else Label3.caption:='Вам надо похудеть на
'+IntToStr(Delta)+' кг.'
End;
Считывание и преобразование строкового типа в целый из строки редактирования будет выполняться с помощью функции: StrToInt(Edit1.text);
Преобразование чисел целого типа в строковый и вывод будет выполняться с помощью функции: Label3.caption:= IntToStr( ).
5. В предыдущем пункте мы договорились вводить округленные исходные данные. Но это не всегда приемлемо. Усовершенствуйте программу так, чтобы можно было бы вводить десятичные величины. Для этого в разделе Var назовите тип переменных не Integer, а Real.
VAR factW,optW,Rost,Delta:real;
Кроме того, преобразование действительных чисел в строковые будет выполняться с помощью функции: FloatToStr( ).
В целом процедура Button1Click будет выглядеть следующим образом (рис. 7.5):
procedure TForm1.Button1Click(Sender: TObject);
Begin
factW:=StrToFloat(Edit1.text);
Rost:=StrToFloat(Edit2.Text);
OptW:=Rost-100;
Delta:=factW-OptW;
if OptW=factW
then Label3.caption:='Ваш вес оптимален'
else if OptW>factW
then Label3.caption:='Вам надо поправиться на
'+FloatToStr(Delta)+' кг.'
Else Label3.caption:='Вам надо похудеть на ‘
+ FloatToStr(Delta)+' кг.';
end;
Рис. 7.5. Окончательный вид приложения