Переписать числа из файла в другой, дописав за каждым его квадрат - Prolog
Формулировка задачи:
Переписать числа из файла в другой, дописав за каждым его квадрат.
Решение задачи: «Переписать числа из файла в другой, дописав за каждым его квадрат»
textual
Листинг программы
domains
file = input;output
predicates
start
task
clauses
task :- not(eof(input)),readint(N), N2=N*N, write(N),nl, write(N2),nl, task.
task :- closefile(input), closefile(output), write("OK"),nl.
start :- openread(input,".\\my\\A1.TXT"),readdevice(input),
openwrite(output,".\\my\\A2.TXT"),writedevice(output),task.
Объяснение кода листинга программы
- Вначале у нас есть список директив:
- Первая директива: открыть файл для чтения
- Вторая директива: открыть файл для записи
- Третья директива: запустить выполнение программы
- Внутри цикла (task):
- Прочитать число из файла (input) и присвоить его N
- Вычислить квадрат числа N и присвоить его N2
- Записать число N в файл (output)
- Записать символ новой строки (nl) в файл (output)
- Записать квадрат числа N в файл (output)
- Записать символ новой строки (nl) в файл (output)
- Продолжить выполнение цикла (task)
- Закрыть файл (input)
- Закрыть файл (output)
- Записать
OKв файл (output) - Записать символ новой строки (nl) в файл (output)
- Завершить выполнение программы
- Вывести на экран сообщение об ошибке и завершить выполнение программы, если возникла ошибка при чтении или записи файла
- Вывести на экран сообщение об успешном завершении программы