Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні ОП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
569 Кб
Скачать
☆

Завдання2 до лабораторної роботи №6

Варіант 1. Об’єкти: товари на продуктових складах.

Додаткове завдання: Є в першій множині, але немає в третій.

Варіант 2. Об’єкти: корисні копалини в різних країнах світу.

Додаткове завдання: Входять в першу і третю множину.

Варіант 3. Об’єкти: студенти, які беруть участь в різних гуртках.

Додаткове завдання: Є тільки в першій множині.

.Варіант 4. Об’єкти: товари на промислових складах.

Додаткове завдання: Входять в дуру і третю множину, але не входять в першу.

Варіант5. Об’єкти: книги в магазинах художньої літератури.

Додаткове завдання: Входять в першу, другу і третю множину одночасно.

Варіант 6. Об’єкти: рослини занесені до Червоної книги в різних країнах світу.

Додаткове завдання: Входять в другу і третю множину.

Варіант 7. Об’єкти: ювелірні вироби в магазинах.

Додаткове завдання: Входять в другу множину, але немає в четвертій

.Варіант 8. Об’єкти: викладачі, що викладають на різних відділеннях.

Додаткове завдання:Входять тільки в другу множину.

Варіант 9. Об’єкти: автомобілі в салонах продажу авто.

Додаткове завдання: Входять в першу і третю множину, але не входять в п’яту.

Варіант 10. Об’єкти: лікарські засоби в аптеках міста.

Додаткове завдання: Входять в другу, третю і п’яту множин одночасно.

Варіант 11. Об’єкти: канцелярські товари в магазинах.

Додаткове завдання: Входять в першу і п’яту множину.

Варіант 12. Об’єкти:будівельні матеріали на складах.

Додаткове завдання: Входять в третю множину, але немає в п’ятій.

Варіант 13. Об’єкти: подарункові товари в магазинах.

Додаткове завдання:Входять тільки в третю множину.

Варіант 14. Об’єкти:меблеві вироби на складах.

Додаткове завдання: Входять в першу і четверту множини, але не входять в третю.

Варіант 15. Об’єкти: туристичні тури в різних агентствах.

Додаткове завдання: Входять в першу, третю та четверту множину одночасно.

Лабораторна робота №7. Текстові та бінарні файли мови Borland Pascal

Мета: Набуття навичок при роботі з текстовими файлами в мові PASCAL, їх представленні в програмі та порядку роботи з ними. Навчитись використовувати стандартні процедури та функції обробки файлів.

Обладнання: ПК, програмне забезпечення Turbo Pascal, методичні вказівки та завдання до лабораторної роботи.

Теоретичні відомості

Робота з файлом у мові Pascal складається з таких етапів: оголошення файлової змінної; зв'язування файлової змінної з іменем наявного файла або файла, що створюється; відкриття файла; обробка файла; закриття файла.

Синтаксис оголошення файлової змінної залежить від типу файла. Синтаксис оголошення змінної текстового файлу.

var <ім'я файлової змінної>: text;

Файл будь-якого типу може бути оброблений у програмі лише після того, як певна файлова змінна буде зв'язана з певним фізичним файлом. Це зв'язування виконується за допомогою процедури Assign, що має такий синтаксис:

Аssіgn(<файлова змінна>;<рядковий вираз>);

Фізичний файл, із яким була зв'язана файлова змінна, може перебувати в одному з таких станів.

  • Файл відкритий для читання: читання даних із файла дозволено, а запис до файла — заборонено.

  • Файл відкритий для запису: дозволений лише запис даних до файла.

  • Файл відкритий для читання і запису: дозволено як читання, так і запис до файла. У цьому стані не можуть перебувати текстові файли.

  • Файл закритий: із файлом не можна виконувати жодних дій.

Відкриття файла для читання або для читання і запису виконується процедурою Reset.

Reset(<файлова змінна>);

Текстові файли процедура Reset відкриває лише для читання.

Із кожним відкритим файлом зв'язаний файловий покажчик, що вказує на той компонент файла, над яким буде виконано наступну операцію зчитування або запису. У разі виконання такої операції файловий покажчик зсувається на наступний компонент. Під час відкриття файла файловий покажчик встановлюється на початок файла, тобто на компонент із порядковим номером 0.

В результаті спроби відкрити файл, якого немає на диску, виникне помилка Error #2: File not found (Файл не знайдено). Щоб запобігти перериванню програми внаслідок спроби відкрити неіснуючий файл, використовують директиву компілятора {$I-}. Вона вимикає автоматичний контроль помилок введення та виведення. Директиву {$I+} використовують для ввімкнення такого контролю. Якщо контроль помилок введення-виведення вимкнено, то для перевірки наявності файла на диску можна використовувати функцію IOResult. Коли файл існує на диску, функція IOResult повертає значення 0. Приклад показує, як використовуються директиви компілятора {$I-}, {$I+} і функція IOResult під час відкриття файлу.

Приклад

Program ex9_3;

var f: file of byte;

begin

  assign(f,'file.dat');

  {$I-}

  reset(f);

  {$I+}

  if IOresult = 0 then

    writeln('File is open')

  else

    writeln('File not found');

  readln;

end.

Відкриття файла для запису або читання і запису здійснюється процедурою Rewrite.

Rewrite(<файлова змінна>);

Текстові файли процедура Rewrite відкриває лише для запису.

Якщо аргумент процедури Rewrite зв'язаний з іменем неіснуючого файла, то файл з таким іменем буде створений. Якщо цю процедуру використати для відкриття вже наявного файла, то вміст файла буде видалено та створено новий порожній файл. Процедура Rewrite встановлює файловий покажчик на початок файла.

Для дописування рядків до вже наявного текстового файла його потрібно відкрити за допомогою процедури Append:

Арреnd(<файлова змінна>);

Після виклику цієї процедури файл стає доступним тільки для запису, а файловий покажчик встановлюється в кінець файла. Отже, всі рядки зберігаються, а нові символи дописуватимуться після наявного тексту.

Файли закриваються процедурою Close:

Close(<файлова змінна>);

Процедура Сlose забезпечує збереження всіх компонентів логічного файла у фізичному файлі. Якщо в логічний файл були записані певні дані, але його не було закрито, запис у відповідний фізичний файл міг здійснитися не повністю. Після закриття файла зв'язок файлової змінної із фізичним файлом не порушується, і файл повторно може відкриватися без додаткового виклику процедури Assign.