Інформатика

Програми з галуженням

Команди галуження — це складові командами, у яких на відміну від простих команд присутні умови, в залежності від істинності яких виконуються або не виконуються оператори, що входять до складу команди галуження.
Повне та неповне галуження. У Паскалі реалізовано повне та неповне галуження, а також команда вибору, що реалізована як послідовне виконання декількох структур галуження і яка передбачає вибір з декількох можливих варіантів дій.
1. Конструкція «If — Then» — неповне галуження використовується в тому випадку, коли визначені дії тільки у разі виконання умови.
IF <умова> THEN <оператор>;
Конструкція «If — Then — Else» — пов­не галуження використовується в тому випадку, коли визначені різні дії в разі виконання та невиконання умови.
IF <умова> THEN <оператор> ELSE <опе­ратор>;
2. Конструкції «Case — Of» неповний вибір або «Case — Of — Else» — повний вибір використовуються в тому випадку, коли визначені різні дії в разі декількох виходів (замінюють конструкції із вкладених операторів if).
CASE <порядкова змінна> OF
<значення>: <оператори>
ELSE <оператор>;
END.
Прості та складені умови. Висловлювання, яке може бути істинним (правильним) або хибним (неправильним) називається умовою. Проста умова — це висловлювання, в якому два вирази з’єднані знаком операції відношення. Складена умова — це висловлювання, в якому дві або більше простих умов з’єднані знаками логічних операцій.
У мові програмування Паскаль реалізовані операції відношеня: > — «більше»; < — «менше»; = — «дорівнює»; <> — «не дорівнює»; >= — «не менше»; <= — «не більше»; та логічні операції: not — «ні»; and — «і»; or — «або».
Висловлювання — це деяке твердження, ві­­­д­­­­­­­­н­ос­но якого можна сказати, що воно або істинне, або хибне. Таким чином, кожному висловлюванню можна приписати «0» (хибне) або «1» (істинне). Приклад: «5 — просте число» — істинне, «2 = 3 + 5» — хибне висловлювання.
За допомогою логічних операцій можна будувати з одного висловлювання інші. Побудова з даного (даних) висловлювання нового висловлювання називається логічною операцією. Знаки логічних операцій називають логічними зв’язками. Логічні операції частіше за все описуються за допомогою таб­лиць істинності.
Таблиці істинності для операцій «інверсії» (заперечення), «кон’юнкції» (логічне множення, або логічне «і»), диз’юнкції (логічне додавання, або логічне «або»).

А B A and B («і») A or B («або») not A («ні»)
1 1 1 1 0
1 0 0 1 0
0 1 0 1 1
0 0 0 0 1

Логічні вирази — це вирази, що складаються з висловлювань, які можуть бути з’єднані логічними зв’язками. Ці вирази набувають логічного значення («хибне» або «істинне»). Логічні вирази можуть бути простими та складеними. У простому логічному виразі використовуються змінні та константи логічного типу, операції порівняння. Зв’язка простих логічних виразів за допомогою логічних операцій утворює складений логічний вираз. Прості вирази записуються в складених виразах у круг­лих дужках.

Лінійні програми

Лінійними називаються програми, що складаються з простих команд (операторів).
Простими командами (простими вказівками алгоритму) називаються команди, які не використовують умови при своєму виконанні. До числа простих операторів належать команди (оператори) присвоювання, уведення і виведення, виклику допоміжного алгоритму (підпрограми).
Оператор присвоювання. Він задає або змінює поточне значення деякої змінної. При цьому змінюється вміст конкретного елемента пам’яті, відведеного для цієї змінної. Оскільки мета будь-якого алгоритму — це отримання в певному місці пам’яті потрібного значення, практично будь-яка програма містить цей оператор.
Ця команда може мати такий вигляд:

Формат команди Приклади
<ім’я змінної>: = <значення>; A:=5; D:= 10;
<ім’я змінної>: = <ім’я змінної >; A:=D;
<ім’я змінної>: = <вираз>; A:=A+D*5;

