このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/420
#  [1] 授業単元:プログラミング基礎 
#  [2] 問題文(含コード&リンク):メイン関数でキーボードから2つの整数値を入力し、関数sisokuenzanにて和差積商を計算するプログラムを作成せよ。 
#  なお、関数sisokuenzanの仕様は以下のとおりとし、計算結果はメイン関数で表示するものとする。計算結果の変数は、結果をよく考えて適切な型を使うこと。 
#   
#  関数名: sisokuenzan 
#   引数 :整数1: x 
#       整数2: y 
#       計算結果:和 wa, 差 sa,積 seki,商 syou 
#       (ただし、計算結果はポインタ) 
#   
#   返却値:無し(return文は無い) 
#   その他:「関数sisokuenzanが呼ばれました」と、画面に表示する。 
#   
#   
#  (実行例) 
#   
#  整数1= 10 
#  整数2=  3 
#   
#  関数sisokuenzanが呼ばれました 
#   
#  メイン関数に戻りました 
#  和 = 13 差 = 7 積 = 30 商 = 3.3 
#   

'メイン関数でキーボードから2つの整数値を入力し、関数sisokuenzanにて和差積商を計算するプログラムを作成せよ。' :-
        催促付き整数入力('整数1= ',_整数1),
        repeat,
        催促付き整数入力('整数2= ',_整数2),
        sisokuenzan(_整数1,_整数2,_和,_差,_積,_商),
        writef('メイン関数に戻りました\n和 = %t 差 = %t 積 = %t 商 = %t\n',[_和,_差,_積,_商]),!.

sisokuenzan(_整数1,0,_和,_差,_積,_商) :-
        write('整数2に0が入力されましたが商を求めることができません。0以外の数字を再入力してください\n'),
        !,fail.
sisokuenzan(_整数1,_整数2,_和,_差,_積,_商) :-
        _和 is _整数1 + _整数2,
        _差 is _整数1 - _整数2,
        _積 is _整数1 * _整数2,
        _商 is _整数1 / _整数2.