このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1276810079/595
#  [1] 授業単元:プログラミング演習 
#  Q1. 問題文:4つの整数を入力し、それらを要素とする行列を求め、その値を以下のような 
#  形式で表示するプログラムを作成せよ。 
#   
#  例 100 20 30 40と入力すれば 
#    | 100 20 | =3400 
#      |  30 40 |          と表示される 
#   
#  Q.2ディスカウントストアでどの商品でも5個以上買えば1割引、10個以上で2割引、20個以上で 
#  4割引となっていた。キーボードから買う商品の単価と個数を入力し、合計金額を計算するプログラミングを 
#  作成せよ。 
#   

:- op(700,xfx,は).

'ディスカウントストアでどの商品でも5個以上買えば1割引、10個以上で2割引、20個以上で4割引となっていた。キーボードから買う商品の単価と個数を入力し、合計金額を計算する' :-
        write('商品単価と個数を入力してください : '),
        get_split_line([' ',','],[_単価,_個数]),
        合計金額を計算する(_単価,_個数,_合計金額).

合計金額を計算する(_単価,_個数,_合計金額) :-
        abs(_個数) < 5,
        _合計金額 は 四捨五入(_単価 * _個数).
合計金額を計算する(_単価,_個数,_合計金額) :-
        abs(_個数) >= 5,abs(_個数) < 10,
        _合計金額 は 四捨五入(_単価 * _個数 * (1-0.1)).
合計金額を計算する(_単価,_個数,_合計金額) :-
        abs(_個数) >= 10,abs(_個数) < 20,
        _合計金額 は 四捨五入(_単価 * _個数 * (1-0.2)).
合計金額を計算する(_単価,_個数,_合計金額) :-
        abs(_個数) >= 20,
        _合計金額 は 四捨五入(_単価 * _個数 * (1-0.4)).

_値 は 四捨五入(_式) :-
        _値_1 は _式,
        _値_1 >= 0.0,
        _値 is truncate(floor(_値_1 + 0.5)),!.
_値 は 四捨五入(_式) :-
        _値_1 は _式,
        _値_1 < 0.0,
        _値 is truncate(ceiling(_値_1 - 0.5)),!.
_値 は _式 :-
        _値 is _式.