このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1325685876/536
#  [1] 授業単元:C言語演習  
#  [2] 問題文(含コード&リンク):  
#  for文を使用して次のプログラムを作れ。  
#  無限ループfor(;;)や goto文,配列は使用しない。 
#    
#  関数f(x,y)=xy^2の値を求め,その値を表形式で表示するプログラムを作成しなさい。 
#  0≦x≦2、0≦y≦2の範囲において,それぞれxとyを 0.2刻みで計算しなさい。 
#  ただし,以下に示したように,桁を揃えて 小数第3位まで表示しなさい。 
#        x y         0.000         0.200         …         2.000 
#        0.0         0.000         0.000         …         0.000 
#        0.2         0.000         0.008         …         0.800 
#        :          :           :          …          : 
#        2.0         0.000         0.080         …         8.000 
#   
#  

f(X,Y,Z) :-
        Z is X * Y ^ 2.

'関数f(x,y)=xy^2の値を求め,その値を表形式で表示する' :-
        見出し表示,
        for(0,M,10),
        X is 0.2 * M,
        一行表示(X),
        M = 10.

一行表示(X) :-
        format('~3f    ',[X]),
        for(0,N,10),
        関数値の表示(N),
        N = 10,
        nl.

関数値の表示(N) :-
        Y is 0.2 * N,
        f(X,Y,Z),
        format('~3f    ',[Z]).

見出し表示 :-
        write('%7c',[xy]),
        for(0,N,10),
        format('~3f    ',[0.2 * N]),
        N = 10,
        nl.