TURBO PROLOG. Терёхин В.В. - 67 стр.

UptoLike

Составители: 

67
показывает, как можно при помощи предикатов реализовать эти операции.
____________________________________________________________
Листинг 3.11
/* Программа: Числа */
/* Назначение: Демонстрация реализации арифметики. */
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.
/***** конец программы *****/
показывает, как можно при помощи предикатов реализовать эти операции.
____________________________________________________________
                        Листинг 3.11
/* Программа: Числа             */
/* Назначение: Демонстрация реализации арифметики. */
      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.
/*****          конец программы           *****/


                                                                        67