1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
% vim:set syntax=prolog:
?- writeln("Задание 1:").
выражение1(X) :-
X =\= 2, Y is (X*X + 1) / (X - 2), writeln(Y); writeln("Делить на 0 нельзя").
?- выражение1(2).
?- выражение1(5).
?- выражение1(10).
?- выражение1(12.5).
?- nl, nl, writeln("Задание 5:").
в_промежутке(X, A, B) :-
X >= A, X =< B,
write("Число "), write(X), write(" попадает в промежуток ["), write(A), write(';'), write(B), write(']'), nl, !;
write("Число "), write(X), write(" не попадает в промежуток ["), write(A), write(';'), write(B), write(']'), nl.
?- в_промежутке(5, 1, 10).
?- в_промежутке(0, 1, 10).
?- nl, nl, writeln("Задание 7:").
максимум(X, Y, Z, M) :-
X >= Y, X >= Z, M is X;
Y >= X, Y >= Z, M is Y;
Z >= X, Z >= Y, M is Z.
?- максимум(1, 1, 1, M), writeln(M).
?- максимум(1, 2, 3, M), writeln(M).
?- максимум(5, 7, 3, M), writeln(M).
?- максимум(19, 7, 11, M), writeln(M).
?- halt.
|