数値解析法, 2005 年, Fortran 入門編, 課題 (レポート) 提出状況
課題:
- 章末に練習問題があります。これにしたがってプログラムを作成してください。
- もしも必要ならば, これ を使ってもいいですよ。
- 作成した, ソースファイル と 実行結果 と *説明の文章* とをメールで提出してください。三つ目が肝心ですよ。
- 最終締切前であれば, いったん提出したものであっても修正版 (アップグレード版) を提出することができます。
- 最終締切は, 7 月 8 日, 12:00 とします。(メールの発信時刻で判断します)
- 課題提出に関する異議は 7 月 22 日 まで受け付けます。
質問などがあれば, いつでもどうぞ。
ヒントかも ...... 多くの人がツマヅイテルよ, ヤレヤレ
- 実行結果
- この言葉の意味が分かっていない人が多そうだ。答えの数値だけをポツンと
書けば良いということじゃないよ。プログラムから○○と出力され, それに対して
人が○○と入力し, それに対してプログラムが○○と応答し, ... っていう,
「あなたが作ったプログラムが動作している様子の全て」ってことだよ。
- 単純な初等関数
- 二つ目の問題では, 関数の数表を計算して出力するわけだが, 単純な初等関数
じゃあちょっとね, って 2005-06-24 の h03s2045 で回答してるんだけど, 見てる人は
いないのかなぁ。
- 説明の文章
- いくらメールで提出するといってもレポートなんだからさ, 報告書には盛り込む
べきものがあるでしょ。それを「五行目は○○を実行します」なんて言われても,
そんなことプログラムを見れば分かりますってば。Fortran 語を日本語に逐次翻訳する
ことが報告書に求められていることじゃないでしょうにね。
- float
- Fortran の正式の組み込み関数ではありませんね。でも g77 では使えてしまう
らしい。用意した資料中では説明していなかったのに, 使っている人が数人いるよう
です。Fortran77 からの拡張としては, g77 で動けば許すと資料でも言っていたので
これも認めますが, 組み込み関数の範囲でどうすれば良いかは, ちゃんと文法書を見て
ください。
提出状況とコメント
学籍番号ごとに, 提出されたプログラムの名称と提出日のあとに,
辛口かもしれないちょっとしたコメント (たぶん激辛) が書いてあります。
プログラム自体はここに載せません。
他人に付いたコメントが参考になるかもしれません。
いずれにしても, コメントを参考にするかどうかは, 自分で考えて決めてください。
日付の末尾にアルファベットがついている場合, その日の到着順を示しています。
(26 人以上が同日に提出してきたらどうしよう ... ? (笑))
- h03s2001
- pro21.f (20050707h): 暗黙の型宣言をしていない理由が, 説明文に書かれて
いるんだけど, その意味が全く理解できません。どうして型宣言していないとデータの
No を読み込まないことができるのでしょうか ? プログラム自体は, コンパクトに
まとまっていて, 特に瑕疵はなさそうです。ああ, 標準偏差や平均を求めるときに,
データ数を 23.0 と実数で書いているのは, 少しだけ違和感がありますが。だって
データ数って自然数でしょ, フツー。計算の論理には関係ないので, いいんだけどね。
あと説明文で, 「転校生〜」っていうのは, チョット面白かった。それから, 計算結果
の正当性は read 文の有無で結果が同じだから, というのでは全く理由になって
いないよ。
- pro22.f (20050707h): 実行結果で 90 度の時に関数の値がピッタリゼロになら
ないことに気付いているのは良いけど, 何が原因でこうなっちゃったのかな ? 考えて
みましょう。ちなみに, せっかくの変数の精度が, 計算結果出力時に活かされて
いないね。
- h03s2002
- cima2.f (20050708o): そうですか, これにも不備があって動きませんか。動か
ないんじゃなくって, そもそもエラーが出てコンパイルできないんですけどっ !
なお, このメールの日付と時刻は「Fri, 08 Jul 2005 12:08:35 +0900」でした。
- cima1.f (20050708i): そうですか, 起動しませんでしたか。プログラムは意図
したとおりに動くのではなく, 書かれたとおりに動く (動かない) ということですね。
したがって, つもりのことを説明文で述べても, 実際のプログラムの動作とは異なる
のだから, 意味ナシですよ。ちなみに, 起動しないのではなくって, コンパイルの
エラーでコンパイルできない, ですね。Fortran のプログラムの構成とか文法とかを,
もう一度おさらいする必要がありそうですね。
- h03s2003
- problem2-1.f (20050707n): ええとね, 計算結果が異なるという点を除いて,
h03s2024 の problem2-1.f と形式がおなじなんですけど ...。まあコメント行を入れて
処理内容ごとに区切って, プログラムを見やすくしたのはいいんだけどね。
- problem2-2.f (20050707n): ちょっと普通には見ない関数の値を計算しようって
いう挑戦はいいんだけどね。まず, 似た処理が複数出てくるのが誤りの元だね。次に,
場合分けして符号を付け変えてるけど, そんなに簡単に場合分け出来ないときには
どうする ? ていうか, ちゃんと Fortran の文法書を見ろよ。ところで, 計算した
関数って, どんな意味があるの ?
- h03s2004
- problem1.f, problem2.f (20050711): プログラムは, 前のものと同じですね。
説明の文書は Word のファイルを添付してくれたので, 今度は読めました。ただし,
改行位置がおかしいせいか, とても読みにくい文書になっています。そもそも
レポートというのは ... (以下省略)。なお, 実行例とか付いていません。またせっかく
出し直してるのに, 下記のコメントに対応するプログラムの修正などは無いんだね。
そうそう, problem2.f の説明で, 「(このプログラムは) ○○となるらしく, 実際に
やってみると (そうなった)」という主旨の事が書いてある。ある意味で正直なのかも
しれないけど, これって自分で自力で作ったプログラムじゃないことを白状してる
よね (笑)。もちろん「△△について改良した」とはあるけどさ, でもその改良の
正当性 (その数値の根拠とか普遍性とか) についての説明がないね。
なお, このメールの日付と時刻は「Mon, 11 Jul 2005 17:36:20 +0900」でした。
- problem1.f, problem2.f (20050708p): プログラムは, 前のものと同じですね。
でもメールの本文は, あいかわらず文字化けしていますってば。転送したってダメ。
きっと, メールソフトの設定がおかしいんだから, そこを直さなくちゃ。そういう
トラブルを起こしにくいはずだと思っていたんだけどね, AL-Mail って。
なお, このメールの日付と時刻は「Fri, 08 Jul 2005 14:22:43 +0900」でした。
- problem1.f (20050707t): メールの本文が文字化けしてるって, 前から言ってる
のに, 直してくれないんですね。おかげであなたのレポートを読むことができません。
それで良いんですね ? さてプログラムですが, 暗黙の型宣言を使っている, 標準偏差の
計算式が課題で与えた式と違う, などということ以外では, これではデータファイルを
読めないよねっていうところが期待はずれって所でしょうか。
- problem2.f (20050707t): はっはっは。キャラクタで絵を描こうっていう試みは
わかるけど, 課題の題意を理解していないと思われます。努力の方向性が違うよ。
- h03s2005
- r12.f (20050707f): ふうん, ここでもまた算術 if 文か。どうしてみなさんは,
使うなというモノを使いたがるんだろうな ? わざわざ使うことで, わかりやすくなり
ますかぁ ?? そうは思えないんだけどなぁ。それ以外は, 特に瑕疵はなさそうです。
- r13.f (20050707f): えっと, ごく普通のプログラムです。特別なコメント無し。
- h03s2007
- program2.1.f (20050708a): プログラムには変化なしか。説明文は ......
下記に同じ。この web ページの冒頭のヒントの所に書いたのに, はぁ。
- program2.1.f (20050707v): プログラムは, 先に提出されたものと同一ですね。
説明文が違うのかな ...... 本質的には何も変わっていないじゃん。やっぱり「説明の
文章」ってことの意味がわかっていないみたいだね。
- program2.1.f (20050707q): ほう。h03s2030 の rensyuu3.f と, プログラム名
以外は全く同一です。なぜでしょうね ? おまけに, 説明だと主張している文書の,
いったいどこが説明の文章だと言うのでしょうか ?
- h03s2008
- problem2_1.f (20050706a): えっとまず, 説明の文章を pdf ファイルにして
くれたのはコンピュータ環境に配慮してくれていいんだけど, あの内容じゃあ
plane text で充分ですね。ファイルからデータを読み込みつつ, 最大値・最小値・合計
を計算している点が, これまでの他の人のプログラムと比べて特徴的である。そして,
プログラムもキレイにできてるんだけど, 残念ながらバグがあって正しく計算して
くれない。それはさておき, インデックス i の扱いが微妙。データを読み込みながらの
処理なので, 半端なところから始まって足したり引いたり ... 一見して意味が分から
なかった (ちょっと考えれば分かったけどね)。もう一点, goto 文 (データ入力時の
エラー処理も含む) がはびこっていて, 論理の筋を追うのがちょっと困難。
まあ普通のスパゲッティ・プログラムでしょうか。
おまけに, ファイル名が最大 10 文字というのには, ちょっとハマりました。
ということで, 外部入出力と計算部分は分離する, goto は (なるべく) 例外処理だけに
する, というのが将来的には好ましいかと思われます。
最後に, プログラムの論理とは関係ないけど, 出力されるメッセージの英文ですが,
もうちょっと努力が必要かと思われます ;-)
- problem2_2.f (20050706a): おおすばらしい, このレポートは力作ですね。
ちゃんと数通りの実行例と, そのグラフまでついている。でもこれらのグラフは,
自然科学系グラフのお作法を守っていない点がある, 残念っ !!
わかりやすいメインルーチンになっていますが, ここで計算している関数 f() が
計算に手間隙のかかるものの場合, 画面出力用とファイル出力用との二度呼んでいる
のは ちょっと無駄ですね, 残念。で, この関数の中で, 場合分けしつつ計算している
わけなんだけど, if 文のネスティングが悩ましいね。結果が間違ってる訳じゃないん
だけど, 論理の表現としては微妙です, 残念。それから, 同じような項が何度も
出てきて, すなわち何度も計算している。書き間違う可能性や実行時の無駄などにも
配慮すると, もっと良くなると思われます。
- h03s2009
- problem2-1.f (20050708f): 説明は, 必要なところを踏まえつつも簡潔で, 良い
ですね。一方プログラムでは, お約束の枠組みと, 暗黙の型宣言が有効であること
などが, 少し好ましくありません。でもそれ以外は, まあわかりやすくできてるんじゃ
ないのかな。
- problem2-2.f (20050708f): こちらの説明文は, 簡潔すぎて不充分です。おまけに
「piをπでかこむ」の文の意味がわかりません。しかしプログラムでは, 上記と同じ
欠点を持っています。また, 一方でこの計算機で扱える限り正確なπの値を使う冴えを
見せているにもかかわらず, それを精度の悪い変数に代入してせっかくの精度を無駄に
したり, 計算している関数の引数には誤差が貯まりやすかったりと, 杜撰なところも
あったりして。なんか不思議な感じですね。ところで, 計算しているその関数の,
意味はなんでしょうか ?
- h03s2012
- pb21 (20050708r): この様なデータの取り扱いでは, プログラムにしたメリットが
非常に薄いです。プログラム内容については, 最大値と最小値を求めていません。
課題の題意を満たしていないということです。計算結果について, 分散の結果が
おかしいことに気付いてはいるようですね, 原因はわかりませんか, そうですか。
実は平均値が正しそうな値に求まったのは偶然なのですよ。このプログラムには,
そういう欠陥があります。
- pb22 (20050708r): ふうん, 何についての計算かの説明がやや不足しています。
ちなみに出力は数値の表ではありませんので, 微妙に課題の題意を満たしていません。
残念でした。
なお, このメールの日付と時刻は「Fri, 08 Jul 2005 17:41:56 +0900」でした。
- h03s2017
- pr2.f (20050712): うん, 確かに今度はエラー無くコンパイルできて, 数値の表を
出力するように動作するね。でね, プログラム的には特に瑕疵はないんだけど,
やってる計算の意味がよくわからんです。だってあの計算式じゃあ, 解析的な式の
変形のレベルで, v(i) が i に依存せずに一定になることは明らかでしょ。
だから数値計算してグラフを描き, 関数の形を図示してみる意味が, ほとんど無い。
なお, このメールの日付と時刻は「Tue, 12 Jul 2005 12:16:35 +0900」でした。
- pr1.f~ (20050708l): 説明文が, なかなかどうして, 独特の言葉使いですね。
「使う文字の型」「データ総数の和」「二乗同士の和」「ロード画面」など。こんな
所でオリジナリティーを出さなくっても良いのに。プログラム自体は, 適宜空白行や
インデントなどにより, 見やすく書かれています。ただし, 最大値と最小値を求める
手順が, これまた独特で一般性のない方法ですね。あえて言えば, 最大値がいくつ
なのか, あらかじめ答えがわかっていて, それを表示しているだけなのでは ?
- pr2.f~ (20050708l): 何か一所懸命に説明しているらしいのだけど, わかりにくい
ですね。プログラムと照らし合わせながら読んでも, ちっとも理解できません。
そもそもプログラムをコンパイルすると, エラーの山です。実行結果についての記述が
説明文に少しありますが, 具体的にどうなったのか示されていないのも, ゆえなしとは
言えないということですか (笑)。
- h03s2019
- teisyutukadai1.f (20050707w): ふうん h03s2025 の改訂前と非常によく似た
プログラムですね。さらに文番号 100-130 に並んでいる format 文の書式指定子の
使い方もチグハグで, いかにもつぎはぎなんですけど ...
- teisyutukadai2.f (20050707w): これまた, 昔懐かしのキャラクタでグラフな
プログラムですね。でもこれじゃあなぁ ... 課題の問題文をちゃんと読んでいないの
かなぁ。微妙なところだ。
- h03s2022
- prog2-1.f (20050705a): まとまった作業毎にサブルーチンにしているのは,
全体の流れが分かりやすくなって, 非常によろしい。もっとも今回のように簡単な
プログラムでは, そのメリットはほとんど無いけどね。ただし, 各サブルーチンの
先頭にコメントとして subprogram-1 等が書いてあるのは, 意味不明の無駄。
番号をつけても, わかりやすさに何の寄与もない。
その他のダメダメな点としては, 変数の型宣言が全くなされていないこと, 標準偏差の
計算手順と式が間違っていること, 計算結果の表示がおかしいこと, 結果表示の
サブルーチンで無意味な処理があること。
おまけに, 要素数が沢山あると動作がおかしくなるね。
- prog2-2.f (20050705a): 終端を指定することで, 始点から終点までの区間の関数の
値を表示するようになっている。しかし刻み幅は固定なので, 結構荒い感じになる。
ダメっぽい点としては, やはり変数の型宣言が全くなされていないこと, do ループの
カウンタ変数が実数になっていること, 終端の数値にある種の制限があること。
- h03s2023
- rensyuu1.f (20050707d): 第一印象として, 意味のないコメントがじゃま。例えば
「!外部入力により得た値をNに格納」なんて, 言われなくてもプログラムを見れば
わかる。このコメントがついたからといって, プログラムの処理内容がわかりやすく
なることはないでしょう。プログラムについては, sqrsum の初期化ってシステムで
保証されていたっけ ? ということがやや疑問なだけです。
- rensyuu2.f (20050707d): 出力する値の個数とプログラム中で使用する/できる
配列の大きさ (要素数) との関係に不都合があるような気がする。
- h03s2024
- problem2-1.f (20050705d): はい, 確かにそういうデータの数値の入力の仕方も
あります。文法的には間違いじゃない。しかしこれでは *プログラム* であることの
メリットが *非常に* 薄い。そして, 宣言されている変数の型が, 説明文に書かれて
いることと一致していない。インデントとか意味のまとまりごとに空白行で区切る
などの, プログラムの見やすさは良好。ただし, 変数への初期値の代入の場所と,
実際に使用されるまでの間隔があいて見づらくなった点が残念。
ところでその初期値は, 本当に必要ですか ?
ああ大変, 標準偏差の計算値が間違ってるよ。
- problem2-2.f (20050705d): その多項式の意味は何でしょうか ?
計算結果を配列変数に代入していることに, どういう意味があるのでしょうか ?
それ以外は比較的キレイにできています。
- h03s2025
- kadai1.f 改訂版 (20050707g): ふうん, なんか不思議。前の版を改良したんじゃ
なくて, 全く新しく作り直した感じのプログラムだね。これも努力の成果かなぁ。
さて内容だけど, 結果として正しくなるけど, 標準偏差の計算の仕方がちっと変だね。
- kadai2.f 改訂版 (20050707g): でさぁ, こっちなんだけど, その計算している
関数は, 一体全体どういう意味なのかな ? 肝心のそういうところの説明が無いんだよ
なぁ。
- kadai1.f (20050705b): まず, インデントがヘンチクリンで, とても見づらく
なっているプログラムです。さて, 変数の型宣言が不完全です。そして入力データの
形式についての説明が全くありませんので, どう使えばいいのか分かりにくいです。
ファイル名がプログラム中で決められていて自由度がないのは, ご愛嬌にしとくか。
またデータを読み込むときのインデックスの値が, これじゃあ本当は不定で,
もし動作したとしてもそれは偶然ですね。いったん読み込んだデータをそのまま表示
するのは, 確認の意味で良いことですが, その format が意味不明です。それにこの
表示部分とこの後の計算部分とで, どちらにも繰り返し構造があるわけだが,
その表記スタイルが違っていて, いかにもツギハギ。またデータ入力時のデータ終了の
判定方法が「入力が尽きるまで (たぶん)」なのに対して, それを表示させるときには
データの数が決め打ちになっていて, ここでもつじつまが合っていません。
ああ, 平均や標準偏差の計算時にもデータの個数がハード・コーディングで, 融通の
効かない方式になっている。おっと, 実行結果が付いてないね。
- kadai2.f (20050705b): 暗黙の型宣言が使われているのは, ややマイナス。
単純な初等関数だけども, おやくそくの三つ組みなので, 微かにプラスか。
説明文中で自覚しているのに, エラーがそのまま放置されているのは, なんだかなぁ。
また計算出力が format 文によって桁数をそろえて表示させられているので顕在化
していないが, ジツワ計算誤差が出まくりで, ゼロや 0.5 になるべきところがなって
いなかったりと散々な状態なのだ。
- h03s2027
- problem2.f (20050707k): h03s2024 と同じく, 文法的には間違いじゃあないかも
しれないけど, これじゃあ *プログラム* であることの意味がない。プログラムの
中味については, インデントの付け方がちょっとイレギュラーで見にくいこと, それと
平均と標準偏差の計算の部分で, 計算結果は良さそうなのに, 無駄な処理をしている。
それから, 説明文にある「duoble precisionにしておかないと、ルートの計算ができな
かった。」っていうのが, よくわかりません。sqrt 関数は, 引数の型 (精度) に応じて
それなりにちゃんと値を返すはずですが ...。あと, 結果表示は, 説明文に書いてある
のと違うよ。これじゃああなたが本当にこのプログラムを作って, 使って, 結果を
出して, 説明文を書いたのか, 疑問に思えてきちゃいます。
おっともうひとつあった, 偶然で助かってる非常に危ない部分がある。
- mondai2.f (20050707k): かろうじてわずかな説明があるが, このプログラムは
数値の表を出力しませんので, 課題の題意を満たしていません。
さて de-ta.f っていうから, てっきり何かの Fortran プログラムと思ったんだけど,
全然違っていて, 実行結果らしきものなのね。でもそういう説明が全くないし,
「program mondai2_1」とか, あなたのプログラム名でないものが書いてあったりして,
謎が多い。もちろん最初の方は, あなたのプログラムの出力と違うしね。なにこれ ?
- problem2.f (20050707c): えっと, プログラムだけですが ? ... ああ, 後から
届いたメールに, なにやらあるぞ。
- h03s2028
- problem2.1.f (20050708d): お, これは比較的まともにできてるレポートですね,
でも日本語が少し壊れています, 残念。一番気になるところは, 説明文中にいくつも
出てくる「プログラム」という言葉の意味が, 普通と違うんじゃないかというところ。
さて本件のプログラムですが (笑), お約束の枠組みが無い, 使用している全ての変数は
型宣言してるけど暗黙の型宣言が有効になってる, という所が好ましくない。
あと「24 個以上のデータを入力するとプログラムを実行させた時にエラーが発生する」
と説明されているが, 本当にそうか ?
- problem2.2.f (20050708d): 説明文とプログラムのスタイルについては, 上に
同じ。エクセルで作成した図を付けてくれたのはいいんだけど, どうせなら
自然科学系グラフのお作法を身につけてね。
- h03s2029
- problem2,1.f (20050707j): まず説明文ですが, 見事に意味不明だね。例えば,
「変数○は, skh-problem21.dat を自動的に計算する」って, 意味わかりませんよ。
だって (主語の) 変数が (述語の) 計算する, ってどういうことよ ?? プログラム
自体は, 暗黙の型宣言を用いていたり, 開いたファイルを閉じていなかったりと,
やや難あり。またデータ数も固定なんですね。
- problem2,2.f (20050707j): は ! こちらの説明文も, 見事にわけわかりません。
一体何を計算しているのか, その計算にどういう意味があるのか, 全く説明されて
いません。プログラムの方ですが, 暗黙の型宣言が使われています, ループのなかで
A=A+DA としていて計算誤差が蓄積されそうです。
- h03s2030
- rensyuu4.f (20050707o): せっかくの関数なのに, 計算する間隔が荒すぎて,
きれいな形が描けませんね, 自分でわかってなくって作ってるでしょ, 残念 !!
とっても簡単なプログラムなので, これ以上のコメントはありません。
kekka2.f っていうから, 何かの Fortran プログラムかと思ったら, 違うんだね。
計算結果なんだ。
- rensyuu3.f (20050707m): さて, 説明文にあるプログラムと, 添付されている
プログラムは違うものです。したがって, わけわからないレポートってことですね。
あとね, 面白いことに気付いちゃった。これって h03s2027 の problem2.f と,
危険な一行以外は, 論理的に全くおんなじなんだね。標準偏差を求める時の無駄も
数式中に出てくる数値も同じだなんて, 偶然にしては実に不思議だなぁ。
kekka1.f っていうから, 何かの Fortran プログラムかと思ったら, 違うんだね。
計算結果なんだ。
- h03s2034
- problem2-1.f 改訂版 (20050707b): うむう, 計算論理の変更ではないので, 特に
コメントはありません。ところで, 昨日の problem2-2.f についての説明が補足され
ましたが, 下のコメントの意味がわかっていないみたいです。計算している数式は,
プログラムを見ればわかります。この数式の物理的・化学的な意味を問うているの
です。課題の問題文を読み直してください。ちなみにバグについては, 例えば
(i, j, kankaku) = (0, 1, 0.1) だとどうでしょうか ? 期待した数表が出力され
ますか ?? 違うと思うけどなぁ。
- problem2-1.f (20050706g): 説明の文書が Word だというのが, イマイチでした。
せっかく Linux なのに ... とかね。で, この件についての説明が, 簡単すぎるくらい 簡単で, ほとんど内容がない。ちなみに「値 seiseki を限定する」の意味が分かり
ません。なにを言いたいのでしょうかね ? プログラム自体には特に瑕疵は無いんだ
けどね。ああ, やっぱり出力される英文に, もうちょっと努力が必要かもね。
「ninzuu's integers」って意味わかりませんもの。
- problem2-2.f (20050706g): 一番たくさんの説明が書いてあるんだけど, 肝心の
ことがぬけてる。これは何を計算したんですか ? (笑) 「配列問題」「x, y を限定」
「Ij は打ち込めれるようにした」などなど, 新感覚の言葉で説明されても, 言いたい
ことが伝わってきません。レポートって, 内容が伝わらなくちゃ意味がないんです
けどぉ。さてプログラムですけど, まず計算の時のループの中の if 文の役目が
わかりません。それから, 計算の範囲らしく入力した数値と kankaku が小数点以下の
位に値を持っているときに, たぶん期待していない動作をするでしょう。すなわち,
この論理にはバグがある。ところでこの計算している式って, どんな意味があるの ?
- h03s2035
- pb2.1.f~ (20050708c): 説明になってません, この web ページの冒頭のヒントの
所に書いたのに, はぁ。さらにプログラムも, 標準偏差の計算方法が問題で与えた式と
違うとか, 無意味な continue 文があるとか, 無意味な条件分枝と goto 文があるとか
以前に, エラーでコンパイルできないじゃん (笑)。
- pb2.2.f~ (20050708c): 説明になってません ... (以下略)。プログラムもエラー
でコンパイルできません。
- h03s2037
- list9.f (20050707e): あの, 説明文の冒頭からして, いきなりわかりません。
「プログラムが出力される」ってどういうこと ? どんな計算をしてくれるプログラムが
出力されるんでしょうか (笑) ?? んで, プログラムでは推奨していない算術 if 文を
使っているし, 標準偏差の計算も間違ってる。だいたいデータを入れて計算して, 標準
偏差が 357 って出て, おかしいと思わなかった ? 正規分布なら標準偏差の一倍以内に
全体の何割が入るんだっけ ? それなのに 357 !
- r2.f (20050707e): パラメータ文で nn=19 としている意味が, よくわかりま
せん。そして計算している式に, どういう意味があるのかも, 説明が全くないので
わかりません。それ以外に, 特別な瑕疵はなさそうです。
- h03s2039
- problem1.f (20050707p): 説明文によると, うまく動かないんだそうだ。
プログラムを見ると, なるほどそうだなと。どこがおかしいのかわからなければ,
入力されるデータに応じて, プログラムのどこがどういう順序で実行されているのか,
逐一追い掛けていく, すなわりコンピュータになったつもりでプログラムを読むしか
ないでしょうね。さてそういうわけで, プログラムの説明を見る意味があるのか,
やや疑問ですね。だって言ってる通りに動かないんだもん。間違った解答が書かれて
いる答案の解答を, 採点者が修正してから評価するなんてことは, 無いからね。
- problem2.f (20050707p): do ループを用いてこの様な計算を行うという発想が,
理解できません。確かに出力されるのは数表かもしれませんが, これってグラフに
するようなものなの ? ということで, この説明とこのプログラムでは, 課題の題意を
満たしているようには思えません。
- h03s2040
- p21.f, p21.f~ 訂正版? (20050708g): あれ ? こっちは前と同じものですか。
説明文も「○行目は〜」ていうのが行頭に来るように改行を入れただけ。でもこういう
ものじゃ説明じゃないって, 下でも言ったし, この web ページの冒頭のヒントの所にも
書いたのに, はぁ。ということで, でたらめなプログラムと嘘の説明を繰り返すん
ですね ?
- p22.f, p22.f~ 訂正版 (20050708g): ふーむ, 今度は以前とは別の関数を計算して
いますね。その関数の意味は何ですか ? 全く説明されていないので, わけがわかりま
せん。さらにプログラムも, continue 文とか, j への代入とか, 意味がわかりません。
またインデントの付け方がおかしいので, 見辛くなっています。
ちなみに, 末尾に ~ のついたファイルと付いていないファイルと, 都合 4 つの
プログラムがメールに添付されていました。そのうちのどれが, 今回の正式の提出物の
つもりなのかな ?
- p21.f (20050706e): まず, 説明文がべたーっと書かれているので, 非常に読み
にくい。レポートっていうものは, 他人に読んでもらうものだゾ。さて, プログラム
ですが ... これって ... h03s2058 のとおんなじじゃん (二カ所を除いて)。
簡単なプログラムなら, 偶然に似るということもあるかもしれないけど, これだけ
複雑でイレギュラーなものが, 偶然であったら奇蹟だ。ということで, 説明文も説明に
なってません。ちなみに説明文とプログラムで実際にやってることは, 一致していま
せん。嘘の説明してどうするの ?
- p22.f (20050706e): コンパイルエラーにはならないけど, あいかわらず説明文と
実際のプログラムには齟齬があります。また扱われている多項式の意味が不明です。
極めつけは, 出力が表になっていなく, すなわち課題の要求を満足していません。
- h03s2042
- prob2-1.f (20050706f): 説明文と実行結果がちゃんとついてるのに, 説明で
肝心なところは, わずかに 1 行 !? そして, プログラムはなぜでしょうか h03s2048 の
ものとほとんど同じです。DO 文に多めにカンマがあることまでも, 同じです。世の中に不思議がいっぱいですね。
- prob2-2.f (20050706f): とある関数についての計算なのだが, どんな意味のある
関数ですか ? 見覚えがあるような無いような。そういうことを説明してくれなきゃ,
ダメじゃん。ところで, ループの中で x = x + 0.02 は誤差が貯まりやすいと思われ
ますので, 避けたほうがよろしいかと思われます。
- h03s2043
- kadai1.f (20050708b): これじゃあ説明になっていないって, この web ページの
冒頭のヒントの所に書いたのに, はぁ。さらに書いてある文の日本語が壊れています。
Fortran 語ではなくて, 国語 (日本語) の勉強が必要なのかもしれませんね。
プログラムについては, 暗黙の型宣言を使ってる, 変数 b と n との使い方が半端,
などが好ましくありませんね。
- kadai22.f (20050708b): そういう説明の言い方じゃあ, プログラムが展開をして
くれるみたいじゃないかぁ, そうなんですか ? プログラムでは, 暗黙の型宣言を
使ってること, do ループのカウンタ変数が実数なこと, などが難点ですね。
- h03s2044
- prob2-1.f (20050708n): この説明じゃあダメだね。この web ページの冒頭の
ヒントの所に書いたのに。プログラムについては, 暗黙の型宣言を使っていたり,
データを読むときに do ループを使っているが, エラーによる繰り返しからの脱出も
おこなっている。これではデータの数について入力したのとの整合性がおかしくなる
可能性がありますね。
- prob2-2.f (20050708n): その計算している関数には, どんな意味があるので
しょうか。またプログラムも暗黙の型宣言を使っていたり, 繰り返しのなかでの実数の
計算では誤差が貯まりやすかったりと, 好ましくない点がいくつかあります。また
説明文中での記述が, 実際のプログラムを正しく反映していない, 文法的におかしな
記述になっています。
- h03s2045
- problem2_1.f (20050708m): ソースファイルの末尾に日本語の文章をくっつけ
たら, そのままコンパイルとか出来ないじゃないか。まあプログラム自体は,
そこそこキレイにまとまっています。しかしデータをその様にあつかってしまっては,
文法的には間違いじゃないけど, プログラムであることの意味が激減してしまいます。
あと, 暗黙の型宣言を用いていることも, 保守性などを低下させています。
- problem2_2.f (20050708m): 計算しているその関数は, いったいどんな意味が
あるんですか ? また説明文で「実例の通りの結果を求めるために単位をあわせた」と
ありますが, 結果が先にあって, プログラムをそれに合わせて作ったという意味で
しょうか ? この辺の論理性が, なかなかに謎なんですけど。エクセルファイルに
ついての説明も, 全くありませんね。でも実は致命的な欠陥が別にあって, この
プログラムはエラーによりコンパイルできませんからっ, 残念 !
- h03s2046
- pb21.f 修正版 (20050707r): コメントを参考に修正したっていうことだけど ...
あれれ, 文番号 110 がついている行は, 何の役に立ってるんだろうか ? 有効データの
確認の所, 何の役に立ってるんだろうか ? 最大値とかを計算しているあたりは,
見通しが良くなりました。
- pb22.f 修正版 (20050707r): ああ, do ループのカウンタ変数を倍精度実数に
しちゃってるよ。さすがにこれは, お作法としておすすめしません。だって Fortran95
では禁止事項でしょ。さて説明の文書での最大の謎は, 図にプロットされてる「理論
曲線」ってどうやって描かせたのかってことだ。
- pb21.f (20050629): かなりイイ線行ってると思います。
データのファイル名についてのエラートラップまであるし。でも本当は, エラーの
種類を判別して対応しなくちゃなんだよね。まあ, ここではそこまで要求しないけど。
でも惜しい点もいくつか ...
(1) 配列の 0 番目の要素を用意して, ゼロを代入していることの意味がわからない。
(2) 文番号 130 の if 文の条件が複雑で, すぐにはわかりにくい。
(3) 無効なデータについての取り扱いが, 平均の計算時と最大値の計算時とでちがう。
(4) もしもデータの数が多ければ, このままでは不都合かも。
(5) goto 130 の使い方は, プログラムの構造化に反する。
すなわち if 文のネスティングが変。
(6) ファイルオープン時のエラートラップ後, リカバーの仕方が変。
ここもプログラムの構造化に反している。
要するに (5) と (6) は, プログラムのスパゲッティ化に貢献しているってこと。
- pb22.f (20050629): これもまた, かなりイイ線行ってると思います。
でもやっぱり上と類似のスパゲッティ化の問題点もよりいっそう色濃くて ...
またそれ以外の問題点としては, ループの中での r = r + n は,
誤差を生じてちとカッコ悪いかもね。
まあ倍精度変数なんで顕在化はしない可能性が高いし,
そういう数値の表だと言われれば, それまでなんだけどね。
- h03s2048
- problem1.f (20050706c): えっとぉ, 実行結果はソースプログラムの末尾じゃ
なくて, 説明文の方につけてくれれば良かったのに。レポートって, そういうもんじゃ
ないのかな ? さてそうは言ったが, h03s2058 と同様に, これじゃあ説明じゃない。
で, プログラムと説明の不一致が際立ってるところは, 「7〜10行目 score.datから
得点を読み込む。」なわけだ。もちろん結果としてそういうことになる場合もあるかも
しれないけど, このプログラムだけからでは, そうとは限らないハズだ。さらに
「do 300, i = 1, n, 1」では, カンマが余計にあるように見えたけど, とりあえず
コンパイルエラーは無いんだね, 文法書を見るとあってもなくても良いらしい,
ふうん。それ以外には, 特に瑕疵のなさそうなプログラムですね。
- problem2.f (20050706c): まあね, プログラム自体にミスは無さそうなんだけど。
肝心のその多項式って, どんな意味があるんですか ?
- h03s2056
- kadai2.f (20050708q): ソースファイルを送り直してきましたか。じゃあ見て
みましょうか。簡単な現象を表わす非常に簡単なプログラムなのですが, 頂点の前後で
時間反転対象になっていない計算結果ですね。そうです, do ループのカウンタ変数に
実数なんかを使うからです。やめとけって言ったのに。
なお, このメールの日付と時刻は「Fri, 08 Jul 2005 16:07:15 +0900」でした。
- kadai1.f 改訂版 (20050707i): ふうん, これもまた, 急に出来が良くなって
ほとんど作り直したみたいなプログラムだなぁ。どんな努力したんだろう ?
まぁ特におかしな所は無いようだけどね。
- kadai2 改訂? (20050707i): 添付されていたモノは, プログラムのソース
ファイルじゃありません。したがって, 説明文や結果やグラフについて評価することは
できません。(改訂前のものが有効になる)
- kadai1.f (20050705c): 説明文のとおりにデータファイルを作ると, プログラムは
期待したとおりに動作しないという罠 (笑)。さてプログラムなんだけど, h03s2025 と
非常に良く似ているんだよね。
ところで, asum/real(23) と asum/23 との違いって, わかってるのかな ?
インデントは全くなくて 7 桁目にそろっていて, (無意味な?) 空白行が途中に一行ある
だけの, 古典的な (笑?) コーディング・スタイル。せっかく空白行を開けるのなら,
もうちょっと論理の流れとか塊とか, 見やすさに配慮しましょう。
- kadai2.f (20050705c): その多項式は何ですか ? という前に, 文関数を使って
しまっている。推奨しませんと言ってたと思うんだけどな。そしてもちろん (?) 暗黙の
型宣言を使ってくれている。インデントも微妙にずれてるし。ところで, こんなに短い
プログラムにも関わらず, 二つの課題のためのプログラムの質が, かなーり違うと
感じられてしまうのは何故でしょう ? 参考文献を書いたのは, 良し。
- h03s2058
- p21.f (20050706b): ええと, そういうのは説明って言わないと思うんだけどな。
だって文法が分かってる人がプログラムを見れば自明でしょ。すなわちあなたのやった
ことは, fortran から 日本語 への翻訳。だがしかし ! 説明の二行目の「暗黙の
型宣言を無限にする」でブッとびましたよ, 無限にするって何ですか ? typo じゃ
ないしね。で, プログラム中でやってることもその説明も, ハッキリ言ってめちゃ
くちゃですねぇ。まずどの辺が与えられた点数についての課題で与えられた事項に
関する計算なんでしょうか ? コンパイルエラーがないのが奇蹟みたいですね (笑)。
でもきっと自分では実行してないでしょ。当然レポートに実行例・実行結果はついて
いないしね。プログラム内容にコメントしてもいいんだけど, それよりも「理解せずに
どっかのプログラムを写しただけでしょ」ってズバリ言っちゃいます。だって計算式は
課題に与えたものと違うし, 資料では使うなと言って説明しなかった算術 if 文が
ここでは使われているしぃ ... (笑)。冒頭で説明のつもりが説明文になってないって
言ったけど, それでも本人が理解していないってことを雄弁に物語ってるし (笑)。
- p22.f (20050706b): こちらの方も, やっぱり滅茶苦茶ですね。だってコンパイル
エラーで, まともにプログラムをコンパイルすら出来ない。
- h03s2060
- pb2.2v2.f (20050708h): ふーん, 計算に用いる各種パラメータをファイルで
与えるんだけど, もしもその値に不都合があったら, キーボードから入力し直すことに
なるのか。それって, 使いやすいのかなぁ ? もちろん複雑な入力データを毎回手で
入力するよりもファイルにしといた方が簡単だけどさ。入力データをファイルにして
与えるのは, バッチで実行できて便利だということもあるでしょ。そこで入力データの
間違いを対話式に修正要求しても, ねえ。もっともこの辺はポリシーだから, 正解って
いうのは無いんだろうけどね。さてさて, 実行結果について, なんで三列の数値が ?
と一瞬思ったけど, 図を見てわかった。でもこういう風にする場合, 三列の数値出力の
形式がふさわしいかどうか, やや疑問アリ。ぼくなら theta 毎に別ファイルにするか,
2N 列の出力形式にするか, だろうな。少なくとも theta が変わるところで空白行を
入れる (gnuplot 対応)。この辺もポリシーだし, 作図のプログラムの仕様に依存する
ところでもあるから, 正解はないでしょう。
pb2.1.f も同梱されていたけど, 説明によれば内容の変更はないとのこと。確かに
nkf --unix して diff したら, 違いはありませんでした。
- pb2.1.f (20050706h): Windows ではファイル名につかう文字種に制限は無いかも
しれないけど, 残念ながら Unix 系では, 日本語文字をファイル名に使うとファイルの
取り扱いに非常に不便になる。だって cp コマンドでコピーしようにも, コマンド
ラインでどうやって日本語文字を(文字コードまで正しく)入力できるっていうんだ ?
そんなの標準の shell では出来ないぞ。という障害を乗り越えたら, おおレポート
全体としてはなかなか良くまとまってるじゃないか。
さてプログラムですが ...... cmd_str で凝った技を使ってるね, 選択戻り指定子
ですかぁ, 恥ずかしながらこんなの初めて見ました。またそこで使われているコマンド
ライン引数を操作する関数やサブルーチンは g77 だからできる技で, Fortran77 の
標準ではないね。まあ g77 でできる拡張は許すと資料に書いたから文句は半分しか
言えないけど, その半分とはもちろん Fortran の標準でも組み込みでもないものを
使ってるってことだけどね。
そして入力データのファイル名と出力データのファイル名を入力して開くところでも,
なかなか凝ったことをしてくれている。inquire 文を使ってるところも, 初めて
見ました。
各種の計算を関数に押し込めてしまっているので, 結果の出力が, 即関数の呼び出しに
なっている。これについては, 良いとも悪いとも言えない。従来型のプログラムの
書き方とは違うが, オブジェクト指向的になっているとも見れるので。
結論, たいへん良くできました (でも一般人が真似するモノじゃないよ)。
- pb2.2.f (20050706h): さてプログラムですが, 計算結果の点の集合としては,
目的の図形を表わすことになるのでしょう。しかし残念ながら, これは出力された
数値の表にある点を順に結んで何かのグラフが得られるわけではない。まあそういう
ことだ。あと乱数を使うときの注意としては, 使用目的に対してふさわしい乱数かと
いうことだけど, 今回の問題では ... どうなんでしょうね。
と, ここで重大なことに気付いた, f7.2 の format で数値を入力するとき ...
なんと数値に小数点を含まないときには (すなわち整数), 下二桁が自動的に小数点以下
の二桁にされてしまう。どおりで実行例で三角形の高さを 1000 としたのに, 実際には
10 になっていたわけだ。すなわち入力時に 1000 とするか 1000. などとするかで,
結果が大違い。ああ, やっぱり format は鬼門だ。
- h03s2064
- kadai1.f (20050708e): 実行結果についてのみ, 日本語文字のアルファベットを
使って間延びしたように書いているのはどうしてでしょうか ? それ以降の所では,
ちゃんと英数文字を使ってるのに。さてプログラムですが, へえ, 決してスマートとは
言えないけれど, なかなかよく考えられているじゃないか。標準偏差を計算する式は,
問題で与えたものとは違うけど ... 実質同じか。その他には, コメントや write 文で
表示されるメッセージで, 「零点がいないことを願」ったり「日付数」を出力したり
「理想と現実」のギャップを示してくれたりと, ユーモアを発揮してくれている。
- kadai2.f (20050708e): 計算した式は, あるテキストから引用したものだと説明
しているが, だったら何の式なのか, 引用元の本は何か, などはレポートにきっちりと
書いてほしい。報告書ってそういうものでしょ。説明文とプログラムについては, 上と
同様です。特にこっちでは, 実数による計算誤差に配慮してたりして, 素晴らしい。
- h03s2067
- problem2-1.f (20050705f): はっはっは, h03s2025 のプログラムと, 非常に良く
似ている。そのため, 冒頭でせっかく「日付の数」を入力しても, それが生きてない。
この数を入力することで他のもっと大きなデータになっても対応できるようになる, と
説明文では述べているのである。あーあ, それじゃあ read 文の end=20 の指示の
意味を全く理解していないってことだね。説明文の日本語も, けっこう壊れてるよ。
- problem2-2.f (20050705f): えっと, この三番目の関数には, どんな意味があるの
でしょうか ? 係数を入力できるようにしてあることで, 様々な関数に対応できるように
したと説明しているが, それにしては, 出力の範囲が固定されているのは, どういう
わけなのでしょうね。その関数にとって, その決められた表示される範囲が, いつも
興味ある領域であるとは限らないのにね。
- h03s2070
- kadai1.f (20050707s): Fortran 語から日本語への翻訳は, プログラムの説明とは
言いませんってば。プログラムについては, お作法としての program 文〜 end 文 の
枠組みが出来ていないし, 暗黙の型宣言を使ってるし, 変数の初期化は論理性無く
バラバラにやってるし, 正しそうな標準偏差が得られたのは偶然カモだし, まあそんな
ところでしょうか。
- kadai2.f (20050707s): ですから, これは何を計算するプログラムなんですか ?
っていうことを説明する文章になってないでしょ。プログラムのイマイチな点は, 上と
同じです。
- h03s2071
- kadai1.f (20050707u): ええと h03s2075 の kadai1.f とおんなじなんですけど。
- kadai2.f (20050707u): 力作かつ実用性のあるプログラムを作成してくれたのは,
たいへんよろしいです。しかしこれは, 課題の要求を満たしていません, 残念 !!
ちなみに使いやすく論理の見通し良くするために, もうチョット改良した方が良いよ。
ていうか, 実行結果を見ると, かなり直線性の良いデータなのに, r がほとんど 1 に
ならずにほとんどゼロになってるのは, おかしいんじゃないかなぁ ??
- h03s2072
- p6.f, p7.f (20050707l): ははあ, やっぱり if 文で場合分けしての処理の仕方が
変だね。さて二つのプログラムの違いは, p6.f では出力される表の数値がある時には
ゼロになるはずなのにならないらしい。p7.f では, そこをムリヤリゼロにしている。
こんな小細工には, 物理的な意味があるのかなぁ ? それから, その「ある時」って,
どんな時よ ? などの説明がない。また実行例もない。
実はプログラムとしても, p7.f は, 同じ処理を複数の場所に書いているので, その間の
整合性を取らなくちゃいけなかったりと, 誤りの入り込む余地が多いプログラムに
なっているノダ。ま, この辺が, 実数を do ループのカウンタ変数に用いている弊害
なのだけどね。だから Fortran95 では禁止するくらいの事なのだと, 資料に書いた
のにね。
- p1.f、p2.f、p3.f、p4.f、p5.f (20050707a): なるほど, if 文の分枝条件が
*かな〜り*整理されているようです。それはそれで良いことです。しかし, 入力された
数値 aa の値で三通りの場合に分け, それぞれで異なる処理をするっていうのは,
平均とかの統計値を求める手順としては, かなり異質だと思いませんか ?
思わないですか, そうですか。
ちなみに統合版の p5.f では, 同じ処理 (例えば bb = bb + aa) があちこちに出て
きますね。そういうものは一カ所にまとめた方が, 見通しも良いし保守も楽です。
- heikinti.f, hyoujyunhensa.f, saidaiti.f, saisyouti.f, problem2.1.f (20050706d):
平均と標準偏差を求める当りまでは, if 文の場合分けの論理をなんとか追跡できるけど
最大値あたりになるともうダメですね。計算の論理がサッパリ見えない, 簡単な計算を
ワザとしちめんどくさくやってみせて, ありがたがられようっていう魂胆かなと
邪推してしまいたくなります。個別のプログラムをまとめた problem2.1.f になると,
もう思考の流れがからまりまくって空回りしている感じですね。答えが出りゃ良いって
いうもんじゃないでしょと。
ここまで分かりにくくできるのも, ある種の才能かなと (笑)。
ああ, if 文による場合分けを, 条件による静的な分割じゃなくって, 状態遷移に
使っているのか。まあそういう思想があることは認めますが, 資料では fortran の
文法とプログラム例の説明の時にはそんな事していないし, fortran がそれに適した
言語だとも思いません。もうちっと発想を変えてもらわないとね。
おっと, おかげで言い忘れる所だった。もしも得点が零点の人がいた場合に,
このプログラムでは期待度おりに働きませんね。せっかく説明文で, データ入力の
終了条件について書いているのに, あと一歩で外してます, 残念。
それから, それぞれのプログラムで DO loop を使っているかのごとく説明文が書かれて
いるけど, これってどうよ ? って思うわけです。記述の信憑性ががた落ちなんです
けど ... (笑)。
- h03s2073
- k2_1 改訂版 (20050624): なるほど, そう直しましたか。まあそれもアリです。
ちなみにどういう組み込み関数があるのかは, 文法書を良く見てください。
そういうのは無かったと思うよ。
でもこれだと, データファイルの形式は, 以前のものから変更ですね。
そういう説明が全くありませんが。
それから, データファイルが異常に大きかったら, もしかしなくてもこれじゃあ困る
かもね。細かい点だけど。
(基本的には OK なんだけど, まだ他に提出した人がいないので, 細かく指摘して
いる余裕が私にあるだけです。)
- k2_1 (20050617): 全体としては, たいへんよくできています。ただし細かい点で気になる
ところがいくつか ...
(1) 使用したデータ形式の冒頭の数値がデータの総数だと思われますが,
一方でパラメータ文でもデータの個数が設定されているようです。
そしてデータを入れる配列の大きさがメーンルーチンでは後者で宣言されているが,
各関数では (引数として受け渡された) 前者に基づいて配列の大きさが宣言されて
いるようです。
もしも両者に食い違いがあるとどうなるでしょうか, 例えば 前者>後者 となると
どうなるでしょうか ?
(2) また, このデータ形式だと, データの数をプログラムを使用する人間が数えて
データファイルの先頭にその数を置かなければいけません。
数え間違いやデータの追加・削除時にデータ数を直すのを忘れたなどして,
この数字と実際のデータの数に不整合があると, どうなりますか ?
(3) 関数 maxdata, mindata の中味に, 不必要な行がありますね (笑)。
コメント行なのでプログラムの実行に支障はないのですが ...
(4) データファイル名が 'data' とハードコーディングされています。
別なデータについて計算したいときには, ちょっと不便ですね。
(5) また open した入力装置を close していません。
今回は支障が無いのですが, 構造化・モジュール化の精神からも,
open と close は組で使うようにしましょう。
- k2_2 (20050617): 大筋では良いのですが, 問題点がいくつか ...
(1) なぜ nn は 20 なのでしょうか ? これで充分ですか ?
(2) 関数の形をきれいに描かせるためには, 人間が入力するパラメータの値に
ほとんど選択肢がないような気がするのですが。
(3) 出力ファイルのファイル名がハードコーディングされています。
別なパラメータの値で再計算させようとすると, そしてその結果を前の結果と
比べようとすると, ちょっと不便ですね。
(4) open した出力装置が close されていません。
構造化・モジュール化の精神からも, open と close は組で使うようにしましょう。
- h03s2075
- kadai1.f (20050705e): えっと ... h03s2022 の prog2-1.f と, サブルーチンの
並び順が一カ所逆転してるだけで, ほとんど一緒です。はっはっは, 無意味な処理が
あるところまでおんなじだぁ, どうして ??
- kadai2.f (20050705e): こちらに関する説明文がありません。
冒頭のコメント行は, どういう意味ですか ? ていうか, 説明がなけりゃ, プログラムの
read 文の所で, なにを入力すりゃいいのかすら分からない。うむう, どうやら昔懐かし
キャラクタでグラフを表示するプログラムらしい。努力は認めるけど, これでは課題の
題意を満足しません。ところでこの努力とは, プログラム作成の努力でしょうか,
それとも調査の努力でしょうか (笑)。
- h03s2077
- kadai1.f, max.f (20050708j): 説明は簡単すぎ。結果ファイルによると,
kadai1.f では最大値の計算がおかしいそうだ。でもこの結果って, 本当にこの
プログラムの実行結果なの ? ちなみに, 最小値や平均や標準偏差がもっともらしく
得られているのは偶然です。その偶然が最大値の時に働かなかったので, おかしな値に
なってしまったのです。max.f では正しく最大値が得られたとのことですが, それは
手で数値を入力したからではありません。
- kadai2.f (20050708j): まあね, 確かに説明の通りなんでしょうけど。でもその
関数は, どんな意味があるんですか ?
- h03s2081
- problem2.1.f (20050715); h03s2024 と同じく, 文法的には間違いじゃあないかも
しれないけど, これじゃあ *プログラム* であることの意味がない。また, do 文の
カウンタ変数と配列のインデックスが, *倍精度実数* だ ! アブナイ, キヲツケロ !!
ということで「全ての数字が実数となるように」との説明文の記述はマチガイだね。
「Shou = 0 とおいているので」も, 説明文と実際のプログラムとで食い違っている。
こんな出鱈目が目立つ説明文の信憑性は, 極めて低いんだけどなぁ。ていうか,
説明文の日本語が壊れかかってるヨ。
なお, このメールの日付と時刻は「Fri, 15 Jul 2005 17:54:29 +0900」でした。
- h03s2082
- kadai.f (20050708k): これってさあ, h03s2030 の rensyuu3.f なんかと,
論理的に同じなんだよね, 無駄な計算についても。なんでだろ〜。
(2005-07-19, 12:00 更新)