このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1308749241/897
#  [1] 授業単元: プログラム演習  
#  [2] 問題文(含コード&リンク):  
#  次の表のデータを構造体(shouhin)に格納して、商品コードを入力し、 
#  該当する商品が見つかった場合には、その商品のコード、商品名、価格、販売数、販売額(価格×販売数)を 
#  実行結果のように表示するプログラムを作成せよ。 
#  なお、該当する商品があ見つからなかった場合のみ「見つかりませんでした」と表示してプログラムを終了する 
#   
#  ┏━━━━━━┯━━━━━━━━┯━━━━━┯━━━━━┓ 
#  ┃商品コード     │商品名          │価格      │販売数    ┃ 
#  ┃code        │name          │price       │number      ┃ 
#  ┃            │                │          │          ┃ 
#  ┃fm1       │フラッシュメモリ     │1500      │27        ┃ 
#  ┃hu2            │ハブ          │23000        │8            ┃ 
#  ┃mo3          │マウス           │2560      │12        ┃ 
#  ┗━━━━━━┷━━━━━━━━┷━━━━━┷━━━━━┛ 
#   
#  [実行結果] 
#  商品コードを入力:hu2(キーボードからの入力) 
#  商品コード 商品名 価格   販売数 販売額 
#  ---------------------------------------------- 
#  hu2         ハブ    23000   8       184000 
#   
#  

'商品コードを入力し、該当する商品が見つかった場合には、その商品のコード、商品名、価格、販売数、販売額(価格×販売数)を実行結果のように表示する。該当する商品が見つからなかった場合のみ「見つかりませんでした」と表示して終了する' :-
        商品コードを入力し(_商品コード),
        write('商品コードを入力: '),
        get_line(_商品コード),
        '該当する商品が見つかった場合には、その商品のコード、商品名、価格、販売数、販売額(価格×販売数)を実行結果のように表示する。該当する商品が見つからなかった場合のみ「見つかりませんでした」と表示して終了する'(__商品コード).

'該当する商品が見つかった場合には、その商品のコード、商品名、価格、販売数、販売額(価格×販売数)を実行結果のように表示する。該当する商品が見つからなかった場合のみ「見つかりませんでした」と表示して終了する'(_商品コード) :-
        findall([_商品コード,_商品名,_価格,_販売数,_販売額],(
                    商品(_商品コード,_商品名,_価格,_販売数),
                    _販売額 is _価格 * _販売数),
                _商品売上ならび),
        \+(_商品売上ならび=[]),
        write('商品コード     商品名     価格   販売数     販売額\n'),
        write('----------------------------------------------------------\n'),
        append(_,[[_商品コード,_商品名,_価格,_販売数,_販売額]|R],_商品売上ならび),
        writef('%8r %10r %8r %8r %10r\n',[_商品コード,_商品名,_価格,_販売数,_販売額]),
        R = [],!.
'該当する商品が見つかった場合には、その商品のコード、商品名、価格、販売数、販売額(価格×販売数)を実行結果のように表示する。該当する商品が見つからなかった場合のみ「見つかりませんでした」と表示して終了する'(_商品コード) :-
        write('見つかりませんでした\n').

yes. ?-