このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1258158172/949
#   
#  /* オリジナル関数calc */  
#  /* calc(入力データ、計算結果のアドレスを格納するポインタ) */  
#  int calc(double input_data, double * data_ptr)  
#  {  
#  /*ポインタを使って、呼び出し元のデータ格納場所に値を設定 */  
#  *data_ptr = input_data * 2;  
#  return0; /* 正常終了 */  
#  }  
#   
#  上記プログラムを参考に、  
#  二つの入力データの変数(倍精度実数型)  
#  double input_data1, input_data2;  
#  に対しての、四則演算(+、−、*、/)の結果を、それぞれ  
#  double plus_data, minus_data, multiply_data, divide_data;  
#  の4変数に設定する機能を持つ、オリジナル関数calcを作成せよ。 
#  ただし、main関数上でのcalc関数の呼び出し方法は、以下のようにすること。  
#  calc(inpt_data1, input_data2, &plus_data, &minus_data, &multiply_data, _data);  
#  最後に、main関数上で上記4変数に格納された計算結果を画面に出力せよ。  
#  以上の仕様のプログラムを、calc.cという名前で作成せよ。  
#  calc.cをVisual Studioで実行して、実行結果をcalc.c内の文末に「コメント行」として記載せよ 。  
# 

program :-
    user_parameters([Atom1,Atom2]),
    atom_to_term(Atom1,Input_data1,_),
    atom_to_term(Atom2,Input_data2,_),
    calc(Input_data1,Input_data2,Plus_data,Minus_data,Multiply_data,Divide_data),
    write_formatted('%t + %t = %t\n',[Input_data1,Input_data2,Plus_data]),
    write_formatted('%t - %t = %t\n',[Input_data1,Input_data2,Minus_data]),
    write_formatted('%t * %t = %t\n',[Input_data1,Input_data2,Multiply_data]),
    write_formatted('%t / %t = %t\n',[Input_data1,Input_data2,Divide_data]).

calc(Input_data1,Input_data2,Plus_data,Minus_data,Multiply_data,Divide_data) :-
    Plus_data is Input_data1 + Input_data2,
    Minus_data is Input_data1 - Input_data2,
    Multiply_data is Input_data1 * Input_data2,
    Divide_data is Input_data1 / Input_data2.