Реферат Курсовая Конспект
Арифметика - раздел Программирование, Логическое программирование Арифметические Утверждения Присваивания Имеют Следующий ...
|
Арифметические утверждения присваивания имеют следующий
общий вид:
результат = операнд1 оператор операнд2
В качестве оператора возможно указать "+" (сложение), "-"
(вычитание), "*" (умножение), "/" (деление), div (целая часть
деления) и mod (остаток деления). Следующая таблица показывает
тип результата в зависимости от типов операндов и от оператора:
Операнд1 | Операторы | Операнда2 | Результат |
целое целое действительное действительное целое действительное целое | +, -, * +,-,* +,-,* +,-,* / div,mod | целое действительное целое действительное целое, действительное целое | целое действительное действительное действительное действительное целое |
К операторам сравнения относятся следующие:
= равно <> неравно
< меньше <= меньше или равно
> больше => больше или равно
Следующая таблица показывает приоритеты операторов, причем с
возрастанием номера приоритет уменьшается:
оператор | () | * / | mod div | + - | сравнения |
проиритет |
Набор арифметических функции включает:
round(X) - округление;
abs(X) - модуль;
sin(X),cos(X),
tan(X),arctan(X) - тригонометрические функции;
eхр(Х) -е в степени X;
ln(X),lg(X) - натуральный и десятичный логарифмы;
sqrt(X) - корень.
Кроме этого имеются еще бинарные функции, которые работают, с
16-разрядными целыми числами (конкретизированность (i,i,о));
результатом будет соответственное целое число:
bitand(X,Y,Z) - логическое И;
bitor(X,Y,Z) - логическое ИЛИ;
bitxor(X,Y,Z) - исключающее ИЛИ;
bitleft(X,Y,Z) - сдвиг влево и
bitrlght(X,Y,Z) - сдвиг вправо, причем освобождающиеся биты
заполняются нулями.
Для генерации псевдослучайных чисел имеется предикат
random(X),
где Х конкретизируется числом в диапазоне [0,1].
Например, решение квадратного уравнения Ах**2 + Вх + С = 0:
predicates
urawnenije(real,real,real)
otwet(real,real,real)
clauses
urawnenije(А,В,С) :-
D=B*B-4*A*C,
otwet(A.B,D),nl.
otwet(_,_,D):-
D<0,
wrlte(" нет действительного решения "),!
otwet(A,B,D):-
D=0
X=-B/(2*A),
write('двa действительных совпадающих корня = ",Х),!,
otwet(A,B.D):-
W=sqrt(D),
X1»(-B+W)/(2*A),X2=(-B-W)/(2*А),
Write('Xl = ",Х1," ; Х2 = ",Х2).
goal
urawnenije(l,-15,50). /*'выводится: X1=10 ; Х2=5 */
– Конец работы –
Эта тема принадлежит разделу:
Логическое программирование... После многолетних теоретических работ по математической логике в году в... Для программиста особенность языка Пролог состоит в том что он на основе выражений логики предикатов может заниматься...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Арифметика
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов