いろんな言語で宿題スレ 第三編at TECH
いろんな言語で宿題スレ 第三編 - 暇つぶし2ch491:デフォルトの名無しさん
10/01/29 07:58:33
>>483
% Prolog 3: ソート方法AはPrologのリスト(ならび)仕様に書き換えました。効率は大変悪い。

'ソート方法 A を用いて配列 COM,MAN の要素をそれぞれ小さい順に並べる'(L1,L2) :-
  ソート方法A(L1,L2).

ソート方法A(L1,L2) :-
  '作業用のならびとして、要素が100 個の変数であるならびWorkを用意する'(Work),
  'ソートしたいならびLの要素を順番に読んで、Work[ その値 ] を1に単一化する'(L1,Work),
  '全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'(L1,L2).

'作業用のならびとして、要素が100 個の変数であるならびWorkを用意する'(Work) :-
  length(Work,100).

'ソートしたいならびLの要素を順番に読んで、Work[ その値 ] を1に単一化する'([],Work) :- !.
'ソートしたいならびLの要素を順番に読んで、Work[ その値 ] を1に単一化する'([N|R1],Work) :-
  list_nth(N,Work,1),
  'ソートしたいならびLの要素を順番に読んで、Work[ その値 ] を1に単一化する'(R1,Work),!.

'全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'([],[]) :- !.
'全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'([A|R1],[A|R2]) :-
  \+(var(A)),
  '全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'(R1,R2),!.
'全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'([V|R1],L2) :-
  var(V),
  '全てのLの要素について行った後、変数でないWorkの要素を先頭からならびL2にコピー'(R1,L2).



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch