Выбор. Инструкция 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.
Реальный вес может отличаться от оптимального: вес может быть меньше оптимального, равняться ему или превышать оптимальное значение.