Обработка строк файла, перестановка слов - Prolog
Формулировка задачи:
Добрый день! Помогите решить задачи на ПРОЛОГ:
2)В каждой строке текстового файла переставьте слова в обратном порядке.
Решение задачи: «Обработка строк файла, перестановка слов»
textual
Листинг программы
DOMAINS file=in;out PREDICATES reWrite(string) w CLAUSES w. w:-w. reWrite(S):- fronttoken(S,T,R), !, reWrite(R), write(T," "). reWrite(_). GOAL openread(in,"test.txt"), readdevice(in), openwrite(out,"temp.txt"), writedevice(out), w, readln(A), reWrite(A), nl, eof(in), closefile(in), closefile(out), renamefile("temp.txt","test_result.txt").
Объяснение кода листинга программы
- Объявлены два домена: file=in;out
- Объявлен один предикат: rewrite(string)
- В основной части программы открывается файл для чтения
test.txt
- Файл для записи
temp.txt
- Программа записывает в файл
temp.txt
все, что читает из файлаtest.txt
- Затем программа переписывает содержимое файла
temp.txt
в файлtest_result.txt
- В Prolog коде пропущены некоторые детали, которые необходимы для работы с файлами, такие как:
- Объявление библиотеки для работы с файлами
- Объявление библиотеки для работы с символами
- Объявление библиотеки для работы с подстроками
- Объявление библиотеки для работы с префиксами и суффиксами строк
- Объявление библиотеки для работы с регулярными выражениями
- Объявление библиотеки для работы с процессами (для открытия и закрытия файлов)
- Объявление библиотеки для работы с именованием файлов (для переименования файла)
- В коде пропущены некоторые детали, которые необходимы для обработки ошибок, такие как:
- Проверка наличия файла перед его открытием
- Проверка наличия достаточного места на диске перед записью в файл
- Обработка исключений при чтении и записи файлов
- Обработка исключений при переименовании файла