Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
інформатика.docx
Скачиваний:
1
Добавлен:
27.04.2019
Размер:
85.49 Кб
Скачать

Оператор розгалуження If. Оператор вибору Case.

При програмуванні здебільшого використовуються три типи команд: присвоювання, розгалуження і повторення. Для здійснення розгалуження у Pascal-програмі використовується умовний оператор if. Оператор if може використовуватись у повній та неповній формі. Синтаксис умовного оператора такий:

If <умова> then <оператор>; або If <умова> then <оператор 1> else < оператор 2>;

Оператор if обчислює значення логічного виразу <умова> і якщо цей вираз приймає значення true (істинне), то виконується оператор, вказаний після службового слова then, а якщо <умова> приймає значення false (хибне), то, або виконується оператор, який слідує за оператором if (якщо оператор if неповний), або виконується оператор, вказаний після службового слова else. Наприклад,

If c<>0 then a:=b/c; {виключаєм випадок ділення на нуль}

If c<>0 then a:=b/c else Writeln(‘Помилка! Ділення на нуль!’);

Якщо після слів then чи else треба записати не один оператор, а кілька, слід використовувати операторні дужки begin <послідовність операторів> end. Наприклад,

If x<y then begin z:=x; x:=y; y:=z; end;

{якщо x менший за y, то міняємо значення змінних x та y місцями}.

Для побудови складних умов використовуються логічні операції and (і), or (або) та not(не). Таблички істинності для цих операцій мають вигляд:

A

B

A or B

True

True

True

True

False

True

False

True

True

False

False

False

A

not A

True

False

False

True

A

B

A and B

True

True

True

True

False

False

False

True

False

False

False

False

Наприклад, щоб перевірити чи належить x проміжку [-1; 4] слід написати:

If (x>=-1)and(x<=4) then Writeln(‘Так !) else Writeln(‘Ні !’);

Допускається використання будь-якої кількості вкладених операторів If. Наприклад,

If (x>=-1) then if (x<=4) then Writeln(‘Так !) else Writeln(‘Ні !’);

У останньому прикладі вітка else відноситься до останнього оператора if.

Оператор вибору Case

Умовний оператор дозволяє здійснювати розгалуження програми тільки за двома напрямками. Якщо для змінної необхідно перевірити ряд умов, слід використовувати або вкладені оператори if, або оператор вибору Case. Синтаксис оператора Case такий:

Case <змінна або вираз> of

<мітка 1>: <оператор 1>;

<мітка 2>:<оператор 2>;

. . . . .

<мітка N>:<оператор N>;

else <оператор N+1>;

end;

В результаті дії оператора вибору виконається лише оператор, позначений міткою, що відповідає значенню змінної (виразу), вказаної після службового слова Case. Якщо значення змінної не співпаде з жодною із міток, то виконається оператор вказаний після службового слова else. Вітка else є необов’язковою. Параметр <змінна або вираз> може бути цілого, символьного та перелічуваного типів. Наприклад,

Case Variant of {змінна Variant містить номер варіанту}

1: Writeln(‘Варіант 1’);{виконається, якщо змінна Variant=1}

2: Writeln(‘Варіант 2’);{виконається, якщо змінна Variant=2}

else Writeln(‘Не вірне значення варіанту!’);{ виконається, в усіх інших випадках}

end; {вказує на кінець оператора Case}