Проверить справедливость утверждения: отрицательных элементов в некотором файле больше, чем положительных - Prolog
Формулировка задачи:
условие задачи: Составить правило, которое проверяет, выполняется ли свойство:
что отрицательных элементов некоторого файла больше, чем положительных. Числа в блокноте пишем любые
Помогите пожалуйста ее исправить, последняя задача осталась для зачета.
Решение задачи: «Проверить справедливость утверждения: отрицательных элементов в некотором файле больше, чем положительных»
textual
Листинг программы
domains
file = input
predicates
start(string)
check(integer,integer)
clauses
check(N,P) :- not(eof(input)),readint(C), C>0, P1=P+1, check(N,P1).
check(N,P) :- not(eof(input)),readint(C), C<0, N1=N+1, check(N1,P).
check(N,P) :- not(eof(input)),readint(C), C=0, check(N,P).
check(N,P) :- eof(input),N>P,write("Number of negative is greater then number of positive"),nl.
check(N,P) :- eof(input),N<P,write("Number of positive is greater then number of negative"),nl.
check(N,P) :- eof(input),N=P,write("Number of negative is equal to number of positive"),nl.
start(Fname) :- openread(input,Fname),readdevice(input),check(0,0).