- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •Оператори циклів у Паскалі
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •Двійкові файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •2. Алгоритми
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Установчі і завершальні операції
У цю групу входять чотири операції, реалізовані у виді стандартних процедур з наступними іменами:
-
Assign
-
Reset
-
Rewrite
-
Flush
-
Close
Розглянемо ці операції.
а) Процедура Assign призначена для встановлення зв'язку між конкретним фізичним файлом на магнітному носії і змінної файлового типу, що буде представником цього файлу в програмі.
Ця процедура має два параметри. Перший параметр — ім'я файлової змінної, другий параметр - рядок, що утворить літеральне ім'я файлу. Ім'я файлу будується за правилами, прийнятим в операційній системі MS-DOS для іменування файлів, і може містити в собі позначення дисковода, ланцюжок каталогів, що приводить до потрібного файлу, власне ім'я файлу.
Приклад:
Assign(F,'d:\mydir\myfile.dta') ;
Після виконання даного виклику файлова змінна F буде зв'язана з дисковим файлом myfile.dta, розташованим у каталозі mydir з кореневого каталогу диска d.
Другий параметр процедури Assign може бути також рядком, що містить умовну позначку "псевдофайлів" MS-DOS, тобто файлів, зв'язаних із конкретним фізичним пристроєм. Допускаються наступні імена, які в основному співпадають з прийнятими в MS-DOS позначеннями:
• con - консоль, тобто для випадку виведення інформація міститься на екрані дисплея, а у випадку введення інформація зчитується з клавіатури;
• lpti, LPT2, LPT3 - друкувальні пристрої (допускається одночасно до трьох пристроїв). Ці пристрої призначені тільки для виведення інформації;
• prn - синонім LPTI;
• СОМ1, COM2 - послідовні комунікаційні порти. Зміст цих псевдофайлів визначається конкретними пристроями, підключеними до цих портів;
• AUX - синонім СОМ1;
• nul - фіктивний (неіснуючий) пристрій. Може використовуватися для виведення інформації "у нікуди", коли в програмі або потрібно вказати ім'я вихідного файлу, або інформація, записувана в нього, не потрібна.
б) Процедури Reset і Rewrite мають один параметр - файлову змінну і призначені для відкриття файлів. (При цьому файлова змінна, що вказується як параметр, повинна бути вже зв'язана з конкретним дисковим файлом за допомогою процедури Assign). Під відкриттям у даному випадку розуміється пошук файлу на зовнішньому носії, утворення спеціальних системних буферів для обмінів з ним і установка поточного покажчика файлу на його початок (тобто на нульовий елемент).
Різниця між цими двома процедурами полягає в початкових діях з файлом. Процедура Reset припускає, що дисковий файл, що відкривається, вже існує, у противному випадку виникає помилка. Процедура Rewrite допускає, що файл, що відкривається, може ще не існувати; у цьому випадку вона створює заданий файл. Якщо ж файл існує, то Rewrite ОЧИЩАЄ його. Повторимо, що в обох випадках поточний покажчик файлу встановлюється на його нульовий елемент.
в) Процедура Flush (параметр - файлова змінна) використовується для завершення обмінів з файлом без його закриття. Обміни з файлами завжди реалізуються через деякий буфер в оперативній пам'яті, тому в процесі запису на файл останні записувані елементи можуть ще знаходитися ("застрягти") у буфері. Процедура Flush викликає примусове скидання цих елементів у файл. Ця процедура має сенс у тому випадку, якщо з файлом проводилися операції запису, і використовується рідко, тому що процедура Close робить такі ж дії.
г) Процедура close завершує дії з файлом, що вказується в якості її єдиного параметра. При цьому ліквідуються внутрішні буфери, утворені при відкритті цього файлу. Після цього файлову змінну можна зв'язати за допомогою процедури Assign c яким-небудь іншим дисковим файлом. Помітимо, що при закінченні роботи всієї програми відбувається автоматичне закриття усіх файлів, відкритих у програмі. Однак гарним правилом є явне закриття файлів процедурою Close після закінчення роботи з ними.