このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1286978599/628
#  [1] 授業単元:基礎プログラミング  
#  [2] 問題文(含コード&リンク) 
#  問題3 下記の料理のレシピを表示するプログラムを作成しなさい. 
#   
#  今日は(料理名)を作りましょう。  
#  ( 材料 1) は何グラム必要ですか:  
#  ( 材料 2) は何グラム必要ですか:  
#  ==レシピ==  
#  「(料理名)を作るには, (改行)  
#  ( 材料 1) を ( 分量 ) グラムと ( 材料 2) を ( 分量 ) グラムが必要です」  
#   
#  *( )内の料理名や材料には自分の好きな名前を考えてください。  
#  * 分量はキーボードから入力した値を使用してください。  
#   
#  下段の参考プログラムを参考に printf 関数内で %s や %d を使用 して、文字列(料理名・材料名)や数値(分量)を表示すること。

下記の料理のレシピを表示する(_料理名) :-
        writef('今日は%tを作りましょう。\n',[_料理名]), 
        材料の読み込み(_材料ならび),
        レシピに必要な情報を集める(_材料ならび,_材料と分量の順ならび),
        write('\n==レシピ==\n'),
        writef('「%t を作るには,\n',[_料理名]),
        材料と分量を順に表示する(_材料と分量の順ならび).

材料と分量ならび([_材料,_分量]) :-
        writef('%t を %t グラムが必要です。」',[_材料,_分量]),!.
材料と分量ならび([_材料,_分量|R]) :-
        writef('%t を %t グラムと',[_材料,_分量]),
        材料と分量ならび(R).

レシピ作成に必要な情報を集める([_材料|R1],[_材料,_何グラム|R2]) :-
        writef('%tは何グラム必要ですか: ',[_材料]),
        get_integer(_何グラム),
        レシピ作成に必要な情報を集める(R1,R2).

%  *( )内の料理名や材料には自分の好きな名前を考えてください。  
%  * 分量はキーボードから入力した値を使用してください。