このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1328276597/167
#  [1] 情報科学入門 
#  [2]  (1)1から1000までの間に、3と7の倍数の値がいくつ含まれているのか求めるプログラムを書け。 
#     (2)キーボードから西暦年を入力し、その年がサッカーワールドカップ開催年かどうかを判定するプログラムを作成せよ。 
#  

第一回ワールドカップ開催年(1930).
前回ワールドカップ開催年(2010).

'キーボードから西暦年を入力し、その年がサッカーワールドカップ開催年かどうかを判定する' :-
        第一回ワールドカップ開催年(_第一回ワールドカップ開催年),
        前回ワールドカップ開催年(_前回ワールドカップ開催年),
        キーボードから西暦年を入力し(_西暦),
        その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_前回ワールとカップ開催年,_判定),
        writef('入力された %t年は%t。\n',[_西暦,_判定]).

キーボードから西暦年を入力し(_西暦) :-
        write('西暦年を入力して下さい : '),
        get_line(Line),
        西暦年入力検査(Line,_西暦年),!.
キーボードから西暦年を入力し(_西暦) :-
        キーボードから西暦年を入力し(_西暦).

西暦年入力検査(Line,_西暦年) :-
        atom_to_term(Line,_西暦年,_),
        integer(_西暦年),!.
西暦年入力検査(Line,_西暦年) :-
        writef('入力された %t は整数でありません。整数を入力して下さい。\n',[Line]),
        fail.

その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_,第一回ワールドカップが開催されるより前です) :-
        _西暦 < _第一回ワールドカップ開催年,!.
その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_,開催年に当たりますがまだ開催されていません) :-
        _西暦 > _前回ワールドカップ開催年,
        0 is (_西暦 - _第一回ワールドカップ開催年) mod 4,!.
その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_前回ワールドカップ開催年,開催される予定のない年です) :-
        _西暦 > _前回ワールドカップ開催年,
        0 is (_西暦 - _第一回ワールドカップ開催年) mod 4,!.
その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_前回ワールドカップ開催年,開催されました) :-
        _西暦 =< _前回ワールドカップ開催年,
        0 is (_西暦 - _第一回ワールドカップ開催年) mod 4,!.
その年がサッカーワールドカップ開催年かどうかを判定する(_西暦,_第一回ワールドカップ開催年,_前回ワールドカップ開催年,開催されていません) :-
        _西暦 =< _前回ワールドカップ開催年,
        \+(0 is (_西暦 - _第一回ワールドカップ開催年) mod 4),!.