- •2.1. Теоретичні відомості 20
- •Передмова
- •Лабораторна робота № 1
- •1.1. Теоретичні відомості
- •1.1.1. Система вiкон середовища
- •1.1.1.1. Вікна редагування
- •1.1.1.2. Вікна діалогу
- •1.1.1.3. Інформаційні вікна
- •1.1.1.4. Вікна меню
- •1.1.1.5. Робота з меню
- •1.1.1.5.1. Меню роботи з файлами (File)
- •1.1.1.5.2. Меню редагування (Edit)
- •1.1.1.5.3. Меню пошуку інформації (Search)
- •1.1.1.5.4. Меню виконання програми (Run)
- •1.1.1.5.5. Меню компіляції (Compile)
- •1.1.1.5.6. Меню відлагодження (Debug)
- •1.1.1.5.7. Меню вiкон (Window).
- •1.1.1.5.8. Меню інформаційної допомоги (Help)
- •1.1.1.5.9. Локальне меню.
- •1.1.2. Основні прийоми роботи в середовищі
- •1.2. Завдання
- •1.3. Контрольні запитання з теми
- •Лабораторна робота № 2
- •2.1. Теоретичні відомості
- •2.1.1. Загальна структура Pascal-програми
- •2.1.1.1. Заголовок програми
- •2.1.1.2. Описова частина Pascal-програми
- •2.1.1.2.1. Розділ позначок (міток)
- •2.1.1.2.2. Розділ констант
- •2.1.1.2.3. Розділ типів
- •2.1.1.2.3.1. Цілочисельний тип
- •2.1.1.2.3.2. Дійсний тип
- •2.1.1.2.4. Розділ опису змінних
- •2.1.2. Арифметичнi вирази та операцiї
- •2.1.2.1. Арифметичні функції
- •2.1.2.2. Скалярні функції
- •2.1.2.3. Арифметичні операції мови Pascal
- •2.1.2.4. Правила запису арифметичного виразу
- •2.1.3. Простi оператори
- •2.1.3.1. Оператор присвоєння
- •2.1.3.2. Пустий оператор
- •2.1.4. Введення та виведення в Pascal
- •2.1.4.1. Процедури введення
- •2.1.4.2. Процедури виведення
- •2.4.3. Формати оператора виведення
- •2.2. Завдання
- •2.3. Контрольні запитання з теми
- •3.1.3. Перелічувальний тип
- •3.1.4. Вирази та операцiї вiдношення
- •3.1.5. Логiчнi вирази та операції
- •3.1.6. Структуровані оператори
- •3.1.6.1. Складений оператор
- •3.1.6.2. Умовні оператори
- •3.2. Завдання
- •3.3. Контрольні запитання з теми
- •Лабораторна робота № 4
- •4.1. Теоретичні відомості
- •4.1.1. Iнтервальний тип
- •4.1.2. Масив (регулярний тип)
- •4.1.3. Оператори повтору
- •4.1.4. Використання стандартний процедур Break і Continue в операторах циклів repeat, while та for
- •4.2. Завдання
- •4.3. Контрольні запитання з теми
- •Лабораторна робота № 5
- •5.1. Теоретичні відомості
- •5.1.1. Стрінговий тип (тип літерний рядок)
- •5.1.2. Стрінгові вирази
- •5.2. Завдання
- •5.3. Контрольні запитання з теми
- •Лабораторна робота № 6
- •6.1. Теоретичні відомості
- •6.1.1. Операції з даними перелічувального типу
- •6.1.2. Завдання
- •6.2.1. Множини
- •6.2.1.1. Операції з множинами
- •6.2.2. Завдання
- •6.2. Контрольні запитання з теми
- •Лабораторна робота № 7
- •7.1. Теоретичні відомості
- •7.1.1. Записи з варiантами
- •7.2. Завдання
- •7.3. Контрольні запитання з теми
- •Лабораторна робота № 8
- •8.1. Теоретичні відомості
- •8.1.1. Ініціалізація графічного режиму
- •8.1.2. Системи координат
- •8.1.3. Вибір кольорів в графічному режимі
- •8.1.4. Завдання стилів ліній та заливки контурів
- •8.1.5. Виведення тексту в графічному режимі
- •8.1. 6. Процедури для рисування фігур
- •8.2. Завдання
- •8.3. Контрольні запитання з теми
- •Лабораторна робота № 9
- •9.1. Теоретичні відомості
- •9.1.1. Процедури користувача
- •9.1.2. Функцii користувача
- •9.1.3. Параметри
- •9.1.4. Рекурсивні підпрограми
- •9.1.5. Область дії ідентифікаторів
- •9.2. Завдання
- •9.3. Контрольні запитання з теми
- •Лабораторна робота № 10
- •10.1. Теоретичні відомості
- •10.1.1. Стандартні процедури для текстових файлів
- •10.1.2. Функції для роботи з текстовими файлами
- •10.1.3. Приклад обробки інформації в текстових файлах
- •10.2. Завдання
- •10.3. Контрольні запитання з теми
- •Лабораторна робота № 11
- •11.1. Теоретичні відомості
- •11.1.1. Стандартні процедури обробки файлів з типом
- •11.1.2. Стандартні функції обробки файлів з типом
- •11.1.3. Приклад обробки інформації в файлах з типом
- •11.2. Завдання
- •11.3. Контрольні запитання з теми
- •Додаток 1 Повідомлення про помилки Повідомлення про помилки періоду компіляції
- •Повідомлення про помилки, що виникають під час виконання програми
- •Помилки, що виявляються dos
- •Помилки введення - виведення
- •Критичні помилки
- •Фатальні помилки
- •Додаток 2 Методичні вказівки до виконання лабораторних робіт та написання звітів
- •Додаток 3 Зразок виконання звіту до лабораторної роботи Лабораторна робота № 7.
- •Література
Лабораторна робота № 11
Тема:
Файли з типом
Мета:
Уміти скласти програму з використанням файлів послідовного та прямого доступу
11.1. Теоретичні відомості
З точки зору PASCAL-системи – це структурований тип даних, який складається з послідовності компонент одного типу і однакових розмірів. Доступ до конкретної компоненти ведеться через поточний вказівник файла. При записі (читанні) цей вказівник автоматично переміщується до наступної компоненти. Оскільки всі компоненти файла мають однакову довжини, то можливий довільний (прямий) доступ до компонента файла. Найчастіше компонентами файла є записи.
В мові PASCAL введення-виведення інформації здійснюється через спеціальні файлові змінні, які мають складну внутрішню структуру, що відповідає типу Record. Файли з типом задаються так:
Type < ім`я типу > = File of < тип компоменти >;
Var < iдентифікатори > : < ім`я типу >;
Приклад:
Type ZAPIS = Record
Len : byte;
Ves : real
end;
KARTA = File of ZAPIS;
Var Fi : KARTA; Zt : ZAPIS;
Файли з типом в Паскалі дають можливість організувати два способи доступу до компонент файла: послідовний і прямий.
При послідовному способі доступу пошук починається з самого початку файла, далі йде перевірка по черзі кожної з його компонент, поки не знайдеться потрібна.
Прямий спосіб доступу дозволяє звертатися до компоненти за її номером. Порядкові номери компонент починаються з нуля.
11.1.1. Стандартні процедури обробки файлів з типом
Введемо такі позначення:
FV - ім'я файлової змінної;
St - String;
Ch - символьна змінна;
P - змінні p1,p2,...,pN того ж самого типу, що і компоненти файлової змінної FV;
n - цілочисельній вираз.
З врахуванням введених позначень розглянемо файлові процедури:
Assing(FV,St) – пов'язує файлову змінну FV з зовнішнім ім'ям файла. Повне ім'я файла на диску має вид: St:= [<ім'я диску:>]<ім'я файлу>[.<тип>]; Починаючи з момента виконання процедури Assign всі дії над файловою змінною FV еквівалентні дії над файлом, заданим значенням літерного рядка St.
Rewrite(FV) – створює новий файл. Ця процедура використовується для створення нового файлу на диску. Ім'я файла було попередньо визначено в процедурі Assign. Якщо на диску вже був файл з таким ім'ям, він знищується. Поточний вказівник файла встановлюється в першу позицію (з номером 0).
Reset(FV) – встановлює поточний вказівник на початок файлу. Якщо цю процедуру використати до неіснуючого файлу, виникає помилка.
Read(FV,P) – читає дані з файлу. Здійснюється зчитування з файлу FV значень p1,p2,..,pN. Після завершення виконання процедури вказівник переміщується до наступної компоненти.
Write(FV,P) – змінні p1,..,pN записуються в дисковий файл, визначений змінною FV. Після виконання процедури вказівник файлу переміщується до наступної компоненти.
Seek(FV,n) – встановлює вказівник на компоненту файла n. Відлік компонент починається з нуля.
Close(FV) – закриває файл, позначений змінною FV.
11.1.2. Стандартні функції обробки файлів з типом
FilePos(FV): LongInt – повертає номер компоненти файла, на який показує поточний вказівник файла, описаного змінною FV.
FileSize(FV) : LongInt – повертає поточний розмір файлу, з яким пов'язана файлова змінна FV.
EoF(FV): Boolean – видає True, якщо наступний символ за прочитаним маркер кінця файла.
