Выбор. Инструкция if.
Таблица 2.4. Значения свойств компонентов.
| Свойство | Значение | 
|---|---|
| Form1.Caption | Стоимость разговора | 
| Edit1.Text | |
| Edit2.Text | |
| Label1.Caption | Длительность (мин.) | 
| Label2.Caption | Номер дня недели | 
| Label3.Caption | |
| Button1.Caption | Вычислить | 
Программа производит вычисления в результате щелчка на командной кнопке Вычислить. При этом возникает событие onclick, которое обрабатывается процедурой TForm1.Button1Click.
Листинг 2.1. Вычисление стоимости телефонного разговора.
unit Phone_u;
interface
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, StdCTRLs;
type
TForm1 = class (TForm)
Editl: TEdit; // поле ввода длительности разговора
Edit2: TEdit; // поле ввода номера дня недели
Button1: TButton; // кнопка Вычислить
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure ButtonlClick(Sender: TObject); private
/ Private declarations } public
{ Public declarations } end;
var
Form1: TForm1;
implementation
($R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
const
PAY =0.15; // цена одной минуты разговора 0.15 рубля
DISCOUNT = 0.2; // скидка 20 процентов
var
Time:Real; // длительность разговора
Day:integer; // день недели
Summa:real; // стоимость разговора
begin
// получить исходные данные
Time: = StrToFloat(Editl.Text);
Day: = StrToInt(Edit2.Text);
// Вычислить стоимость разговора
Summa: = PAY*Time;
// Если день суббота или воскресенье, то уменьшить
// стоимость на величину скидки
if (Day = 6) OR (Day = 7)
then Surama: = Summa*(1 – DISCOUNT);
// вывод результата вычисления
label3.caption: = 'K оплате '
+ FloatToStr(Summa) + 'руб.'; end;
end.
Часто в программе необходимо реализовать выбор более чем из двух вариантов. Например, известно, что для каждого человека существует оптимальное значение веса, которое может быть вычислено по формуле:
Рост(см) -100.
Реальный вес может отличаться от оптимального: вес может быть меньше оптимального, равняться ему или превышать оптимальное значение.
