このディレクトリの索引 http://pc12.2ch.net/test/read.cgi/tech/1258158172/890 # [1] 授業単元: プログラミング演習 # [2] 問題文(含コード&リンク): # sinxをテイラー展開しn項目で打ち切ったものについて # xについては0から2πまでの範囲を0.05π刻みでけいさんし、nについてはn=1,2,3,4(すなわち3次、5次、7次、9次までの展開)について計算し # x sinx 3次まで ・・・・・9次まで # 0.0 … # 0.157 … # のような数表を自分で指定したファイルに出力するプログラムを作成しなさい。 # 'sin(X)をテイラー展開'(_ファイル名) :- tell(_ファイル名), テイラー展開(0.0), told. テイラー展開(F) :- F > 2 * pi,!. テイラー展開(F) :- Y is sin(F),write_formatted('%5.3f %8.7f ',[F,Y]),fail. テイラー展開(F) :- for(1,N,4),テイラー展開(sin(F),N,Y),write_formatted('%8.7f ',[Y]),N=4, write('\n'), F2 is F + pi * 0.05, テイラー展開(F2). テイラー展開(sin(X),N,Y) :- findsum(Z,(for(0,M,N),テイラー展開の二(sin(X),M,Z)),Y). テイラー展開の二(sin(X),N,Y) :- U is 2 * N + 1, 階乗(U,U2), Y is (((-1) ^ N) / U2) * (X ^ (2 * N + 1)).