このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/235
#  [1] 授業単元:プログラミング  
#  [2] 問題文: 
#  
#  ransuu関数は整数型の引数uを受け取ると1からuまでの乱数を返す。 
#  この関数を用いて、1から6までの乱数を100回発生させる。 
#  1から6までのそれぞれの数が発生した回数を出力しなさい。 
#  http://ime.nu/codepad.org/2MXb2oGy 
#  

ransuu(_u,_1からuまでの乱数) :-
        整数型の引数uを受け取ると1からuまでの乱数を返す(_u,_1からuまでの乱数).

整数型の引数uを受け取ると1からuまでの乱数を返す(_u,_1からuまでの乱数) :-
         _1からuまでの乱数 is random(_u) + 1.

'1から6までの乱数を100回発生させる。1から6までのそれぞれの数が発生した回数を出力しなさい。' :-
        '1から6までの乱数を100回発生させる。1から6までのそれぞれの数が発生した回数を出力しなさい。'(1,0,0,0,0,0,0,_1,_2,_3,_4,_5,_6),
        writef('乱数出現度数\n1 = %t\n2 = %t\n3 = %t\n4 = %t\n5 = %t\n6 = %t\n',[_1,_2,_3,_4,_5,_6]).

'1から6までの乱数を100回発生させる。1から6までのそれぞれの数が発生した回数を出力しなさい。'(N,_1,_2,_3,_4,_5,_6,_1,_2,_3,_4,_5,_6) :-
        N > 100,!.
'1から6までの乱数を100回発生させる。1から6までのそれぞれの数が発生した回数を出力しなさい。'(N,_1_1,_2_1,_3_1,_4_1,_5_1,_6_1,_1,_2,_3,_4,_5,_6) :-
        ransuu(6,_発生した乱数),
        度数加算(_発生した乱数,_1_1,_2_1,_3_1,_4_1,_5_1,_6_1,_1_2,_2_2,_3_2,_4_2,_5_2,_6_2),
        N_2 is N + 1,
        '1から6までの乱数を100回発生させる。1から6までのそれぞれの数が発生した回数を出力しなさい。'(N_2,_1_2,_2_2,_3_2,_4_2,_5_2,_6_2,_1,_2,_3,_4,_5,_6).

度数加算(1,_1_1,_2,_3,_4,_5,_6,_1_2,_2,_3,_4,_5,_6) :-
        _1_2 is _1_1 + 1,!.
度数加算(2,_1,_2_1,_3,_4,_5,_6,_1,_2_2,_3,_4,_5,_6) :-
        _2_2 is _2_1 + 1,!.
度数加算(3,_1,_2,_3_1,_4,_5,_6,_1,_2,_3_2,_4,_5,_6) :-
        _3_2 is _3_1 + 1,!.
度数加算(4,_1,_2,_3,_4_1,_5,_6,_1,_2,_3,_4_2,_5,_6) :-
        _4_2 is _4_1 + 1,!.
度数加算(5,_1,_2,_3,_4,_5_1,_6,_1,_2,_3,_4,_5_2,_6) :-
        _5_2 is _5_1 + 1,!.
度数加算(6,_1,_2,_3,_4,_5,_6_1,_1,_2,_3,_4,_5,_6_2) :-
        _6_2 is _6_1 + 1,!.