このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1294061094/235
#  [1] 授業単元:プログラミング演習  
#  [2] 問題文(含コード&リンク) 
#  関数の定義と呼出しに慣れるために、下記の3つの関数を定義ならびにmain関数からその関数の呼出を行うプログラ  
#  ムを作成しなさい。関数内で行う処理ならびにmain関数で行う処理はプログラム例を参考に、実行例と同じ結果が出  
#  力されるように考えてください。 
#  <定義する関数>  
#  minof関数 ・・・引数として受け取った2つの整数n1とn2のうち、小さいほうの値を戻り値として返す。  
#  print_hello関数 ・・・関数内で入力された名前xxxを用い、「こんにちは、xxxさん!」と表示する。  
#  put_stars関数 ・・・引数として受け取った整数noを使用して、*をno個連続表示する。  
#   
#  <実行結果>  
#  名前を教えて下さい:Taro  
#  こんにちは、Taroさん  
#  整数を2つ入力してください  
#  (小さい方の値の数だけ * を表示します)  
#  num1 = 20  
#  num2 = 15  
#  小さい方の値は15ですね。  
#  それでは * を15個表示します。  
#  ***************  
#   
#    

program :-
        write('名前を教えて下さい:'),
        get_line(Line),
        print_hello(Line),
        write('整数を2つ入力してください \n'),
        write('(小さい方の値の数だけ * を表示します) \n'),
        write('num1 = '),
        get_integer(_num1),
        write('num2 = '),
        get_integer(_num2),
        minof(_num1,_num2,_小さい方の値),
        write_formatted('小さい方の値は%tですね\n',[_小さい方の値]),
        put_starts(_小さい方の値).

minof(_値1,_値2,_値1) :- _値1 < _値2,!.
minof(_値1,_値2,_値2).

print_hello(_名前) :-
        write_formatted('こんにちは、%tさん\n',[_名前]).

put_stars(_数) :-
        for(1,N,_数),
        write(*),
        N = _数,
        write('\n').