このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1308749241/691
#  [1] 授業単元: プログラム演習 
#  [2] 問題文(含コード&リンク): 次の 銑い両魴錣鯔たすプログラムを作成せよ 
#   
#  1)main関数においてint型の半径rをキーボードから受け取る 
#  2)円周(ring)を求めるenshu関数にrを「値呼び出し」で渡して面積を計算し、 
#  その値をmain関数にreturnする 
#  3)円の面積(area)を求めるmenseki関数にrを「参照呼び出し」で渡して面積を計算し、 
#  その値をmain関数にreturnする 
#  4)main関数でreturnされた円周と面積の値を実行結果のように表示する  
#   
#  [実行結果] 
#  半径rを入力:5(←キーボードから入力) 
#  円周:31.400000 
#  面積:78.500000 
#   

'半径rをキーポードから受け取り、円周と面積を計算して、表示する' :-
        半径rをキーボードから受け取る(_半径r),
        円周を求める述語に半径rを渡して円周を計算する(_半径r,_円周),
        面積を求める述語に半径rを渡して面積を計算する(_半径r,_面積),
        円周と面積の値を実行結果のように表示する(_円周,_面積).

半径rをキーボードから受け取る(_半径r) :-
        write('半径rを入力:'),
        readln([_半径r]).

円周を求める述語に半径rを渡して円周を計算する(_半径r,_円周) :-
        円周を求める(_半径r,_円周).        

円周を求める(_半径r,_円周) :-
       _面積 is 2 * pi * _半径r.

面積を求める述語に半径rを渡して面積を計算する(_半径r,_面積) :-
        面積を求める(_半径r,_面積).

面積を求める(_半径r,_面積) :-
        _面積 is pi * _半径r * _半径r.

円周と面積の値を表示する(_円周,_面積) :-
        writef('円周: %t\n面積: %t\n',[_円周,_面積]).