Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
230401_MU_-_Osnovy_algoritmizatsii_i_programmir...docx
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Практическое занятие №35 Разработка многооконного приложения. Проект “Худой или полный?”.

Цель работы: научиться разрабатывать приложения

Теоретическая часть

Типы переменных. Целочисленный и Действительный типы переменных:integer и real.

Преобразование типов переменных из строкового в целочисленный или в дествительный. Функции StrToInt( ); FloatToStr(); Format();

Алгоритм выбора. Оператор условия if – then – else.

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

Надо разработать такую программу, чтобы пользователь, введя свой рост и фактический вес, мог бы с помощью программы определить, худой он или полный, и насколько надо поправиться или похудеть (см. рис1).

Рисунок 1.

Практическая часть

Ход работы

  1. В соответсвии с рис.2 расположите необходимые компоненты. В Edit1 будем вводить вес в кг., а в Edit2 – рост в см.

Рисунок 2

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 := abs(factW - OptW);

if OptW = factW then Label3.caption := 'Вашвесоптимален'

else

if OptW > factW then Label3.caption := 'Вамнадопоправитьсяна '+IntToStr(Delta)+' кг.'

else

Label3.caption := 'Вамнадопохудетьна '+IntToStr(Delta)+' кг.'

end;4. В предыдущем пункте мы договорились вводить округленные исходные данные. Но это не всегда приемлимо. Усовершенствуйте программу так, чтобы можно было бы вводить десятичные величины. Для этого в разделе Var назовите тип переменных не Integer, а Real.

VAR

factW, optW, Rost, Delta : real;

Кроме этого, преобразование действительных чисел встроковый будет выполняться с помощью функции: FloatToStr( ).

В целом процедура Button2Click будет выглядеть следующим образом:

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;

Упражнения

1. Для форматирования и преобразования действительных чисел вместо функции FloatToStr() примените функцию Format(‘ %f ’,[пeременная]). Например, Format(‘%f ‘, [Delta]).

2 Теперь для форматирования и преобразования примените эту же функцию в таком виде Format(‘Строка %f’,[пeременная]). Например, Format(‘Вам надо похудеть %f[Delta]) .

  1. Сделайте к программе заголовок, замените кнопку Button1 на кнопку BitBtn1, введите кнопку “Close”,