- •Методичні вказівки й завдання до лабораторних робіт
- •Загальні рекомендації
- •Практикум з програмування. Turbo pascal
- •Робота з інтегрованим середовищем розробника
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №1 структура програми. Лінійна програма. Організація введення/виведення. Стандартні функції. Базові типи даних Теоретичні відомості
- •Var перелік імен змінних та їх типів;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №2 програми розгалуженої структури Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №3 цикли з параметром Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №4 цикли з невідомим числом повторень Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №5 розв’язування задач з використанням масивів Теоретичні відомості
- •Var Ім'я : array[поч_індекс . . Кін_індекс] of Тип_даних;
- •Var Ім'я:array[поч_індекс1..Кін_індекс1,
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота №6 символьний тип даних, рядки, масиви рядків Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота № 7 організація програм, що використовують допоміжні програми Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота № 8 використання множин Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота № 9 записи Теоретичні відомості
- •Var Ім’я_запису : Ім’я_типу;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Лабораторна робота № 10 обробка файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
Запитання для контролю та самоконтролю
Чим записи відрізняються від інших структурованих типів даних мови програмування Turbo Pascal?
Яким чином у програмі декларувати запис?
Як організувати обробку компонент записів?
В яких випадках та як можна оптимізувати обробку полів?
Що таке запис із варіантними полями?
Лабораторна робота № 10 обробка файлів Теоретичні відомості
Файл - це послідовність компонент, що є об'єктами одного типу. Як правило, кількість компонент у файлі заздалегідь не відома, компоненти файлу не мають індексів. Використовують файли послідовного доступу (деяка компонента обробляється тільки після обробки всіх попередніх компонент) та прямого доступу (без попередньої підготовки можна обробити будь-яку компоненту). У мові Turbo Pascal використовуються три файлових типи: текстові файли, типизовані файли, безтипові файли. Змінні цих типів називають файловими змінними. Їх використовують для організації процесів обміну даними між програмою та зовнішнім файлом.
Обробка файлів ведеться кількома етапами:
організація файлової змінної,
підключення файлової змінної до конкретного файлу,
відкриття доступу (підготовка до безпосередньої обробки),
читання або запис,
закриття доступу.
Коли файл підготували до роботи, вона не ведеться з файлом в цілому, а тільки з однією його компонентою, що зветься поточною. Спеціальний вказівник читання/запису (аналог курсору в текстовому режимі роботи екрану) на низькому рівні вказує на місце компоненти, яка в наступний момент часу може бути оброблена. Цю компоненту називають поточною. Після обробки цієї компоненти організується автоматичне переведення цього вказівника в наступне положення. Будь-який файл, якщо він вже існує, має в своєму складі хоча б одну компоненту - кінець файлу (EOF - End Of File).
Процедури та функції, що використовуються при обробці файлів будь-яких типів найчастіше такі (бібліотечний модуль system):
процедура Assign(f,Name_of_file) зв'язує змінну f із деяким конкретним файлом (ім'я якого записується у виді рядкової константи або зберігається в змінній Name_of_file);
процедура Reset(f) веде підготовку файлу для читання (відкриває);
процедура Rewrite(f) створює новий файл і відкриває його для запису (якщо f зв'язана з вже існуючим файлом, тоді вся інформація з нього буде знищена);
функція EOF(f) перевіряє досягнення вказівником кінця файлу;
процедура Close(f) закриває файл.
Інформацію, якщо файл підготований, можна читати з файлу та писати туди. Для цього використовуються стандартні процедури введення/виведення Read та Write. Тільки у разі, коли обробляється текстовий файл, можливе застосування процедур Readln та Writeln. Запис Read(f,a) означає скопіювати значення поточної компоненти файлу f у змінну a. Запис Write(f,b) означає скопіювати значення змінної b у поточну компоненту файла f.
Для позиціювання вказівника при обробці файлів прямого доступу використовується процедура Seek. Запис Seek(f,n) означає перевести вказівник на n-ту компоненту файлу f (n - належить типу Longint, тобто початкові компоненти мають номери 0, 1 і так далі).
Типизований файл - це файл з оголошеним типом його компонент (фіксована довжина компонент). Оголошення такого файлу має структуру: var f : file of Тип_елементів_файлу;
Текстові файли організуються по рядках (рядки скомпоновані з ASCII-символів, довжина рядка не фіксована) і об'являються в такий спосіб: var f : text;
Визначено декілька процедур і функцій, що працюють тільки з текстовими файлами: процедура Append(f), відкриває текстовий файл f для дозапису в кінець файлу; функція EOLn(f), перевіряє досягнення кінця поточного рядка файлу f.
Зауваження: Звісно кажучи, якщо у програмі є хоча б одне введення або виведення, це вказує на роботу з файлами. Введення даних з клавіатури організоване в мові Turbo Pascal через зв’язаний з буфером введення стандартний текстовий файл Input, а виведення на екран організоване через зв’язаний з буфером виведення стандартний текстовий файл Output. Це пояснює наявність у програмах на мові Pascal, наприклад, такого запису program main (Input, Output); у програмі на мові Turbo Pascal можна цей рядок взагалі не писати.
У бібліотечному модулі dos зберігаються процедури та функції, за допомогою яких організується можливість обробки файлів засобами операційної системи MS DOS.