このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1322562648/779
#  [1] 授業単元:計算機アルゴリズム  
#  [2] 問題文(含コード&リンク):  
#  設問1-1 
#  キーボードから整数値を受け取り、その数値に該当する月の略称("Jan", "Feb",・・・)を表示するプログラムを作成しなさい。 
#  なお、月の略称はポインタ配列「 char *month[ ]={"Jan.", "Feb.", "Mar.", "Apr.", "May.", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."};」で定義するものとする。  
#  

'キーボードから整数値を受け取り、その数値に該当する月の略称("Jan", "Feb",・・・)を表示する。なお、月の略称はポインタ配列「 char *month[ ]={"Jan.", "Feb.", "Mar.", "Apr.", "May.", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."};」で定義するものとする。' :-
        'キーボードから整数値を受け取り'(_キーボードから受け取った整数値),
        'その数値に該当する月の略称を表示する'(_キーボードから受け取った整数値).

'キーボードから整数値を受け取り'(_キーボードから受け取った整数値) :-
        get_line(Line),
        キーボードからの整数値の受け取り診断(Line,_キーボードから受け取った整数値),!.
'キーボードから整数値を受け取り'(_キーボードから受け取った整数値) :-
        'キーボードから整数値を受け取り'(_キーボードから受け取った整数値).

キーボードからの整数値の受け取り診断(Line,_キーボードから受け取った整数値) :-
        atom_to_term(Line,_キーボードから受け取った整数値,_),
        integer(_キーボードから受け取った整数値),!.
キーボードからの整数値の受け取り診断(Line,_キーボードから受け取った整数値) :-
        writef('入力された %t からは月数に相当する数値が得られません。再入力をお願いします。\n',[Line]),
        fail.

'その数値に該当する月の略称を表示する'(_キーボードから受け取った整数値) :-
        数値に該当するピリオド付き月の略称ストリング(_キーボードから受け取った整数値,_ピリオド付き月の略称ストリング),
        append(L1,[_],_ピリオド付き月の略称ストリング),
        string_to_atom(L1,_その数値に該当する月の略称),
        writef('キーボードから受け取った数字 %t(月),該当する月の略称 %t\n',[_キーボードから受け取った整数値,_その数値に該当する月の略称]),!.
'その数値に該当する月の略称を表示する'(_キーボードから受け取った整数値,_) :-
        writef('キーボードからの入力 %t に該当する月は存在しません。\n',[_キーボードから受け取った整数値,[_キーボードから受け取った整数値]).

数値に該当する月の略称ストリング(1,"Jan.").
数値に該当する月の略称ストリング(2,"Feb.").
数値に該当する月の略称ストリング(3,"Mar.").
数値に該当する月の略称ストリング(4,"Apr.").
数値に該当する月の略称ストリング(5,"May.").
数値に該当する月の略称ストリング(6,"Jun.").
数値に該当する月の略称ストリング(7,"Jul.").
数値に該当する月の略称ストリング(8,"Aug.").
数値に該当する月の略称ストリング(9,"Sep.").
数値に該当する月の略称ストリング(10,"Oct.").
数値に該当する月の略称ストリング(11,"Nov.").
数値に該当する月の略称ストリング(12,"Dec.").