このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 157代目 #662 # [2]ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。 # ただし、年齢が5の倍数の場合は500円の血液検査が追加される。 # また、40歳以上60歳未満は300円の腹囲測定が追加される。 # 年齢を入力すると受診料を表示するプログラムを作成せよ。 # 入力される数値として非負整数値に対応すること。 # [3.1]os windows7/vista # [3.3]c/c++ # [4]期限:2012年5月28 # お願いします。 # 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。ただし、年齢が5の倍数の場合は500円の血液検査が追加される。また、40歳以上60歳未満は300円の腹囲測定が追加される。年齢を入力すると受診料を表示するプログラムを作成せよ。入力される数値として非負整数値に対応すること。' :- 年齢を入力する(_年齢), 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。ただし、年齢が5の倍数の場合は500円の血液検査が追加される。また、40歳以上60歳未満は300円の腹囲測定が追加される。年齢を入力すると受診料を表示するプログラムを作成せよ。入力される数値として非負整数値に対応すること。'(_年齢). 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。ただし、年齢が5の倍数の場合は500円の血液検査が追加される。また、40歳以上60歳未満は300円の腹囲測定が追加される。年齢を入力すると受診料を表示するプログラムを作成せよ。入力される数値として非負整数値に対応すること。'(_年齢) :- 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。'(_年齢,_健康診断の受診料), 'ただし、年齢が5の倍数の場合は500円の血液検査が追加される。また、40歳以上60歳未満は300円の腹囲測定が追加される。'(_年齢,_健康診断の受診料,_血液検査料金,_腹囲測定料金,_追加された健康診断の受診料), 受診料を表示する(_年齢,_健康診断の受診料,_血液検査料金,_腹囲測定料金,_追加された健康診断の受診料). 年齢を入力する(_年齢) :- 整数を得る('年齢を入力して下さい : ',_年齢 >= 0,_年齢). 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。'(_年齢,_健康診断の受診料) :- '20歳未満および65歳以上は1000円、'(_年齢,_健康診断の受診料),!. 'ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。'(_年齢,_健康診断の受診料) :- 'それ以外は1500円である。'(_年齢,_健康診断の受診料). '20歳未満および65歳以上は1000円、'(_年齢,1000) :- '20歳未満および65歳以上'(_年齢). '20歳未満および65歳以上'(_年齢) :- _年齢 < 20. '20歳未満および65歳以上'(_年齢) :- _年齢 >= 65. 'それ以外は1500円である。'(_年齢,1500) :- \+('20歳未満および65歳以上'(_年齢)). 'ただし、年齢が5の倍数の場合は500円の血液検査が追加される。また、40歳以上60歳未満は300円の腹囲測定が追加される。'(_年齢,_健康診断の受診料,_血液検査料金,_腹囲測定料金,_追加された健康診断の受診料) :- '年齢が5の倍数の場合は500円の血液検査が追加される。'(_年齢,_健康診断の受診料,_血液検査料金,_健康診断の受診料_1), '40歳以上60歳未満は300円の腹囲測定が追加される。'(_年齢,_健康診断の受診料_1,_腹囲測定料金,_追加された健康診断の受診料). '年齢が5の倍数の場合は500円の血液検査が追加される。'(_年齢,_健康診断の受診料,500,_健康診断の受診料_1) :- 年齢が5の倍数の場合は(_年齢), _健康診断の受診料_1 is _健康診断の受診料 + 500,!. '年齢が5の倍数の場合は500円の血液検査が追加される。'(_年齢,_健康診断の受診料,0,_健康診断の受診料). 年齢が5の倍数の場合は(_年齢) :- 0 is _年齢 mod 5. '40歳以上60歳未満は300円の腹囲測定が追加される。'(_年齢,_健康診断の受診料_1,300,_追加された健康診断の受診料) :- '40歳以上60歳未満'(_年齢), _追加された健康診断の受診料 is _健康診断の受診料_1 + 300,!. '40歳以上60歳未満は300円の腹囲測定が追加される。'(_年齢,_健康診断の受診料,0,_健康診断の受診料). '40歳以上60歳未満'(_年齢) :- _年齢 >= 40, _年齢 < 60. 受診料を表示する(_年齢,_健康診断の受診料,_血液検査料金,_腹囲測定料金,_追加された健康診断の受診料) :- writef('年齢は=%w歳,健康診断の受診料=%w,血液検査料金=%w円,腹囲測定料金=%w円,追加された健康診断の受診料は%w円です\n',[_年齢,_健康診断の受診料,_血液検査料金,_腹囲測定料金,_追加された健康診断の受診料]). 整数を得る(_催促表示文字列,_検査目標,_整数) :- 整数を得たら検査目標充足するか検査する(_催促表示文字列,_検査目標,_整数). 整数を得る(_催促表示文字列,_検査目標,_整数) :- 整数を得る(_催促表示文字列,_検査目標,_整数). 整数を得たら検査目標充足するか検査する(_催促表示文字列,_検査目標,_整数) :- 催促表示後に行入力(_催促表示文字列,_行), 整数入力検査(_行,_整数), 目標検査(_検査目標),!. 催促表示後に行入力(_催促表示文字列,_行) :- writef('%w',[_催促表示文字列]), 行入力(_行). 整数入力検査(_行,_整数) :- read_term_from_atom(_行,_整数,[]), integer(_整数),!. 整数入力検査(_行,_整数) :- writef('入力された文字列%wからは整数が得られません。再入力をお願いします。\n',[_行]), fail. 目標検査(_目標) :- call(_目標),!. 目標検査(_目標) :- writef('指定された目標 %t を充足できません。再入力をお願いします。\n',[_目標]), fail. 行入力(_行) :- read_line_to_codes(current_input,Codes), atom_codes(_行,Codes).