このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/415
#  [1] 授業単元:関数とポインタ 
#      [2] 問題文(含コード&リンク): 
#      ある実数値の2乗を求める関数jijyoと、3乗を求める関数sanjyoを作成し、メイン関数から呼び出して動作を確認せよ。ただし、関数の返却値は無いものとし、引数はアドレス渡し(ポインタ)とする。 
#      

'ある実数値の2乗を求める関数jijyoと、3乗を求める関数sanjyoを作成し、メイン関数から呼び出して動作を確認せよ。ただし、関数の返却値は無いものとし、引数はアドレス渡し(ポインタ)とする。' :-
        この述語をメイン関数ということにする,
        write('jijyo()の動作確認\n'),
        append(_,[_|R1],[_,_,_]),
        _ある実数_1 is random(100000) / 971,
        writef('ある実数値は %t とします。',[_ある実数値]),
        jijyo(V,_2乗),
        writef('2乗は %t です。\n',[_2乗]),
        R = [],
        write('sanjyo()の動作確認\n'),
        append(_,[_|R2],[_,_,_]),
        _ある実数_1 is random(100000) / 971,
        writef('ある実数値は %t とします。',[_ある実数]),
        sanjyo(V,_3乗),
        writef('3乗は %t です。\n',[_3乗]),
        R2 = [].

jijyo(_ある実数値,_2乗) :-
        _2乗 is _ある実数値 * _ある実数値.

sanjyo(_ある実数値,_3乗) :-
        _3乗 is _ある実数値 * _ある実数値 * _ある実数値.

この述語をメイン関数ということにする.