Тема: Команда розгалуження.
1. Умови прості та складені. Логічні вирази.
У своїй діяльності людині часто доводиться аналізувати різноманітні ситуації, умови і залежно від них приймати ті чи інші рішення. В мовах програмування для цього використовують команду розгалуження. Команда розгалуження в залежності від виконання або невиконання деякої умови здійснює виконання однієї або другої групи команд.
В повсякденному житті умова звичайно формулюється у вигляді питання, на яке можна відповісти Так чи Ні. Наприклад:
Радіус кола дорівнює нулю?
Відповідь правильна?
Сума покупки більше 100 грн.?
В програмі умова — це вираз логічного типу (Boolean), який може приймати одне з двох значень: True (істина) або False (хибно).
Проста умова складається з двох операндів і оператора порівняння.
Наприклад:
x>1; y<=-1;s=5;
Radius < 10; Kilst >=X ;
Оператор |
Опис |
> |
Більше |
< |
Менше |
= |
Дорівнює |
<> |
Не дорівнює |
>= |
Більше або рівне |
<= |
Менше або рівне |
З простих умов за допомогою логічних операторів: and — "логічне І", or - "логічне АБО" і not - "заперечення" можна будувати складні умови.
Наприклад:
(key >= '0') and (key <= '9')
(day = 7) or (day = 6)
Команда розгалуження if.
Інструкція if дозволяє вибрати один з двох можливих варіантів виконання програми. Вибір здійснюється залежно від виконання умови.
В загальному вигляді інструкція if записується так:
if умова then
begin
// тут вказівки, які треба виконати, якщо умова істинна.
end
else
begin
// тут вказівки, які треба виконати, якщо умова хибна.
end;
Якщо яка-небудь дія повинна бути виконана тільки при виконанні певної умови і пропущена, якщо ця умова не виконується, то інструкція if може бути записаний так:
if умова then
begin
{ інструкції, які треба виконати, якщо умова виконується, істинна }
end;
Вправа1.
Обчислити значення функції:
procedure TForm1.Button1Click(Sender: TObject);
var x,y:real;// змінні
begin
x:=StrToFloat(Edit1.Text);
if x>=0 then y:=4*x+1 else y:=sqr(x)-2;
Edit2.Text:=FloatToStrf(y,ffNumber,6,2);
end;
Вправа 2
Вправа3.
Наприклад, відомо, що для кожної людини існує оптимальне значення ваги, яке може бути обчислене по формулі: Зріст(см)- 100.
Реальна вага може відрізнятися від оптимального: вага може бути менше оптимального, дорівнювати йому або перевищувати оптимальне значення. Наступна програма, діалогове вікно якої було приведено на мал. 3.2, запрошує вагу і ріст, обчислює оптимальне значення, порівнює його з реальною вагою і виводить відповідне повідомлення.
procedure TForml.ButtonlClick(Sender: TObject);
var
w:real; { вага } h:real; { ріст } opt:real;
{ оптимальна вага }
d:real;
{ відхилення від оптимальної ваги }
begin
w:=StrToFloat(Editl.text);
h:=StrToInt(Edit2.Text);
opt:=h-100;
if w=opt then
Label3.caption:='Bu в хорошій формі!'
else
if w < opt then
begin
d:=opt-w;
Labels.caption:='Вам треба поправитись, на '+ FloatToStr(d)+ 'кг.';
end
else
begin
d:=w-opt;
Labels.caption:='Потрібно трохи похудати, на '+ FloatTostr(d)+ ' кг.';
end;
end;
end.