Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!_Методичка_ТР.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.17 Mб
Скачать

Завдання 2 Розгалужений обчислювальний процес Короткі теоретичні відомості

2.1 Умовний оператор

Умовний оператор призначений для зміни порядку виконання інструкцій програми, відповідно до деякої умови.

Існують два види умовного оператора:

  1. if <умова> then <оператор>;

  2. if <умова> then <оператор_1> else <оператор_2>;

де if (якщо); then (тоді); else (інакше) − службові слова; <умова> − вираз булевого типу; <оператор>, < оператор 1>, <оператор 2> − окремі оператори або оператори, які згруповані разом за допомогою операторних дужок begin ... end. Такий оператор називається складеним.

Для умовного оператора першого виду, якщо вираз <умова> набуває значення true, то виконується <оператор>. Якщо ж вираз <умова> набуває значення false, то цей оператор не виконується.

Для умовного оператора другого виду, якщо вираз <умова> набуває значення true, то виконується <оператор_1>, а <оператор_2> не виконується. Якщо вираз <умова> набуває значення false, то виконується <оператор_2>, а <оператор_1> не виконується.

Перед службовим словом else не ставитися крапка з комою.

Слід пам'ятати що умовний оператор керує тільки одним оператором, тому, якщо треба зробити більш ніж одну дію, необхідно використати складений оператор begin ... end, який об'єднує декілька простих операторів в одну групу.

Після begin і перед end не ставитися крапка з комою. Вона ставитися між операторами.

Приклади наведено нижче.

Приклад 2.1. Скласти програму для обчислення виразу залежно від умови.

, якщо iнепарне та ;

, якщо iпарне та ;

, інакше.

program pr21;

uses crt;

var i:byte; x,a,b,c:real;

begin

clrscr;

write('Введіть i: '); readln(i);

write('Введіть x:'); readln(x);

if (odd(i)=true) and (x>0) then

begin

a:=i*sqrt(x);

writeln('a=', a:5:3)

end

else

if (odd(i)=false) and (x<0) then

begin

b:=i/2+sqrt(abs(x));

writeln('b=', b:5:3)

end

else

begin

c:=sqrt(abs(exp(3*ln(i+1))));

writeln('c=',c:5:3)

end;

readkey

end.

Приклад 2.2. Скласти програму для обчислення max і min:

.

program pr22;

uses crt;

var x,y,z,max,min:integer; P:real;

begin

clrscr;

write('Введіть x: '); readln(x);

write('Введіть y: '); readln(y);

write('Введіть z: '); readln(z);

max:=x*y*z;

min:=x+y+z;

if x+y+z>max then max:=x+y+z;

if x*y*z<min then min:=x*y*z;

P:=max/min;

writeln('max=', max);

writeln('min=', min);

writeln('P=', P:5:2);

readKey

end.

Результат: Введіть x: -2

Введіть y: 3

Введіть z: 4

max=5

min=-24

P=-0.21

Результат: Введіть i: 4

Введіть x: 5.2

c=11.180