- •Поняття алгоритму та його основні властивості.
- •Поняття двовимірного масиву, його означення на мові Pascal.
- •Способи опису алгоритму.
- •Алгоритмічна мова
- •Базові операції обробки двовимірного масиву на мові р.
- •Алгоритмічна структура розгалуження
- •Сортування двовимірного масиву
- •Алгоритмічна структура повторення
- •Поняття рядка та оголошення змінних рядкового типу на мові Pascal
- •Структура програми на мові Pascal
- •Операції над рядками та рядкові вирази мови Pascal
- •Прості типи даних у мові Pascal
- •Запис та його оголошення на мові Pascal
- •Константи мови Pascal
- •Доступ до компонентів та операції над запиcами мови Pascal
- •Змінні мови Pascal
- •Масиви записів мови Pascal
- •Арифметичний вираз мови Pascal
- •Опис та виконання метки у мові Pascal
- •Оператор присвоєння мови Pascal
- •Логічний вираз мови Pascal
- •Процедура введення даних мови Pascal
- •Цикл із передумовою while мови Pascal
- •Процедура виведення даних мови Pascal
- •Цикл з післяумовою repeat мови Pascal
- •Команда вибору із двох альтернатив мови Pascal
- •Типи файлів й оголошення файлових змінних мови Pascal
- •Вкладеність конструкцій вибору мови Pascal
- •Установка відповідностей між логічним і фізичним файлами мови Pascal
- •Операторний блок мови Pascal
- •Відкриття і закриття файлів мови Pascal
- •Команда поліваріантного вибору мови Pascal
- •Зчитування і запис текстових файлів мови Pascal
- •Цикл із лічильником for у мові Pascal
- •Стандартні функції мови Pascal
- •Процедури користувача мови Pascal
- •Поняття одновимірного масиву та його визначення у мові Pascal
- •Функції користувача мови Pascal
- •Базові операції обробки одновимірного масиву мови Pascal
- •Сортування одновимірного масиву мови Pascal
- •Оператор безумовного переходу у мові Pascal
Цикл з післяумовою repeat мови Pascal
Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло циклу завжди виконується хоча б один раз. У мові Паскаль такий цикл здійснює інструкція repeat..until; у Сі — do…while. На мові Паскаль цикл з післяумовою має наступний вигляд:
repeat
<тіло циклу>
until <умова>
Команда вибору із двох альтернатив мови Pascal
Алгоритмічна конструкція альтернативного розгалуження, або конструкція вибору з двох альтернатив, дозволяє виконавцеві алгоритму вибрати один із двох варіантів дій залежно від істинності деякої умови. У мові Pascal альтернативні розгалуження реалізуються умовним оператором (оператором розгалуження). Синтаксис умовного оператора є таким:
if <умова> then <оператор1> [else <оператор2>];
Тут if, then, else — зарезервовані слова, що перекладаються як «якщо», «то», «інакше»; <умова> — довільний логічний вираз; <оператор1> і <оператор2> — довільні оператори.
Виконання умовного оператора починається з обчислення значення булевого виразу <умова>. Якщо цей вираз є істинним, то виконується <оператор1> і керування передається наступному за умовним оператору (<оператор2> пропускається). Якщо вираз <умова> є хибним, то <оператор1> пропускається, а виконується лише <оператор2> і на цьому дія умовного оператора вважається завершеною.
Скорочена форма умовного оператора (без фрази else) реалізує одноальтернативне розгалуження. Якщо вираз <умова> в одноальтернативному розгалуженні є істинним, то <оператор1> виконується, якщо хибним — не виконується і на цьому дія умовного оператора вважається завершеною.
Нарешті, розглянемо детальніше умову, що записується після слова іf і являє собою певний логічний вираз. Нагадаємо, що логічний вираз може бути як окремим порівнянням або окремою булевою змінною, так і поєднанням порівнянь або булевих змінних за допомогою логічних операцій and, or та not. Наприклад, умова 0≤х≤5 мовою Pascal записується так: (х >= 0) and (х <= 5), а умова х < 0 або х > 5 — так: (х <= 0) ог (х >= 5). Умови, записані за допомогою логічних операцій and та оr, називаються складеними, а умови, записані без таких операцій, — простими.
Наведемо найпростіший приклад застосування оператора вибору. Припустимо, потрібно визначити, чи належить значення дійсної змінної х проміжку [0,1], і вивести відповідне повідомлення. Ці дії виконує такий фрагмент програми:
if (x>=0) and (x<=1)then write('x belongs to [0;1]') else write('x does not belongs to [0;1]');
Типи файлів й оголошення файлових змінних мови Pascal
Файли класифікують за типом компонентів і за методом доступу до них. За типом компонентів розрізняють текстові та бінарні (двійкові) файли, а за методом доступу — файли послідовного і прямого доступу. Текстові файли призначені для збереження текстів (наприклад, текстів Pascal-програм), а бінарні файли використовуються для збереження даних різних типів. Відмінності між послідовним і прямим доступом до компонентів файлів буде роз'яснено у розділах 9.2.4 і 9.2.5.
Текстовий файл є сукупністю символьних рядків змінної довжини. Кожен рядок завершується маркером кінця рядка — спеціальною парою керуючих символів: #13 (повернення каретки) та #10 (переведення рядка). Наприкінці файла записується маркер кінця файла — керуючий символ #26. Приклад текстового файла, що складається з двох рядків, наведено на рис. 9.1.
Рис. 9.1. Текстовий файл, що є сукупністю рядків
Бінарні файли в мові Pascal поділяються на типізовані та нетитзовані. Типізований файл складається з компонентів одного типу. Кожний компонент має порядковий номер, номер першого компонента дорівнює нулю. Інформація в типізованих файлах зображується в тому самому вигляді, що і в пам'яті комп'ютера, і тому відпадає потреба у використанні керуючих символів типу кінця рядка або повернення каретки. Приклад зображення даних у файлі, що містить компоненти рядкового типу, наведено на рис. 9.2.
Рис. 9.2. Текстовий файл, що містить компоненти рядкового типу
Нетипізований файл у мові Pascal розглядається як сукупність байтів. Компонентом нетипізованого файла вважається запис, довжина якого за замовчуванням становить 128 байт.
Класифікуймо файли за методом доступу. Файли послідовного доступу забезпечують доступ до поточного компонента тільки після вибору попереднього, а файли прямого доступу забезпечують вибір компонента за його номером. Текстові файли можуть бути лише файлами з послідовним доступом. До компонентів бінарних файлів можливий прямий доступ.
Синтаксис оголошення файлової змінної залежить від типу файла. Далі наведено синтаксис оголошення змінної текстового, типізованого та нетипізованого файла.
var <ім'я файлової змінної>: text; var <ім'я файлової змінної>: file of <тип компонентів>; var <ім'я файлової змінної>: file;
