summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-05-07 12:31:10 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-05-07 12:31:10 +0400
commita3355a8acebf69f85e66927874f4b78092e307e4 (patch)
treeb1fbc7d6ecf9d1957131bdb09c2823aa1e8401a9
parent5bb3fa401e0438346befc9d1892682e10d597981 (diff)
Задание 3
-rw-r--r--task3.pro34
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.