このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1349527750/837
#  単元 C言語配列 
#  問題1 Float型配列にマクロで指定した個数の乱数(randを使う)を格納して 
#  その平均値と最大値を出力するプログラムを作成せよ。 
#   
#  問題2 上記の問題で結果を小さい順で表記せよ。 
#  環境 Linux gcc C言語 
#  期限 今週日曜日まで 
#  よろしくお願いします 
# 
# 

'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納してその平均値と最大値を出力する'(_指定した個数) :-
        'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納して'(_指定した個数,_ならび),
        その平均値と最大値を出力する(_ならび).

'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納して'(_指定した個数,_ならび) :-
        findall(_浮動小数点数,(
                    between(1,_指定した個数,_),
                    _浮動小数点数 is (-1 ^ (random(2)+1)) * random(10000) / (random(10000) + 1)),
                _ならび).

その平均値と最大値を出力する(_指定した個数,[_第一要素|_残りならび]) :-
        その平均値と最大値を出力する(_指定した個数,_ならび,_第一要素,_最大値,0.0,_平均値),
        writef('平均値 = %t, 最大値 = %t\n',[_平均値,_最大値]).

その平均値と最大値を出力する(_指定した個数,[],_最大値,_最大値,_合計,_平均値) :-
        _平均値 is _合計 / _指定した個数,!.
その平均値と最大値を出力する(_指定した個数,[_値|R],_最大値_1,_最大値,_合計_1,_平均値) :-
        最大値はどちらか(_値,_最大値_1,_最大値_2),
        _合計_2 is _合計_1 + _値,
        その平均値と最大値を出力する(_指定した個数,R,_値,_最大値,_合計_2,_平均値).

最大値はどちらか(_値,_最大値_1,_値) :-
        _値 > _最大値_1,!.
最大値はどちらか(_値,_最大値_1,_これまでの最大値) :-
        _値 =< _最大値_1.