|compphys|

● Lesson03 (数値積分 その2, subroutine 副プログラム, 課題 その1)

( のマークは必須!)

● 今週最初にやること


今週の最初へ戻る

● 今週の PROGRAM

前回と同じ問題設定ですが、 subroutine を使ったプログラムを作ってみましょう。

上のプログラムでは、関数 f(x) しか積分出来ません。 いくつかの別の関数を同様のやり方で積分出来るようにしてみましょう。

今週の最初へ戻る


● 今日のポイント

今週の最初へ戻る

● 余裕があれば、試してみて下さい。

Double Exponential 公式を使った変数変換による高精度積分プログラム (prog033.f) (計算実行例)

(参考文献: 森 正武、「FORTRAN77 数値計算プログラミング」 (岩波コンピュータサイエンス))

今週説明し切れないと思いますので、コピーして試して見て下さい。

ap1: cp /www1/s-0007/PRINT/lesson03/prog033.f ./prog033.f
ap1: f90 prog033.f
ap1: a.out
ap1: mule ft.16 &

上記のプログラムの中の subroutine 部分 (prog033s.f)

今週の最初へ戻る


● 課題 その1

問題の 1 (ex031.f) 及び 2 (ex032.f) のプログラムを作り、 メールにて送ること。 Lesson04 の授業(再来週)が始まるまでに、 課題 その1の問題 1 及び 2 のプログラムを作って、
mail Teacher@server s0300xxy < ex03x.f
(ex03x.fのx は、1 か 2 です。) として、プログラムを送って下さい。

今週の最初へ戻る


● プログラムが出来たら、

今週は prog03.f の計算結果をファイルに出力 してみましょう。
ap1 25: f90 prog03.f
f90: compile start : prog03.f

*OFORT90 V01-04-/A 開始
*プログラム名 = PROG03
*プログラム名 = CHUTEN
*プログラム名 = F
*プログラム数 = 0003 , エラーはありません。
ap1 26: a.out > prog03.dat
? 
10 20

"./a.out > ファイル名" とすることにより、(スクリーンで見えていた内容が)ファイルへ出力できます。
(すでにあるファイルには出力できません。一度消すか(rm ファイル名)、 別のファイルに出力して下さい。詳しくはここ を見て下さい。)

ここまで出来れば、 出席の返事の代わりに、

mail Teacher@server s0300xxy < prog03.dat

として、出力したファイルを送って下さい。 (xxy の部分は人によって異なります。)

今週の最初へ戻る