Главная

ПРОЕКТ "ЧЕЛОВЕК. ЗЕМЛЯ. ВСЕЛЕННАЯ"

Инструменты пользователя

Инструменты сайта


project:prolog:listing:chisla



Программа "Числа"

Программа «Числа» демонстрирует 4-е арифметических действий.

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)
sum(real,real,real,real)
 
clauses
/* Определяем правила - проводим вычисления */
/* Операции с целыми числами */
add(X,Y) :- Z = X + Y, write("Сумма целых числе (add): ", X, " + ", Y, " = ", Z), nl.
substruct(X,Y) :- Z = X - Y, write("Разница  целых чисел (substruct): ", X, " - ", Y, " = ", Z), nl.
multiply(X,Y) :- Z = X * Y, write("Умножение  целых чисел (multiply): ", X, " * ", Y, " = ", Z), nl.
divide(X,Y) :- Z = X / Y, write("Деление  целых чисел (divide): ", X, " / ", Y, " = ", Z), nl.
sum(X,Y,A,B) :- Z = X + Y + A + B, write("Сумма нескольких челых чисел (sum): ", X, " + ", Y, " + ", A, " + ", B, " = ", Z), nl.
 
/* Операции с действительными числами (с десятичными знаками) */
/* В EZY Prolog VDE 2.0 эти операции почему-то не работают */
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.
 
goal
/* Подставляем конкретные значения.
Внутренняя цель составлена из последовательности утверждений, использующих правила. 
В ее формулировке присутствуют числовые значения, которые передаются в тела правил. */
write("Результат арифметических операций: "), nl, nl,
add(44,23), 
substruct(44,23),
multiply(44,23),
divide(44,23),
sum(3,4,2,9),
fadd(12.65,7.30),
fsubstruct(12.65,7.30),
fmultiply(12.65,7.30),
fdivide(12.65,7.30), nl,
write("Все операции выполнены!").

!!Рекомендуем: Семейная Энциклопедия ЗдоровьяОбучениеКонсультация аналитикаОглавлениеГлавная сайта

Обсуждение

Ваш комментарий:
I F R C G
 
project/prolog/listing/chisla.txt · Последние изменения: 2012/02/23 11:55 (внешнее изменение)

Вы можете оставить свои комментарии в разделе "Обсуждение".
Рекомендуем оформить подписку на новости данного раздела. Для этого нажмите на кнопку "Подписаться", расположенную справа снизу каждой страницы (знак конверта).


www.work-zilla.com

Индекс цитирования