- Философия, эзотерика:
- Религии:
- Познавательное
(обо всём)
Программа «Числа» демонстрирует 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("Все операции выполнены!").
!!Рекомендуем: Семейная Энциклопедия Здоровья ⇒ Что должен знать современный человек? ⇒ Самоанализ. Работа над собой ⇒ Оглавление ⇒ Главная сайта
Обсуждение