このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1245853701/922 
# [1] 授業単元:プログラミング入門 
# [2] 問題文(含コード&リンク): 
# if文を使って、月数に応じてコメントを表示するプログラム(1月ならばwinter、 
# 3月ならspringといった具合に)を作る。 
# 月は1月\uff5e12月までなので、13月以上の数値を打ち込んだ場合はerrorと表示させること。 

'if文を使って、月数に応じてコメントを表示するプログラム(1月ならばwinter、3月ならspringといった具合に)を作る。月は1月\uff5e12月までなので、13月以上の数値を打ち込んだ場合はerrorと表示させること。' :-
        月数に応じてコメントを表示する.

月数に応じてコメントを表示する :-
        整数を得る(何月ですか,between(1,12,_月),_月),
        月情報表示(_月).

月情報表示(_月) :-
        表示情報の取得(_月,_漢字月,_旧暦月名,_季節感コメント,_誕生石表示,_前にちょっとだけ,_後にちょっとだけ),
        'コメント・雑感等の表示'(_漢字月,_旧暦月名,_季節感コメント,_誕生石表示,_前にちょっとだけ,_後にちょっとだけ).
月情報表示(N) :-
        write('error: 入力された数値は月を示すものではありません\n').

'漢字月・旧暦月名を得る'(_月,_漢字月,_旧暦月名) :-
        月漢字表現(_月,L),
        atomic_list_concat(L,_漢字月),
        '新暦・旧暦'(_漢字月,_旧暦月名).

表示情報の取得(_月,_漢字月,_旧暦月名,_季節感コメント,_誕生石表示,_前にちょっとだけ,_後にちょっとだけ) :-
        '漢字月・旧暦月名を得る'(N,_漢字月,_旧暦月名),
        '新暦・旧暦季節感の相違'(_漢字月,_季節感コメント),
        誕生石(_漢字月,_誕生石ならび),
        atomic_list_concat(_誕生石ならび,','_誕生石表示),
        極めて個人的な雑感(_漢字月,_極めて個人的な雑感,_前にちょっとだけ,_後にちょっとだけ).

'コメント・雑感等の表示'(_漢字月,_旧暦月名,_季節感コメント,_誕生石表示,_前にちょっとだけ,_後にちょっとだけ) :-
        writef('%tの情報です。\n旧暦では%tといいました。\n%t\n誕生石は%tです。\n',[_漢字月,_旧暦月名,_季節感コメント,_誕生石表示]),
        _前にちょっとだけ,
        writef('%t\n',[_極めて個人的な雑感]),
        _後にちょっとだけ,!.

'新暦・旧暦'(一月,睦月).
'新暦・旧暦'(二月,如月).
'新暦・旧暦'(三月,弥生).
'新暦・旧暦'(四月,卯月).
'新暦・旧暦'(五月,皐月).
'新暦・旧暦'(六月,水無月).
'新暦・旧暦'(七月,文月).
'新暦・旧暦'(八月,葉月).
'新暦・旧暦'(九月,長月).
'新暦・旧暦'(十月,神無月).
'新暦・旧暦'(十一月,霜月).
'新暦・旧暦'(十二月,師走).

'新暦・旧暦季節感の相違'(_月,_季節感コメント) :-
        '新暦・旧暦季節感'(_月,X,X),
        atomic_list_concat([X,です。'新暦・旧暦に季節感の相違はありません],_季節感コメント),!.
'新暦・旧暦季節感の相違'(_月,_季節感コメント) :-
        '新暦・旧暦季節感'(_月,_'新暦季節感,_旧暦季節感),
        \+(_'新暦季節感==_旧暦季節感),
        atomic_list_concat(['新暦の季節感では,_'新暦季節感,てすが旧暦では,_旧暦季節感,とされました],_季節感コメント).

'新暦・旧暦季節感'(一月,冬,春).
'新暦・旧暦季節感'(二月,冬,春).
'新暦・旧暦季節感'(三月,春,春).
'新暦・旧暦季節感'(四月,春,夏).
'新暦・旧暦季節感'(五月,春,夏).
'新暦・旧暦季節感'(六月,夏,夏).
'新暦・旧暦季節感'(七月,夏,秋).
'新暦・旧暦季節感'(八月,夏,秋).
'新暦・旧暦季節感'(九月,秋,秋).
'新暦・旧暦季節感'(十月,秋,冬).
'新暦・旧暦季節感'(十一月,秋,冬).
'新暦・旧暦季節感'(十二月,冬,冬).

誕生石(一月,[ガーネット]).
誕生石(二月,[アメシスト]).
誕生石(三月,[アクアマリン,コーラル,ブラッドストーン]).
誕生石(四月,[ダイヤモンド,クォーツ]).
誕生石(五月,[エメラルド,ジェイド]).
誕生石(六月,[パール,ムーンストーン]).
誕生石(七月,[ルビー,カーネリアン]).
誕生石(八月,[ペリドット,サードニックス]).
誕生石(九月,[サファイア,アイオライト]).
誕生石(十月,[オパール,トルマリン]).
誕生石(十一月,[トパーズ,シトリン]).
誕生石(十二月,[ターコイズ,ラピスラズリ,ジルコニア,タンザナイト]).

月漢字表現(1,[一,月]).
月漢字表現(2,[二,月]).
月漢字表現(3,[三,月]).
月漢字表現(4,[四,月]).
月漢字表現(5,[五,月]).
月漢字表現(6,[六,月]).
月漢字表現(7,[七,月]).
月漢字表現(8,[八,月]).
月漢字表現(9,[九,月]).
月漢字表現(10,[十,月]).
月漢字表現(11,[十,一,月]).
月漢字表現(12,[十,二,月]).

極めて個人的な雑感(一月,'私の誕生月ですね。私が生まれた二時間後に法隆寺の金堂が焼失しました',true,true).
極めて個人的な雑感(二月,'閏年のルールを確認して置きましょう',true,listing(うるう年)).
極めて個人的な雑感(四月,残酷な月です,true,true).
極めて個人的な雑感(五月,'三年前の連休に笹が峰牧場に行きました。まだ1mも雪が残っていた',true,true).
極めて個人的な雑感(六月,私は爬虫類の生まれ変わりらしくこの月の前半のじめじめ感は大好き,true,true).
極めて個人的な雑感(九月,'伊勢湾台風の晩は東京の風も尋常ではなかった。浴風園から200m田圃を越してくる風で家が揺れて何度も何度も目を覚ましました',true,true).
極めて個人的な雑感(十月,消えわびぬうつろふ人の秋の色に身を木枯らしの森の下露とはこの頃の季節感なのだろうか,true,true).
極めて個人的な雑感(_,この月の雑感はちょっと保留,true,true).

うるう年(_年) :- 0 is _年 mod 400,!.
うるう年(_年) :- 0 is _年 mod 100,!,fail.
うるう年(_年) :- 0 is _年 mod 4,!.
うるう年(_年) :- \+(0 is _年 mod 4),fail.