いろんな言語で宿題 第四編
■ このスレッドは過去ログ倉庫に格納されています
0697デフォルトの名無しさん
2010/06/15(火) 09:41:35% Prolog 前半部分(その二)
'点数は1~100の乱数によって与えること'(_国語の点数,_数学の点数,_英語の点数) :-
'n個の範囲(1~100)の正規分布ならびを得る'(3,[_国語の点数,_数学の点数,_英語の点数]).
'n個の範囲(1~100)の正規分布ならびを得る'(_n個,_正規分布ならび) :-
findall(Y2,(
for(1,_,_n個),
U is (random mod 100000) / 100000,
R is ( 2 * pi * (random mod 100000)) / 100000,
S is (-2) * log(1-U),
X is sqrt(S) * cos(R),
Y is sqrt(S) * sin(R),
Y2 is truncate(100 * (Y + pi) / (2 * pi)) + 1),
_正規分布ならび),!.
'実行例のように"n人目 国語の点数 数学の点数 英語の点数"を表示する'(_n人目,_10人の三教科の点数を二次配列) :-
write(' 国語 数学 英語\n'),
10人の(_n人目),
list_nth(_n人目,_10人の三教科の点数を二次配列,[_国語の点数,_数学の点数,_英語の点数]),
write_formatted('%2d人目 %3d %3d %3d\n',[_n人目,_国語の点数,_数学の点数,_英語の点数]),
_n人目 = 10,!.
■ このスレッドは過去ログ倉庫に格納されています