このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1274827528/107
#  [1] 授業単元:応用プログラム〜C言語講座 
#  [2] 問題文(含コード&リンク):http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10641.txt 
# 以下に示すプログラムは整数nを読み込んだ後,n個の数の総和を計算するプログラムである.以下の5つの関数を作成し,main関数では関数を呼び出すだけにプログラムを書き直せ.
#    1. 整数 ndata を読み込む関数(引数:無し,戻り値:ndata)
#    2. 数 xval を読み込む関数(引数:無し,戻り値:xval)
#    3. 読み込んだ数 xval と足しこんだ値 xsum を渡すと和を計算する関数(引数:xval, xsum,戻り値:xsum)
#    4. 結果を表示する関数(引数:xsum,戻り値:無し)
#    5. 平均 ave を計算する関数を新たに作成せよ.(引数:xsum, ndata,戻り値:ave)

'整数nを読み込んだ後,n個の数の総和を計算する' :-
        整数を読み込む(_ndata),
        総和を計算する(_ndata,0,_xsum),
        結果を表示する(_xsum),!.

総和を計算する(_ndata,_xsum,_xsum) :- !.
総和を計算する(_ndata,_xsum_1,_xsum) :-
        数を読み込む(_xval),
        読み込んだ数と足しこんだ値を渡すと和を計算する(_xval,_xsum1,_xsum2),        
        _ndata_1 is _ndata - 1,
        総和を計算する(_ndata_1,_xsum_2,_xsum).

整数を読み込む(_ndata) :- write('整数を入力してください : '),get_integer(_ndata).

数を読み込む(_xval) :-
        write('数を入力してください : '),get_line(Line),
        atom_to_term(Line,_xval,_),
        number(_xval).

読み込んだ数と足しこんだ値を渡すと和を計算する(_xval,_xsum1,_xsum) :-
        _xsum is _xval + _xsum1.

結果を表示する(_xsum) :-
        write_formatted('総和は%tです\n',[_xsum]).

平均を計算する(_xsum,_ndata,_ave) :-
        _ave is _xsum / _ndata.