diff options
| -rw-r--r-- | task3.pro | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/task3.pro b/task3.pro new file mode 100644 index 0000000..0f1e5c2 --- /dev/null +++ b/task3.pro @@ -0,0 +1,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. |