このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1311089619/807
#  [1] 授業単元:C言語  
#  [2] 問題文(含コード&リンク): http://ime.nu/codepad.org/P8lye0BT 
#  このプログラムを応用し、100以上200未満の乱数を10000回発生させ、各数値が何回乱数として発生したのかをcsv形式ファイルに出力し、結果をExcelのグラフを示しなさい。 
#  

'100以上200未満の乱数を10000回発生させ、各数値が何回乱数として発生したのかをcsv形式ファイルに出力する'(_csvファイル) :-
        '100以上200未満の乱数を10000回発生させ'(L),

        各数値が何回乱数として発生したのかをcsv形式ファイルに出力する(_csvファイル,L).

'100以上200未満の乱数を10000回発生させ'(L) :-
        length(L,10000),
        findall(N,(
                    append(_,[_|_],L),
                    N is random(100)+100),
                L).

各数値が何回乱数として発生したのかをcsv形式ファイルに出力する(_csvファイル,L) :-
        open(_csvファイル,write,Outstream),
        各数値が(N),
        何回乱数として発生したのか(N,L,_何回),
        出力する(Outstream,_何回),
        N = 199,
        write(Outstream,'\n'),
        close(Outstream).

各数値が(N) :-
        for(100,N,199).

何回乱数として発生したのか(N,L,_何回) :-
        count(member(N,L),_何回).

出力する(Outsteam,N) :-
        writef(Outstream,'%t,',[N]).