このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1325685876/204
#  [1] 授業単元:計算機アルゴリズム  
#  [2] 問題文(含コード&リンク):  
#  ttp://www.dotup.org/uploda/www.dotup.org2509145.txt.html  
#   
#  
#  設問1
#  構造体を使って、各自の所有している本のうち5点を textbook[5] で宣言せよ。
#  メンバーは少なくとも次のものを含んでいるとする。それぞれのメンバーの型は各自で決めること。
#  
#  ・著者 ・書名 ・出版社 ・発行年 ・定価
#  
#  設問1-1
#  次の(?)、(?)の機能をもった1つのプログラムを作成せよ。
#  (?)5冊の本のメンバーをすべて書き出す機能
#  (?)5冊の本の定価の合計を求める機能
#  
#  但し、あらかじめプログラム「メモ帳」等で作成したファイル「info.txt」から、
#  著者、書名、出版社、発行年、定価を読み込むものとする。
#  ファイル「info.txt」には下記のように著者、書名、出版社、発行年、定価が
#  記述されているものとする。
#  
#  ファイル「info.txt」の記述例:
#  森泰親 制御工学(大学講義シリーズ) コロナ社 2001 2800
#  木村英紀 制御工学の考え方(ブルーバックス) 講談社 2002 880
#  …
#  
#  ファイルinfo.txt
#  ttp://www.dotup.org/uploda/www.dotup.org2509138.txt.html
#  

'各自の所有している本のうち5点をで宣言する' :-
        get_split_lines('info.txt',[' '],LL),
        append(_,[[_著者,_書名,_出版社,_発行年,_定価]|R],LL),
        assertz(本(_著者,_書名,_出版社,_発行年,_定価)),
        R = [].

'5冊の本のメンバーをすべて書き出す' :-
        本(_著者,_書名,_出版社,_発行年,_定価),
        writef('%t %t %t %t %t\n',[_著者,_書名,_出版社,_発行年,_定価]),
        fail.
'5冊の本のメンバーをすべて書き出す'.

'5冊の本の定価の合計を求める' :-
        findsum(_定価,(
                    本(_著者,_書名,_出版社,_発行年,_定価)),
                _定価の合計),
        writef('定価の合計は %t です\n',[_定価の合計]).