このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1307166756/296
#  [1] 授業単元: Cプログラミング 
#  [2] 問題文(含コード&リンク): 中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標を ”circle.csv”へ出力せよ。 
#  尚、ラジアンの刻み幅は 0.01 ,π= 3.14 とする。また、csvファイルをExcelで開き、グラフで図形を確認すること。 
#   
#  X=5.0 * Sin(rad) + 1.0 
#  Y=5 * Cos(rad) + 2.5 
#  [ 0 ≦ rad < 2π ] 
#   
#  

'中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標を ”circle.csv”へ出力する'(L) :-
        '中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標'(0.0,L),
        '"circle.csv"へ出力する'(L).

'中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標'(Radian,[]) :-
        Radian >= 2 * pi,!.
'中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標'(Radian,[[X,Y]|R]) :-
        円軌道上の点(Radian,X,Y),
        Radian2 is Radian + 0.1,
        '中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標'(Radian2,R).        

円軌道上の点(Radian,X,Y) :-
        X is 5.0 * sin(Radian) + 1.0,
        Y is 5.0 * cos(Radian) + 2.5,!.

'"circle.csv"へ出力する'(L) :-
        concat_atom(L,',',S),
        open('circle.csv',write,Outstream),
        write(Outstream,S),
        close(Outstream).