Создайте предикат, вычисляющий сумму чисел, хранящихся в файле - Prolog (226440)
Формулировка задачи:
3)Создайте предикат, вычисляющий сумму чисел, хранящихся в файле.
Решение задачи: «Создайте предикат, вычисляющий сумму чисел, хранящихся в файле»
textual
Листинг программы
DOMAINS
file=f
predicates
write_file(file,integer,string)
writefile(string,integer,string)
summ(string,integer,integer)
form
goal
form.
clauses
summ(C,D,D1):-str_int(C,I),!,D1=D+I.
summ(_,D,D1):-D1=D+0.
write_file(f,D,R):-
not(eof(f)),!,
readln(C),
summ(C,D,D1),
write_file(f,D1,R).
write_file(_,D,R):-str_int(R,D).
writeFile(F_N,D,R):-
existfile(F_N),!,
openread(f,F_N),
readdevice(f),
write_file(f,D,R),
closefile(f).
writeFile(_,_,R):-
R="Fail ne naiden!".
form:-
makewindow(1,121,7, "ЛР 5",1,16,10,55),
nl,write("Vvedite nazvanie faila: "),
readln(F_N),
D=0,
writeFile(F_N,D,R),
nl,write("Resultat: ",R),
keypressed,
exit.