From 75c3456bd00aab0659816acd4636ecd4257f15b5 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Tue, 14 May 2024 10:57:55 +0400 Subject: =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task6.pro | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 task6.pro 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. -- cgit v1.2.3