このディレクトリの索引

%
% リスト処理の典型的なパターンとして
%
% 「変換していないものをスタックに積むリスト処理」と「変換」を相応しい述語名に書き換えてください
%

変換していないものをスタックに積むリスト処理([],L1,L1,[]) :- !.
変換していないものスタックに積むリスト処理([A|R1],L1,L,[B|R2]) :-
        変換(A,B),
        変換していないものスタックに積むリスト処理(R1,[B|L1],L,R2).

変換したものをスタックに積むリスト処理([],L1,L1,[]) :- !.
変換したものをスタックに積むリスト処理([A|R1],L1,L,[B|R2]) :-
        変換(A,B),
        変換したものをスタックに積むリスト処理(R1,[B|L1],L,R2).

変換前と変換後の両方をスタックに積むリスト処理([],L1,L1,L2,L2,[]) :- !.
変換前と変換後の両方をスタックに積むリスト処理([A|R1],L1_1,L1,L2_1,L2,[B|R2]) :-
        変換(A,B),
        変換前と変換後の両方をスタックに積むリスト処理([A|R1],[A|L1_1],L1,[B|L2_1],L2,R2).