- 51 名前:デフォルトの名無しさん mailto:sage [2010/06/23(水) 12:21:01 ]
- >>46
% Prolog '名前,性別,身長,体重,腹囲(ウエスト)を3人分入力した後, 3名全員について入力 データに加えてBMI値とメタボリック症候群の疑いの判定を表示する' :- '名前,性別,身長,体重,腹囲(ウエスト)を3人分入力'(L), '3名全員について入力データに加えてBMI値とメタボリック症候群の疑いの判定を表示する'(L). '名前,性別,身長,体重,腹囲(ウエスト)を3人分入力'(L) :- findall([_名前,_性別,_身長,_体重,_腹囲],( for(1,N,3), write('名前:'),get_line(_名前), write('性別:'),get_integer(_性別), write('身長:'),get_integer(_身長), write('体重:'),get_integer(_体重), write('腹囲:'),get_integer(_腹囲)), L). '3名全員について入力データに加えてBMI値とメタボリック症候群の疑いの判定を表示する'([]) :- !. '3名全員について入力データに加えてBMI値とメタボリック症候群の疑いの判定を表示する'([[_名前,_性別,_身長,_体重,_腹囲]|R]) :- write_formatted('%t:%t, %t:%t, %t:%t, %t:%t,%t :%t, ',[名前,性別,身長,体重,腹囲,_名前,_性別,_身長,_体重,_腹囲]), _BMI値 = _体重 / ((_身長 / 100) ^ 2), write_formatted('%t:%t, ',['BMI値:',_BMI値]), 診断(_性別,_腹囲,_診断), write_formatted('%t\n',[_診断]), '3名全員について入力データに加えてBMI値とメタボリック症候群の疑いの判定を表示する'(R). 診断(1,_腹囲,メタボリック症候群の疑いがあります) :- _腹囲 >= 85,!. 診断(2,_腹囲,メタボリック症候群の疑いがあります) :- _腹囲 >= 90,!. 診断(_,_,'').
|

|