このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1274827528/229
#  [1] 授業単元:データベース論 
#  [2] 問題文(含コード&リンク):サンプルデータから情報を取りだしその情報をstudents.txtとして出力するプログラムを組め 
#  Students.txtの例は以下の通り 
#  1 tanaka A 
#  2 sano B 
#  3 hori C 
#   
#  

サンプルデータから情報を取りだしその情報をstudents.txtとして出力する :-
        サンプルデータから情報を取りだし(_サンプル情報ならび),
        その情報をstudents.txtとして出力する(_サンプル情報ならび).
        
サンプルデータから情報を取りだし(_サンプル情報ならび) :-
        count(サンプルデータ(_,_,_),_総情報数),
        _標本数 is _総情報数 // 20,
        findall([ID,_名前,_生徒情報],(   for(1,N,_標本数),
                                         ID is (random mod _総情報数) + 1,
                                         サンプルデータ(ID,_名前,_生徒情報)),
                _サンプル情報ならび).

その情報をstudents.txtとして出力する(_サンプル情報ならび) :-
        tell('students.txt'),
        append(_,[_サンプル情報|_残りならび],_サンプル情報ならび),
        行表示文字列を構成して(_サンプル情報,_行表示文字列),
        出力する(_行表示文字列),
        _残りならび = [],
        told.

行表示文字列を構成して(_値ならび,_行表示文字列) :- concat_atom(_値ならび,' ',_行表示文字列).

出力する(_行表示文字列) :- write_formatted('%t\n',[_行表示文字列]).