- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Розділ оголошень і угод
- •Розділ текстів процедур і функцій
- •Розділ основного блоку програми
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •1. Оператор if.
- •2. Оператор вибору (case)
- •Оператори циклів у Паскалі
- •1. Цикл із післяумовою (Repeat)
- •2. Цикл із предумовою (While)
- •3. Цикл із лічильником або параметром (For)
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •If підходить тнеn
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •1. Оголошення файлової змінної і прив'язка до файлу на диску
- •2. Читання даних з файлу
- •3. Запис даних у файл
- •Двійкові файли
- •1. Типізовані файли
- •2. Нетипізовані файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •1. Масив
- •2. Список
- •3. Дерево
- •2. Алгоритми
- •1. Лінійний пошук у масиві
- •2. Двійковий пошук
- •3. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Переміщення по файлу
Дана група операцій додає кілька корисних можливостей, дозволяючи довільно змінювати послідовний порядок операцій читання і запису. Ця група містить дві операцій (процедури)
Seek
Truncate
і три додаткові функції
FileSize
FilePos
Eof
Перераховані примітиви безпосередньо працюють з поточним покажчиком файлу. Процедура Seek дозволяє явно змінити значення поточного покажчика, установивши його на елемент файлу з заданим номером. Процедура має два параметри: змінну файлового типу і ціле (типу longint). Другий параметр розуміється як порядковий номер елемента файлу, на який необхідно установити покажчик.
Після виконання процедури Seek подальші операції читання чи запису будуть проводитися, починаючи з установленої позиції покажчика.
Функції FileSize і FilePos дозволяють одержати додаткову інформацію про файл, що вказується в якості їхнього єдиного параметра. Функція FileSize повертає загальне число елементів файлу, а функція FilePos - номер елемента, на який установлений поточний покажчик.
Використовуючи ці функції, можна організувати досить складні алгоритми роботи з файлами. Приведемо кілька простих прикладів:
Seek(F,FiiePos(F)+l){ пропуск одного елемента }
Seek(F,0){ установка покажчика на початок файлу }
Seek (F, FileSize (F)) { установка поточного покажчика безпосередньо за останнім елементом файлу; це може служити вихідною позицією для додавання елементів у "хвіст" файлу }
Функція eof викликається з одним параметром — файлової змінної — повертає логічне значення true чи false у залежності від того, чи досягнутий кінець файлу. Якщо файл використовувався для читання, то виникнення ситуації "кінець файлу" (і, відповідно, значення true, що повертається функцією eof) означає, що всі елементи файлу прочитані. При записі у файл істинність функції eof буде означати, що чергова операція запису помістить інформацію в кінець даного файлу.
Нарешті, процедура Truncate використовується для відсікання від файлу його хвостової частини, що починається від поточної позиції покажчика включно. Єдиний параметр процедури Truncate - файлова змінна, відповідна файлу, що усікається.
Спеціальні операції
Дана група операцій призначена для дій з елементами файлової системи MS-DOS - каталогами й іменами файлів, дозволяючи створювати і видаляти каталоги, видаляти і перейменовувати файли, працювати з атрибутами файлів і т.д. Докладне пояснення цих операцій можна знайти у фірмових посібниках з мови, а тут обмежимося вказівкою імен деяких процедур:
Erase - видалення файлу на диску.
Rename -перейменування файлу.
ChDir - установити поточний каталог.
MkDir - створити новий (під)каталог.
RmDir - видалити порожній (під)каталог.
Текстові файли
Нижче будуть обговорюватися способи взаємодії програми на Паскалі з текстовими файлами, записаними на якому-небудь диску. Прикладами текстових файлів можуть служити тексти програм на Паскалі, прості текстові документи і т.п.
Текст у файлі зберігається у виді послідовності символів (char), для розбивки тексту на рядки використовуються невидимі при перегляду символи кінця рядка.