Розгалужується обчислювальний процес

Як значення строкової константи може виступати будь-яка послідовність символів. Ця послідовність полягає в апострофи. Строкова константа відрізняється від символьного константи тим, що тут в якості значення константи можна.

Крім умовного оператора If в мові програмування Pascal існує оператор вибору Case of. Розглянемо його застосування на прикладі програми, яка виводить на екран ту чи іншу повідомлення, в залежності від введеного числа.

Цикли і масиви

Під вкладеним ітераційним циклом розуміють таку алгоритмічну структуру, при якій в тіло одного ітераційного циклу включений інший ітераційний цикл. Іншими словами, будь-яка складова.

Індекси мають ще одну властивість - чим більший об'єм масиву, тим менш ефективна з ним робота, тому часто використовують масиви масивів, тобто з двома, трьома і більше індексами для ідентифікації.

Якщо обчислювальний процес залежить від певних умов і реалізується по одному з декількох заздалегідь передбачених напрямків, він називається розгалужуються обчислювальним процесом, а кожне з цих напрямків - гілкою обчислень. Для вибору гілки обчислень в Паскалі використовуються оператори IF і CASE.

Однак перш, ніж перейти до розгляду цих операторів, необхідно познайомитися з поняттями складеного оператора, логічними операціями і виразами.

Складовою оператор.
Складовою оператор наказує виконання складових його операторів в порядку їх написання. Зарезервовані слова BEGIN і END є операторними дужками. Формат оператора:
BEGIN
<Оператор 1;>
<Оператор 2;>
...
<Оператор n>
END;
Складовою оператор використовується в тих конструкціях, де по синтаксису мови повинен бути тільки один оператор, а для виконання завдання потрібно більше одного. У складеному операторі всі оператори 1, 2. n виконуються послідовно ДРУГ за одним.
Логічні вирази.
Одним з нечислових видів даних є тип BOOLEAN. Булеві (логічні) змінні мають тільки два значення: FALSE (неправда), TRUE (істина). Існує кілька форм конструювання логічного виразу:

  • константа, описана в розділі CONST;
  • змінна, якій можна привласнити булеві значення (наприклад FLAG: = TRUE);
  • відношення між змінними скалярних і деяких структурованих типів.

У Паскалі допускаються відносини, перераховані в таблиці 16.

Приклад 6. Нехай задані речові змінні А, В і логічна змінна FLAG. Потрібно побудувати приклади простих логічних виразів, що містять відносини між А і В.
якщо:
VAR
FLAG, FLAG1, FLAG2: BOOLEAN;
А, В: REAL;
тоді допустимі вирази виду:
FLAG: = А <= В;
Значення TRUE 'істина' присвоюється змінної FLAG, якщо А менше або дорівнює В.
FLAG 1: = А <> В;
Значення TRUE 'істина' присвоюється змінної FLAG1, якщо А не дорівнює В.
FLAG2: = А = В;
Значення TRUE 'істина' присвоюється змінної FLAG2, якщо А дорівнює В.
Крім зазначених вище відносин (таблиця 16), логічні вирази конструюються за допомогою булевих операцій, описаних у таблиці 17.

Приклад 8. Сформулювати логічне умова попадання точки з координатами (х, у) в область S (малюнок 2).


нехай:
VAR FLAG: BOOLEAN;
Рівняння кола, яка обмежує область S в першому і другому квадраті системи координат XOY має вигляд:

B)));
IF FLAG THEN WRITELN ( 'Tочкa в області S')
ELSE WRITELN ( 'Toчкa поза області S')
END.
У стандартному Паскалі передбачений порядок старшинства операцій в булевих виразах: Вищий - (дужки); NOT; AND; (OR, XOR); (>, =,> -, <-, <> ) - нижчий. Однак в різних версіях мови ці вимоги можуть і не дотримуватися, тому надійніше використовувати дужки для уточнення обчислення.
Існують вбудовані булеві функції, найбільш відомі з яких ODD (X), EOF (F), EOLN (F), опис яких наведено в таблиці 10.
Логічний вираз може бути досить складним і включати в себе арифметичні і логічні функції, наприклад: FLAG: = ODD (I * 3 + K) AND ((SQR (C)> SIN (D / 2)) OR (A = 5)) ;
Мінлива FLAG приймає значення TRUE, якщо целочисленное вираз I * 3 + К приймає непарну значення і квадрат З більше, ніж синус D, поділеній навпіл, або А одно 5. В іншому випадку FLAG приймає значення FALSE.
У наведених прикладах в правій частині оператора присвоювання розташоване логічне вираз, а в лівій частині - логічна змінна.