Ліворуч від знака «:=» розташовано ім’я змінної, праворуч — значення величини, ім’я іншої змінної, вираз.
Розпізнавши команду присвоювання, керування передається програмі, яка може виконувати присвоювання. Спочатку виконуються операції, що стоять праворуч від знака «: =», а потім результат присвоюється змінній, що стоїть ліворуч від знака присвоювання. Знак присвоювання показує, що ділянку пам’яті комп’ютера, в якій зберігається значення вказаної змінної, треба змінити на задане значення, на значення заданої змінної або на значення обчисленого виразу.
Оператори введення-виведення. Стан­дартні процедури введення даних використовуються для визначення початкових значень певних змінних величин і складаються з імені процедури та списку введення, який містить імена змінних, значення яких будуть уводитися з клавіатури або з файла, тобто змінним будуть присвоюватися якісь певні значення.
Частіше для визначення початкових значень зручніше користуватися командою введення, а не командою присвоювання, тому що при необхідності використання програми з іншими початковими даними не доводиться змінювати текст програми.
Якщо в запису алгоритму стоїть команда введення, то його виконання уривається і керування передається програмі, яка може здійснити введення даних. Після введення даних керування передається наступній команді алгоритму.
На мові Паскаль процедура введення даних має вигляд:
READ (список уведення);
READLN (список уведення).
Під час виконання процедур READ та READLN програма переходить у стан очікування введення даних. Якщо у списку введення вказано декілька змінних, то їх можна вводити в одному рядку, відділяючи одне від одного символом «пробіл», або в окремих рядках (у стовпчик), завершуючи введення кожного значення клавішею Enter.
Робота процедури не завершиться, доки не будуть уведені значення для всіх змінних, указаних у списку. Тип значень, що вводяться, має збігатися з тим, який має відповідна змінна.
Оператор READLN відрізняється від оператора READ тим, що після введення необхідного числа даних курсор переміщується на наступний рядок.
Якщо введення даних здійснюється з клавіатури, то список уведення — це список змінних, тобто послідовність імен змінних, розділених комами. Якщо введення здійснюється з файла, то у списку введення перша змінна — файлова, пов’язана з іменем реального файла.
Стандартні процедури виведення результатів обчислень використовуються для виведення їхніх значень на екран, принтер або у файл. На мові Паскаль процедури виведення мають вигляд:
WRITE (список виведення);
WRITELN (список виведення).
Список елементів виведення значно ширший, ніж у процедурах уведення. До нього можуть входити:
• ідентифікатори величин, значення яких будуть виводитися на відповідний пристрій або у файл;
• вирази, значення яких спочатку будуть обчислені, а потім виведені на пристрій;
• сталі величини (числові, символьні, ряд­кові).
Відмінність між WRITE і WRITELN полягає в тому, що виведення оператором WRITE починається з поточного місцерозташування курсора на екрані монітора і курсор після закінчення виведення залишається в тому ж рядку. Оператор WRITELN виводить значення з поточного місця, а потім курсор переміщується на наступний рядок. Можна використовувати оператор WRITELN без списку виведення для переміщення курсору на новий рядок.
Якщо виведення здійснюється на екран монітора, то список виведення — це список змінних, або послідовність імен змінних, констант або виразів, розділених комами. Якщо виведення здійснюється у файл, то в списку виведення перша змінна — файлова, пов’язана з іменем реального файла.
У команді виведення після елемента списку виведення через двокрапку можна вказати формат виведення, тобто ширину поля екрана, на якому будуть розташовуватися значення. При виведенні дійсних даних можна вказати також кількість десяткових цифр у дробовій частині, яку треба вивести на екран.
Приклад: write (А: 10: 3, В: 8).
Оператор виклику допоміжного алгоритму. У Паскалі реалізовано підпрограми-процедури і підпрограми-функції. Виклик підпрограми здійснюється за її іменем з вказівкою фактичних параметрів. При цьому на місці фактичних аргументів можуть бути конкретні значення, імена фактичних змінних, вирази, а на місці результатів — тільки імена фактичних змінних. При цьому кількість, типи і призначення формальних і фактичних параметрів у відповідних списках параметрів мають збігатися.

Типи даних в Паскалі

З точки зору програмування величини — це дані, якими оперує програма і які потребують місця в пам’яті комп’ютера.
Залежно від формату представлення значень величини в пам’яті комп’ютера, множини допустимих значень, множини допустимих операцій величини поділяються на типи.
Стандартні типи даних. Величини, значення яких зберігаються в одному елементі пам’яті, називають простими величинами. У Паскалі до них належать стандартні (базові) типи та їхні похідні:
• різновиди цілого типу — Integer, Shortint, Longint, Byte, Word;
• різновиди дійсного типу — Real, Singl, Double, Extended, Comp;
• символьний тип Char;
• логічний тип Boolean.
Опис величин. Для опису (оголошення) постійних величин використовується службове слово CONST, змінних — VAR. За допомогою оголошення встановлюється не тільки факт існування змінної, але і її тип.
Приклад:
CONST n=5;
VAR summer: integer; a1, b1: char;
Структуровані типи даних. Це дані, що складаються з декількох елементів простого типу. Такі типи даних зручно використовувати, коли обробляється велика кількість даних одного типу або декілька даних різних типів об’єднуються в одну групу.
До структурованих типів даних можна віднести рядки, масиви, записи, множини.