トップページ > プログラム > 2014年09月19日 > fVs2kyBw

書き込み順位&時間帯一覧

7 位/221 ID中時間01234567891011121314151617181920212223Total
書き込み数0000200110000000000000116



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【論理】Prolog【初心者】
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】

書き込みレス一覧

【論理】Prolog【初心者】
765 :デフォルトの名無しさん[sage]:2014/09/19(金) 04:57:53.94 ID:fVs2kyBw
>>762
実際に使うのは、repeatを伴う入力処理の場合に限られると思うが

年齢(大田,33).
年齢(神戸,25).
年齢(下山,40).
・・・

で40歳が現れるまでの年齢リストを得たい場合も、

?- findall(_名前,(年齢(_名前,_年齢),(_年齢=40,!,fail;true)),_年齢リスト).

と書く。一般にこの問題が表面に出ないのは、普通は、

?- findall((_名前,_年齢),年齢(_名前,_年齢),L), ・・・・

と一旦、全年齢データをリストに変換してから、処理をするから。
【論理】Prolog【初心者】
766 :デフォルトの名無しさん[sage]:2014/09/19(金) 04:59:58.17 ID:fVs2kyBw
>>765
ごめんなさい。
_年齢リスト ではなく _40歳が現れるまでの名前リスト でした。
【論理】Prolog【初心者】
767 :デフォルトの名無しさん[sage]:2014/09/19(金) 07:51:22.98 ID:fVs2kyBw
% カットの話題から逸れるが、設計が適切とは言い難いデータベースの集約問題。
% 駒場東大前から下北沢までの距離を求めなさい

井の頭線(渋谷,500).
井の頭線(神泉,900).
井の頭線(駒場東大前,1000).
井の頭線(池ノ上,600).
井の頭線(下北沢,500).
井の頭線(新代田,東松原,500).

駒場東大前から下北沢までの距離(_距離) :-
  findall((_駅,_次の駅までの距離),井の頭線(_駅,_次の駅までの距離),L),
  駒場東大前までを読み飛ばす(L,L2),
  駒場東大前から下北沢までの距離(L2,_距離).

駒場東大前までを読み飛ばす([(駒場東大前,_次の駅までの距離)|R],[(駒場東大前,_次の駅までの距離)|R]).
駒場東大前までを読み飛ばす([_|R1],R2) :-
  駒場東大前までを読み飛ばす(R1,R2).

駒場東大前から下北沢までの距離([(下北沢,_)|_],0).
駒場東大前から下北沢までの距離([(_,_次の駅までの距離)|R],_下北沢までの距離) :-
  駒場東大前から下北沢までの距離(R,_次の駅から下北沢までの距離),
  _下北沢までの距離 is _次の駅までの距離 + _次の駅から下北沢までの距離.
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
494 :デフォルトの名無しさん[sage]:2014/09/19(金) 08:01:50.12 ID:fVs2kyBw
>>493
出題文を命令形にするのは、ギリシャ時代からのならわしではないか。
【論理】Prolog【初心者】
771 :デフォルトの名無しさん[sage]:2014/09/19(金) 22:53:53.05 ID:fVs2kyBw
設計が適切とは言い難いデータベース。
リレーショナルデータベースをそのまま述語として写した場合にしばしば
現れる。あるいは何か示されたことをPrologデータベースとしてそのまま
写し取った場合。
以下のように書き換えられればもちろんよい。

井の頭線(渋谷,神泉,500).
井の頭線(神泉,駒場東大前,900).
井の頭線(駒場東大前,池ノ上,1000).
井の頭線(池ノ上,下北沢,600).
井の頭線(下北沢,新代田,500).

駒場東大前から下北沢までの距離(_距離) :-
駒場東大前から下北沢までの距離(駒場東大前,_距離).

駒場東大前から下北沢までの距離(下北沢,0).
駒場東大前から下北沢までの距離(_駅,_距離) :-
井の頭線(_駅,_次の駅,_次の駅までの距離),
駒場東大前から下北沢までの距離(_次の駅,_次の駅から下北沢までの距離),
_距離 is _次の駅から下北沢までの距離 + _次の駅までの距離.
【論理】Prolog【初心者】
773 :デフォルトの名無しさん[sage]:2014/09/19(金) 23:13:52.01 ID:fVs2kyBw
>>772
それは単に抽象プログラミングでしかない。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。