![]()
|
|||
predicates. add(integer,integer).. substruct(integer,integer).. multiply(integer,integer).. divide(integer,integer).. fadd(real,real).. fsubstruct(real,real).. fmultiply(real,real).. fdivide(real,real).. substruct(44, 23),. multiply(44, 23),. divide(44, 2Стр 1 из 2Следующая ⇒
Арифметика в Турбо-Прологе
Турбо-Пролог располагает двумя числовыми типами доменов: целыми и действительными числами. Четыре основные арифметические операции - это сложение, вычитание, умножение и деление. Для их реализации в Турбо-Прологе используются предикаты. Программа "Числа" (листинг) показывает, как можно при помощи предикатов реализовать эти операции
/* Программа: Числа */ /* Назначение: Демонстрация реализации арифметики. */ predicates add(integer,integer). substruct(integer,integer). multiply(integer,integer). divide(integer,integer). fadd(real,real). fsubstruct(real,real). fmultiply(real,real). fdivide(real,real). goal write(" Results"), nl, nl, add(44, 23), substruct(44, 23), multiply(44, 23), divide(44, 23), fadd(12.65, 7.3), fsubstruct(12.65, 7.3), fmultiply(12.65, 7.3), fdivide(12.65,7.3), nl, write(" All done, bye!"). clauses add(X,Y):- Z = X + Y, write("Sum = ",Z), nl. substruct(X,Y):- Z = X - Y, write("Diff = ", Z), nl. multiply(X,Y):- Z = X * Y, write("Pro = ", Z), nl. divide(X,Y):- Z = X / Y, write("Quo = ", Z), nl. fadd(P,Q):- R = P + Q, write("Fsum = ",R), nl. fsubstruct(P,Q):- R = P - Q, write("Fdiff = ",R), nl. fmultiply(P,Q):- R = P * Q, write("Fpro = ",R), nl. fdivide(P,Q):- R = P / Q, write("Fquo = ",R), nl. /***** конец программы *****/ Правилами для реализации сложения, вычитания, умножения и деления целых чисел являются add(X,Y):- Z = X + Y, write("Sum = ", Z), nl. substruct(X,Y):- Z = X - Y, write("Diff = ", Z), nl. multiply(X,Y):- Z = X * Y, write("Pro = ", Z), nl. divide(X,Y):- Z = X / Y, write("Quo = ", Z), nl. а четырьмя правилами для реализации сложения, вычитания, умножения и деления действительных чисел - fadd(P,Q):- R = P + Q, write("Fsum = ",R), nl. fsubstruct(P,Q):-
|
|||
|