diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2024-05-14 10:57:55 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2024-05-14 10:57:55 +0400 |
| commit | 75c3456bd00aab0659816acd4636ecd4257f15b5 (patch) | |
| tree | 712425d010fea1b582cda5383645f845f81a88e3 | |
| parent | 277b7abc61463f8f1c09f196090d9fff9a4bd08e (diff) | |
задание 6
| -rw-r--r-- | task6.pro | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/task6.pro b/task6.pro new file mode 100644 index 0000000..7d85eb3 --- /dev/null +++ b/task6.pro @@ -0,0 +1,36 @@ +% vim:set syntax=prolog: + +?- writeln("Задание 2/4:"). + +nneg([], []). +nneg([], _) :- !. +nneg([H|T], N) :- H < 0, !, nneg(T, N). +nneg([H|T], [H|N]) :- nneg(T, N). + +?- nneg([1, -2, 3, 4, -5], L), writeln(L). + + +?- nl, nl, writeln("Задание 2/7:"). + +обращение(L1, L2) :- + обращение(L1, [], L2). + +обращение([], Acc, Acc). +обращение([H|T], Acc, L) :- + обращение(T, [H|Acc], L). + +?- обращение([1, -2, 3, 4, -5], L), writeln(L). + + +?- nl, nl, writeln("Задание 2/9:"). + +разбиение_списка([], [], []). +разбиение_списка([H|T], [H|L1], L2) :- разбиение_списка2(T, L1, L2). + +разбиение_списка2([], [], []). +разбиение_списка2([H|T], L1, [H|L2]) :- разбиение_списка(T, L1, L2). + +?- разбиение_списка([], L1, L2), write(L1), writeln(L2). +?- разбиение_списка([1, 2, 3, 4, 5, 6, 7, 8], L1, L2), write(L1), writeln(L2). + +?- halt. |