10/07/07 07:52:13
>>269
% Prolog Q2
:- 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 は _式,_値 is truncate(floor(_値_1 + 0.5)),!.
_値 は _式 :- _値 is _式.