このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1274827528/92
#  [1] 授業単元:応用プログラム〜C言語講座 
#  [2] 問題文(含コード&リンク):http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10633.txt 
#  
# 身長(cm)と体重(kg)を「ヤードポンド法」に換算するプログラムを作成せよ。 
# ・身長は○フィート○インチと表示すること。
# ・体重は○ポンドと表示すること。
# なお、変換するヤードポンド法は以下の関係である。
# 1ヤード=3フィート=91.44cm
# 1フィート=12インチ=30.48cm
# 1インチ=2.54cm
# 1ポンド=0.45359237kg 


'身長(cm)と体重(kg)を「ヤードポンド法」に換算する'(_身長cm,_体重kg) :-
    身長のヤードポンド法換算(_身長cm,_フィート,_インチ),
    体重のヤードポンド法換算(_体重kg,_ポンド),
    write_formatted('身長は%tフィート%.1fインチ、体重は%.1fポンドです\n',[_身長フィート,_身長インチ,_体重ポンド]),!.

身長のヤードポンド法換算(_身長cm,_フィート,_インチ) :-
    ヤードポンド法変換(フィート,cm,M,N),
    _身長フィート is truncate(floor(_身長 * M / N)),
    ヤードポンド法変換(フィート,インチ,M2,N2),
    _身長インチ is ((_身長 * M / N) - floor(_身長 * M / N)) * N2 / M3,!.

体重のヤードポンド法換算(_体重kg,_体重ポンド) :-
    変換するヤードポンド法の関係(ポンド,kg,M3,N3),
    _体重ポンド is _体重kg * M3 / N3,!.

ヤードポンド法変換(ヤード,フィート,1,3).
ヤードポンド法変換(ヤード,cm,1,91.44).
ヤードポンド法変換(フィート,cm,3,91.44).
ヤードポンド法変換(フィート,インチ,1,12).
ヤードポンド法変換(フィート,cm,1,30.48).
ヤードポンド法変換(インチ,cm,12,30.48).
ヤードポンド法変換(インチ,cm,1,2.54).
ヤードポンド法変換(ポンド,kg,1,0.45359237).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

:- op(200,xf,ヤード).
:- op(200,xf,フィート).
:- op(200,xf,ポンド).
:- op(200,xf,インチ).
:- op(200,xf,cm).
:- op(200,xf,kg).

'身長(cm)と体重(kg)を「ヤードポンド法」に換算する'(_身長cm,_体重kg) :-
        身長のヤードポンド法換算(_身長cm,_フィート,_インチ),
        体重のヤードポンド法換算(_体重kg,_ポンド),
        write_formatted('身長は%tフィート%.1fインチ、体重は%.1fポンドです\n',[_身長フィート,_身長インチ,_体重ポンド]),!.

身長のヤードポンド法換算(_身長cm,_フィート,_インチ) :-
        変換するヤードポンド法の関係(M フィート = N cm),
        _身長フィート is truncate(floor(_身長 * M / N)),
        変換するヤードポンド法の関係(M2 フィート = N2 インチ),
        _身長インチ is ((_身長 * M / N) - floor(_身長 * M / N)) * M2 / N2,!.

体重のヤードポンド法換算(_体重kg,_体重ポンド) :-
        変換するヤードポンド法の関係(M3 ポンド = N3 kg),
        _体重ポンド is _体重kg * M3 / N3,!.

変換するヤードポンド法の関係(1 ヤード = 3 フィート).
変換するヤードポンド法の関係(1 ヤード = 91.44 cm).
変換するヤードポンド法の関係(3 フィート = 91.44 cm).
変換するヤードポンド法の関係(1 フィート = 12 インチ).
変換するヤードポンド法の関係(1 フィート = 30.48 cm).
変換するヤードポンド法の関係(12 インチ = 30.48 cm).
変換するヤードポンド法の関係(1 インチ = 2.54 cm).
変換するヤードポンド法の関係(1 ポンド = 0.45359237 kg).