- •Лабораторна робота 6
- •1. План виконання лабораторної роботи
- •2. Основні теоретичні відомості
- •2.1. Загальні поняття про файлове введення та виведення інформації
- •2.2. Стандартні предикати для здійснення файлового введення та виведення інформації
- •2.1.3. Приклад 1 файлового уведення та виведення інформації
- •2.1.2. Приклад 2 файлового уведення та виведення інформації
- •2.1.3. Приклад 3 файлового уведення та виведення інформації
- •3. Методичні рекомендації до опрацьовування контрольних питань і виконання контрольних завдань лабораторної роботи
- •4. Контрольні питання
- •5. Завдання для самоперевірки
- •6. Контрольні завдання
- •6.1. Контрольне завдання 1
- •6.2. Контрольне завдання 2
- •7. Література
- •Вимоги до оформлення та захисту лабораторної роботи
- •Зразок оформлення титульного аркуша звіту про виконання лабораторної роботи
2.1.3. Приклад 1 файлового уведення та виведення інформації
У наведеному далі скороченому лістингу (Sheet 6_1) і розгорнутому лістингу (Sheet 6_2) представлено приклад Пролог-програми, що здійснює наступні типові дії:
– читання рядка з файлу та виведення його на екран;
– читання рядка з клавіатури та запис його до файлу.
У прикладі задіяно наступні файли:
– використовується завчасно створений файл example.txt;
– створюється новий файл result.txt.
До початку роботи Пролог-програми, потрібно: створити засобами будь-якого текстового редактору файл example.txt, помістивши до нього рядок символів example.
На першому етапі роботи Пролог-програми, виконуються наступні дії:
– з файлу example.txt зчитується рядок example;
– прочитаний рядок example виводиться на екран.
На другому етапі роботи Пролог-програми, виконуються наступні дії:
– створюється новий файл result.txt;
– користувач вводить з клавіатури рядок result, який сприймається (зчитується та запам'ятовується) Пролог-програмою;
– текст result, уведений із клавіатури, записується до файлу result.txt.
У підсумку роботи програми, буде отримано наступні результати:
– зчитано з файлу example.txt рядок example та виведено його на екран;
– створено файл result.txt, зчитано з клавіатури рядок result і записано його до файлу.
% Sheet 6_1. Primer 1 of the files input and output (short version).
DOMAINS
file = input; output
GOAL
openread (input, "example.txt"),
readdevice (input),
readln (Str1), write (Str1), nl,
openwrite (output, "result.txt"),
writedevice (output),
readdevice (keyboard),
readln (Str2), write (Str2), nl,
closefile (input),
closefile (output).
% Sheet 6_2.
% Primer 1 of the files input and output (full version with comments).
DOMAINS
file = input; output
GOAL
% відкриття файлу example.txt для читання
openread (input, "example.txt"),
% призначення файлу example.txt пристроєм уведення
% (пристроєм виведення по умовчанню залишається екран)
readdevice (input),
% зчитування з файлу example.txt рядка example в змінну Str1
readln (Str1),
% виведення значення змінної Str1 (рядка example) на екран
write (Str1), nl,
% відкриття файлу result.txt для запису
openwrite (output, "result.txt"),
% призначення файлу result.txt пристроєм виведення
writedevice (output),
% призначення клавіатури пристроєм уведення
readdevice (keyboard),
% зчитування з клавіатури рядка result у змінну Str2
readln (Str2),
% виведення значення змінної Str2 (рядка result) у файл result.txt
write (Str2), nl,
% закриття файлів example.txt і result.txt
closefile (input), closefile (output).
2.1.2. Приклад 2 файлового уведення та виведення інформації
У наведеному далі лістингу (Sheet 6_3) представлено приклад Пролог-програми, що здійснює наступні дії:
– створює новий файл output.txt і призначає його пристроєм виведення;
– читає символи, що вводяться з клавіатури (без відображення їх на екрані);
– записує вказані символи до файлу output.txt до тих пір, доки не буде введено символ #.
Для перевірки результатів роботи Пролог-програми, потрібно відкрити текстовий файл output.txt, який було створено в процесі роботи даної програми, та порівняти його вміст із рядком символів, уведеним із клавіатури.
% Sheet 6_3. Primer 2 of the files input and output
DOMAINS
file = result
PREDICATES
readloop
CLAUSES
readloop:-
readchar (Char),
Char<>'#', !,
write (Char),
readloop.
readloop.
GOAL
openwrite (result, "output.txt"),
writedevice (result),
readloop,
closefile (result).