このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1294061094/450
#  [1] 授業単元: Cプログラミング演習2  
#  [2] 問題文(含コード&リンク): 問題10-2(関数ポインタを用いて2つの整数値を入力して、加算・減算・最大値・最小値の  
#  いずれかを選択して求めるプログラムを作成せよ)において、関数ポインタを用いて、4つの関数の値のいずれかを求めるのではなく、  
#  for-loopを用いて、4つの値とも出力するプログラムを作成せよ。  
#  
#  入力に関して:キーボードから2つの整数をスペース1つあけて入力し、改行する。
#  
#  出力に関して:加算・減算・最大値・最小値の値を、それぞれ値+改行のフォーマットで
#   4行にわけて出力する。指定した数値・改行以外の出力は一切行わないこと。
#  

'キーボードから2つの整数をスペース1つあけて入力し、加算・減算・最大値・最小値の値を、それぞれ値+改行のフォーマットで4行にわけて出力する。' :-
        write('2つの整数をスペース1つあけて入力してください : '),
        get_split_line([' '],[_整数1,_整数2]),
        演算結果の出力(_整数1,_整数2).

演算結果の出力(_整数1,_整数2) :-
        演算(_,_整数1,_整数2,_項,_値),
        call(_項),
        write_formatted('%t\n',[_値]),
        fail.        
演算結果の出力(_,_).

演算(加算,_整数1,_整数2,_値 is _整数1+_整数2,_値).
演算(減算,_整数1,_整数2,_値 is _整数1-_整数2,_値).
演算(最大値,_整数1,_整数2,max([_整数1,_整数2],_値),_値).
演算(最小値,_整数1,_整数2,min([_整数1,_整数2],_値),_値).