このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1339338438/580
#  [1] 授業単元:C言語  
#  [2] 問題文(含コード&リンク): 
#  http://ime.nu/codepad.org/SiMu1i6Z ここまではやったんですけどelse文がifと一致しませんとでてよくわからなくてこまってます 
#  [問題文]以下の内容を実行するプログラムを作成しなさい 
#  キーボードから正の整数xに値を入力し,入力された値に対応する以下の結果を表示する.なお,番号に対応する表示結果は以下の通りである. 
#   1:xの値は一 
#   2:xの値は二 
#   3:xの値は三 
#   4:xの値は四 
#   それ以外:xの値は五以上の整数です 
#  実行例 
#  xの値を入力してください:  1 
#  xの値は一 
#  xの値を入力してください:  2 
#  xの値は二 
#   

'キーボードから正の整数xに値を入力し,入力された値に対応する以下の結果を表示する' :-
        キーボードから正の整数xに値を入力し(_正の整数x),
        入力された値に対応する結果を表示する(_正の整数x),
        'キーボードから正の整数xに値を入力し,入力された値に対応する以下の結果を表示する'.
'キーボードから正の整数xに値を入力し,入力された値に対応する以下の結果を表示する'.

キーボードから正の整数xに値を入力し(_正の整数x) :-
        整数を得る('xの値(終了する時は0)',_正の整数x >= 0,_正の整数x),!.

入力された値に対応する結果を表示する(0) :-
        !,
        強制的に失敗して事前のカットの効果でプログラムを終了させる.
入力された値に対応する結果を表示する(_正の整数x) :-
        入力された値に対応する結果を(_正の整数x,_対応する結果),
        writef('%t\n',[_対応する結果]).

入力された値に対応する結果を(1,'xの値は一'). 
入力された値に対応する結果を(2,'xの値は二').
入力された値に対応する結果を(3,'xの値は三').
入力された値に対応する結果を(4,'xの値は四').
入力された値に対応する結果を(_正の整数x,'xの値は五以上の整数です') :-
        _正の整数x >= 5.

強制的に失敗して事前のカットの効果でプログラムを終了させる :-
        write('終了します\n'),
        fail.


%  整数を得る/3