|compphys|
先週(Lesson03 (その2))のメールに対する返事
Fortran の文法に対する質問
- Q:
行の一番始めにある「c」の意味はなんですか?
- A:
コメント行です。プログラムの実行上は何の意味もありませんが、
見やすくするためのコメントをそのあとに書けます。
- Q:
external 文というのはどういうことをしているんでしょうか。
もし external FUNC
と指定しないで、
call hogehoge(FUNC,a,b)
などとサブルーチンを呼び出しても、hogehogeサブルーチン内で FUNC(x) とか () でく\
くって引数を明示して
関数だということを示しておけばコンパイラは理解できると思うんですが。
- A:
確かにその通りですが、文法上宣言せよ、というのが規則なので
しょうがありません。例に external を外してみて下さい。
動きません。
- Q:
僕はプログラムを作ってもよくエラーしてしまうのですが、
そのときエラーレベルという言葉が出てきます。これは何なのでしょうか。
- A:
どの程度 error が深刻かを示しています。
軽ーい error (値を与えているのにあとで使っていない、など)
なら見逃してくれます(プログラムは動きます)。
- Q:
サブルーチンって何ですか?
- A:
ひとまとまりの仕事をする「ユニット」といえば
分かりやすいですかね。
例えば、mule の中で C-x C-f とすればファイル名を尋ねて
ファイルを開くようになっていますが、
あれも一つの「subroutine」が行っています。
(実際には lisp や c で書かれているので subroutine とは呼びませんが。)
- Q:
コンピューター言語が、それぞれ何を表しているのかわかりません。
- A:
それぞれの行で行っていることを理解するよう心がけて下さい。
分からなかったら尋ねて下さい。
プログラムの中身に対する質問
- Q:
今日のプログラムは非常に難しかった。
どうして、hmax,tmaxをあらかじめ決めておくのですか?
また、infinityの部分は、どのように扱っているのかわからなかった。
- Q:
Double Exponentialの公式が講義の説明を聞いてもいまいちよくわからなかったです。
プログラムがわからないと言うより数学的な部分が理解できませんでした。
[a,b]→[-∞,∞]としたときの変数変換?がわからないです。
- A:
hmax, tmax=4.7 というのは、
コンピュータの上でこの値だと実質上∞とみなせるからです。
(重率に 1/cosh(pi/2*sinh(t))**2 が掛かるから。)
- Q:
また、このプログラムではnを決めていないような気がします。
- A:
main routine (最初の部分) で DO n=5,50,5 という形で n を変えています。
- Q:
ex03*のプログラムで中点公式の誤差の評価方法であるerr/dx/dx はシンプソン公式、
台形公式では通用しないことがわかった。
- A:
その通りです。よく見付けましたね。
- Q:
質問・・・台形公式とシンプソンの公式とではどうして誤差の値が
あのように違うのですか?
- A:
誤差をなるだけ打ち消すようにしたのがシンプソン公式です。
ですから(滑らかな関数であれば)小さくなるのは当然ですね。
- Q:
Shimpsonの誤差はどのようにして求めるのですか?
- Q:
出席でございます。
感想は、シンプソンの誤差が分からず参りました。
もう少し考えてから改めてメールで送ります。
- Q:
誤差など数学的なことを詳しく講義してほしいです。
またはプリントを配ってほしいです。
今回の課題は誤差にかなり苦労しました。
- A:
区間の中で 4 次関数まで考えてみて下さい。
感想
-
テキストを見ながらやるのは簡単ですが、いざ自分でやるとなると、難しいです。
-
台形法で積分のプログラムを作りました。
非常に苦労したが最終的に完成したので良かったです。。
やっぱりプログラムは難しいと思います。前例があるから何とかやっているけど、
何もないところから
プログラムを組むのはかなり困難になるだろうと思いました。
-
テキストを見ながらやるのは簡単ですが、いざ自分でやるとなると、難しいです。
- A:
そうだから、教える側からみれば、
学生が「自分で書ける」ところまで
分かっているかどうか (分かるように説明できているかどうか) の
よい判断材料となるのです。
-
文字を打つのがおそくて時間がかかってしまうのがやっかいです。
エラーもしょっちゅうなので正確に打てるようになりたいです。
- A:
タイピング・ソフトで練習しましょう。
-
我思ふ、「今日の課題は非常に難しい。値があわなすぎる!!」
時、無常にも流れぬ。その後、我『かわや』に向かい、用を足しつつ思ふ。
「ルートXぶんのいちとルートエックスを間違えはべりぬ!!!!!」
さりとてあらぬやは!!!この世は無常なりけり。
- A:
大体において探すのに苦労した error がみつかるのは
そんなときです。
-
プログラムは書けたっぽいんですけど、正直意味はあんまりわかってないです。
まずいです。
-
プログラムの意味がなかなか理解できなくて大変です。
- A:
課題の2はもっと難しいです。
今の内にキチンと分かっておきましょう。
-
教室がとても暑いです!!!!!
- A:
窓を明けるようにします。
-
11/9 出席しています。 f(x)は指定されていなかったので、
f1(x)=1.0d0/sqrt(x) にしました。
-
シンプソン公式を応用したプログラムを書きました。
-
課題の問題2をやったんですが、とても難しかったです。
-
だんだん難しくなってきました。
-
課題はなぞに満ちていて理解不能だった
-
非常にしんどい宿題でした。内容はいまいち分からなかったですが、結果を送ります。
-
Lesson3の課題まで終わりました。
- A:
お疲れ様。
-
授業に出席しました。いつも何かしら問題が起こるのですが、今日は
いつにもまして問題が発生しました・・・
書きはじめや'enddo'の空欄がとても大事なことを思い知りました。
今日の課題はいろんな意味で手強かったです。
- A:
最初の 6 つの空白は必要です。文法上の約束なので、
守って下さい。
-
特にプログラムに関してわからないことはなかった。
感想も特にありません。
- A:
OK
-
今までいまいち面白いとは、思えなかったが。今日、面白いと感じた。
- A:
うーん、私がいなくて TA の人に任せたときに初めて面白いと
感じたというのは、嬉しいやら悲しいやら複雑な気持ですね。
-
プログラムはややこしい上に、将来使いこなせるようになる気がしません。
教職免許を得るために必要な科目とされているので
履修していますが、実際のところは教師をやっていく上で
プログラムの技術が必要になることってあるのでしょうか?
まぁ、習得しておいて損になることは無いとは思いますが・・・
- A:
確かに現段階で、「教職免許を取る」、
あるいは「教師になる」ためには数値計算は必ずしも必要ないと思います。
しかし 10 年後によい教育を行う上では、
必要ではないでしょうか ?
例えばプリントをつくって、正しい縮尺のグラフを載せたいと思えば、
数値計算が必要になることが多々あります。
また、「教科書にのってはいないけれども、先生が数値計算して
みるとこんな風になったよ」というのは生徒の信頼を勝ち取る上では
ちょっと強力な方法です。
さらに、今から教師になる人はおそらく学校の計算機の管理の一部を
任される可能性が高いと思います。
Windows と Unix (or Linux) の知識をもっておくのは
後々役に立つと思います。
AKIRA OHNISHI