このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1294061094/39
#  1] 授業単元:プログラミングC 
#  [2] 問題文:「90min = 1h30m」を関数を使って表せ 分から時間へは関数mtohをつかう。 
#  

:- op(450,xfx,時間).
:- op(250,xf,分).
:- op(450,xfx,h).
:- op(250,xf,min).
:- op(250,xf,m).

時間分変換(_分_1 分 = _時 時 _分_2 分) :-
        var(_分_1),
        _分_1 is _時 * 60 + _分_2,!.

時間分変換(_分_1 分 = _時 時間 _分_2 分) :-
        integer(_分_1),
        _時 is _分_1 // 60,
        _分_2 is _分_1 mod 60.

mtoh(_分_1 min = _時 h _分_2 m) :-
        var(_分_1),
        _分_1 is _時 * 60 + _分_2,!.

mtoh(_分_1 min = _時 h _分_2 m) :-
        integer(_分_1),
        _時 is _分_1 // 60,
        _分_2 is _分_1 mod 60.

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

?- 時間分変換(132 分 = X 時間 Y 分).

X = 2,
Y = 12.
yes.
?- 時間分変換(_分 分 = 3 時間 40 分).

_分 = 220.
yes.
?-