Хелпикс

Главная

Контакты

Случайная статья





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



 

Арифметика в Турбо-Прологе

 

Турбо-Пролог располагает двумя числовыми типами доменов: целыми и действительными числами. Четыре основные арифметические операции - это сложение, вычитание, умножение и деление. Для их реализации в Турбо-Прологе используются предикаты. Программа "Числа" (листинг) показывает, как можно при помощи предикатов реализовать эти операции

 

/* Программа: Числа */

/* Назначение: Демонстрация реализации арифметики. */

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):-



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.