diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2024-05-07 12:31:10 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2024-05-07 12:31:10 +0400 |
| commit | a3355a8acebf69f85e66927874f4b78092e307e4 (patch) | |
| tree | b1fbc7d6ecf9d1957131bdb09c2823aa1e8401a9 | |
| parent | 5bb3fa401e0438346befc9d1892682e10d597981 (diff) | |
Задание 3
| -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. |