数値解析法, 2007 年, Fortran 入門編, 課題 (レポート) 提出状況

課題:

  • 章末に練習問題があります。これにしたがってプログラムを作成してください。
  • もしも必要ならば, これ を使ってもいいですよ。
  • 作成した, ソースファイル と 実行結果 と *説明の文章* とをメールで提出してください。三つ目が肝心ですよ。
  • 最終締切前であれば, いったん提出したものであっても修正版 (アップグレード版) を提出することができます。
  • 最終締切は, 7 月 6 日, 12:00 とします。(メールの発信時刻で判断します)
  • 課題提出に関する異議は 7 月 20 31 日 まで受け付けます (延長しました)。

    ふぅ

    いちおう全部に目を通したつもりです (2007-07-24). 非常によく似たプログラムも中にはあったりしましたが (w
    どう対応しようかな, 御意見があればお寄せください, と書いてみるテスト (w

    提出状況とコメント

    学籍番号ごとに, 提出されたプログラムの名称と提出日のあとに, 辛口かもしれないちょっとしたコメント (たぶん激辛) が書いてあります。 プログラム自体はここに載せません。 他人に付いたコメントが参考になるかもしれません。 いずれにしても, コメントを参考にするかどうかは, 自分で考えて決めてください。
    日付の末尾にアルファベットがついている場合, その日の到着順を示しています。 (26 人以上が同日に提出してきたらどうしよう ... ? (笑))

    h01s2077
    Problem.zip (20070705r): おっとっと, 圧縮ファイルがきたよ. 伸長すると何が出てくるかな ? 全般的にしっかり説明されていて, イイセン行ってます.
    さてまず Problem1.f ですが, プログラムも見やすくていいですね, ただし暗黙のお約束はあった方がいいし, 関数副プログラムのループでちょっと無駄な判定をしているけどね.
    それから Problem2.f ですが, おっ, よさそうじゃん, ただし最小値を求めるときにも無駄な判定があるけど.
    最後に Problem3.f ですが, これまた良いんだけど, 計算している式の説明とそうなる条件が(プログラム中のコメントには有るのに)説明文でぬけてるのが惜しい. グラフまで付けてくれたけど, 横軸の書き方がイマイチでした.
    h04s2019
    bunnsuu.f, kadai2.f, kadai3.f (20070705g): 余計なバイナリが送られてきているのは, まあいいとしよう. んで, こんな説明は, 説明に入らないヨ.
    まず bunnsuu.f ですが, 計算はシンプルだけど, この結果表示は実にユニークだ. 他にこんな人, 見たこと無かったヨ.
    次に kadai2.f ですが, あぁ冒頭のお約束が守られていないし, 無駄な計算してるね.
    最後に kadai3.f だけど, んーーー, 計算結果はこれで良いのか ? と, 説明とプログラムを見比べて疑問に思ったけど, あぁそういう仕掛けなのか. そんなら説明とは違う計算してるわけね. これもお約束が守られていないし.
    h05s2001
    problem2-3.f (20070705w): プログラムですが, あぁ, お約束が守られていない. それ以外はまあまあなプログラムだが, ループの脱出条件は微妙. ていうかループ無いの処理も, ちょっとどうかと思う要素がある. また最後に表示されるモノは, 正確な値じゃなくって, 分解能に依存した概数でしょ ? 説明文が途中で切れてるところもあるし.
    Problem2-1.f, problem2-2 .f (20070705a): 改訂版だそうです. 基本的にはプログラムは変更されていないようです, 特に論理についてはね. 説明の文章は大改定されているようです.
    で, うぅむ, 確かに以前のような逐次行和訳ではないが...... 説明するということがどういうことなのか, 何をどう説明すれば良いのか, よーーーく考えて今後に生かしてください.
    ploblem2-1.f, ploblem2-2.f (20070622): 三番に関するプログラム等が無い. 提出物に実行例がない. また説明文も, 桁合わせを空白文字で行っているので, 表示窓の横幅が執筆時の幅と合っていないと表示が崩れる. そしてそれがいくつなのか, 超能力者ではない私には知る術が無い. すなわち非常に読みにくい.
    さてそれで, まず ploblem2-1.f について. 主プログラムが program 文から始まっていません. 文番号が一桁目から書いてあります. コメントの記述と実行文の内容が一致していません. 約分のアルゴリズムが謎です, なぜこれで良いのでしょうか......あぁ, そういうことか. 処理のある程度のまとまり毎に区切りがあるのは, 可読性を高める上で良い. しかーし, 最大の問題は, 説明文にある. 内容については, 添付の説明文は, Fortran プログラムの和訳だ. こんな説明ならプログラムを読めばわかるので, わざわざ添える意味が無い.
    次に ploblem2-2.f について. プログラムの形式に関する不備は前に同じ. 加えて, 組込み関数名を自分で定義した変数名に用いているので, 困ったことになる処理系もあるかもしれない. データ数がハードコーディングされているので, 汎用性/拡張性に欠ける.
    h05s2002
    problem1, problem2.1.f, problem3.f (20070706l): ファイル名がアレだが, 三つともソースだ. アレレ, ついでに説明文もアレだね, なんだかなぁ. だいたいねぇ, どれが「1番」なのかな ? とか思うわけだよ (笑). あ, 実行例もないね.
    まず problem1 だが, 見るからに一番なんだけど, 実は二番のプログラムらしい. まあ特に可もなく不可もなくというところでしょうか, いくらなんでもあの説明文では説明したことにならないと思うけど.
    次に problem2.1.f ですが, 見方によっては一番とも思えるファイル名だけど (でも 1 ってのが別にあるからねぇ), これが一番のようです. あらーーー, 状況が全くわかっていない感じですね, それとも分数の計算が出来ない ? (いくらなんでも理工系の大学生でそれはないだろう)
    最後に problem3.f ですが, えーーと, 何をやってるのか全く分かりません. あ, 確かに式は書いてあるよ. でもそれと「ローレンツ力」と「気候の記述」との関係がわからない. そしてプログラムは, 何か連立の微分方程式を解いているように見えるから, なおのことわけわかりません.
    h05s2003
    problem22,s.f (20070704a): 二番の訂正版らしい. ところで, 前のもだけど, ファイル名とプログラム中の program 文のそれらしい記述と, 説明文の文書ファイル名と, ちゃんと対応してるのかしら ? どらどら
    まずプログラム problem22,s.f について, あいかわらずコンパイルエラーなわけだが, ちゃんとエラーメッセージを見れば, 前回とは異なるエラーだということがわかるハズ. 引数の型に注意, と, ほとんど答えを言ってみるテスト.
    それから, 説明文書が再提出されたのだけど, 何がどう変わったのか, ちっともわからないくらい本質を外した改訂版なわけですね.
    problem21.f, problem22.f, problem22,m.f, problem22,x~.f, problem22,s.f, problem23.f (20070703a): 二番の問題のためのプログラムが謎です. どういう意味の処理なのか, サッパリ分かりません.
    まず problem21.f について, まあプログラムは最も単純なものなんだけど, 説明文が......ねぇ. 日本語も意味不明だし. 何を説明すればいいのかわかってないのかな ?
    では次に problem22.f これが最大値を求めるプログラムらしいのだが, 説明文を見ると「表5より最大値はNo.13とNo.17の100点だから」って, あのねぇ. ちっともプログラムで求めていない......あぁ (脱力).
    ではでは次は problem22,m.f が最小値を求めるプログラムらしいのだが, 説明文中の実行例では , problem22,s.f で最小値を求めている......?? それはさておき, m のプログラムの内容は...... 最大値のときとおんなじだ, あぁ.
    ではではでは次は problem22,x~.f で平均を求めるらしいのだが, 「表5の得点を全てたすと1729だから」だとさ...... まただよ.
    ではではではでは次は problem22,s.f が標準偏差を求めるらしいのだけど, 説明文を見ると動かないらしい, 確かにコンパイルエラーが出るが, これは Fortran のお約束を守っていないからだね. で, 内容なんだけど, あ〜ぁ, やっぱりね. ということで, 二番については総じて, データファイルを読み込んでそれに基づいて計算して値を求めることになっていない. プログラムで計算するっていう意味がわかっていないのかな.
    さて気を取りなおして problem23.f ですが, まあ形式的にはあってるけど, つまんない式だね. おまけに, 計算結果が ゼロ になるべきところが -.437114E-07 とゼロになってないし...... 自明なのだから, おかしいと思わなくちゃダメじゃん, 少なくとも説明文でコメントするとか.
    h05s2007
    problem2-1.f, problem2-2.f, problem2-3.f (20070706a): 説明文は OpenOffice ドキュメントか. その説明文の形式も, まあ良いんじゃないの.
    まず problem2-1.f は, あぁキレイにできてるね, 細かい配慮も行き届いているけど, 残念ながらアレはゼロじゃない.
    次に problem2-2.f ですが, ほー, これもまあ最後の表示の format 以外はいいんでないの.
    最後に problem2-3.f ですが, ハードコーディングな部分が少しいやらしいけど, それ以外はいいんじゃないかなぁ. 式の物理的意味/意義は少し ?? な気もするけど......
    h05s2009
    problem2_1.f, problem2_2.f, problem2_3.f (20070704d): 再提出らしい. 何がどう違うのかと思えば, バイナリの代わりにソースなわけね. 説明の文書は全く変更無しなわけね. ああそうですか.
    さて, 前に送られてきた説明文にはソースが含まれていたのだけど, あらためて送られてきたソースはそれと同じみたいなので, ここで付け加えるコメントはない.
    problem2_1, problem2_2, problem2_3 (20070702b): 送られてきたプログラムは, バイナリのようです.
    まず problem2_1 について, 説明文書が逐行コメント付いたプログラムソースとは, これ如何に ? しかもコメント内容は fortran 語の和訳. こんなコメント/説明の意味あるのか ?? それはさて置いたとしても, このままじゃエラーでコンパイルできないし. それも置いといたとしても, 約分のアルゴリズムが謎です. はじめの if 文は, 必ず条件が真になるのではないでしょうか (読み違い, 勘違いかなぁ ?)...... あ, ひえー, 入り組んだ型変換やって, 小数点以下を切捨てているのかぁ. あ, ある入力では無限ループして答えが出ない ?!
    次に problem2_2 について, うん, まあいんじゃないの. ただし, データ入力をファイルからとしてて, そのファイルの open をプログラムでやってる (close してない !) ってとこが, 特にファイル名がハードコーディングされてるってとこが, 悩ましいね. あ, あと, データ数の問題とかも.
    最後に problem2_3 について, まぁ, こんなもんでしょうかね. イマイチプロットしようという式が面白くないけど.
    h05s2011
    rennsyuumonndai2-1.f, rennsyuumonndai2-2.f, rennsyuumonndai2-3.f (20070706e): 質問もあるみたいですが, 昔だれかに聞かれたことのような気がします.
    まず rennsyuumonndai2-1.f ですが, ええっと課題の要求通りに答えが得られないんですけど. ていうか, それを「約分」ってねぇ, 他の人でも問題発言がいくつかあったけど, いくらなんでもこれじゃあ「分数のわからない大学生か ?」って思っちゃうヨ.
    つぎに rennsyuumonndai2-2.f ですが, あぁぁぁ, なんだかこれじゃあプログラムであるメリットが非常に小さいなぁ. 変数の型の選択とか, 使っていない変数を大げさに宣言したり, 意味のあると思えない文字列を印字したり, わかってないんだろうなぁ.
    最後に rennsyuumonndai2-3.f ですが, まず何かエラーが解消できなくってゴチャゴチャやったとの説明文だが, 別にそんな事しなくても普通に出来るハズだが ? んで, 実はそれを除いても, プログラムが課題の要求を満足していないという致命的な欠陥があるのだ.
    h05s2012
    problem1.f~, problem2.f~, problem2a.f~ (20070705e): えっと, 三番のプログラムは無いのね. おまけに説明文のプログラムファイル名と送られてきたソースが微妙に違う. 何の説明も無いので, 何を入力して何が出力されるプログラムなのか, 使用者には全く分からない作りになってるし.
    ではまず problem1.f~ だが, 意味の良く分からないことをやってるし, 説明らしきものは Fortran の和訳なだけで意味がないし.
    次に problem2.f~ と problem2a.f~ ですが, 前者で continue はちっとも繰り返したことを意味するものじゃないし(目的外使用?), 後者では説明とやってることが違って意味不明になってるし, そもそもエラーでコンパイルできませんがな.
    h05s2013
    fractional_expression.f, point.f, free_fall.f (20070705j): これはあんまり説明じゃないなぁ.
    まずは fractional_expression.f ですが, えっと, 実行結果が正しく実行結果じゃないので, 何だか分からない数を入力して結果もユニークな表示なので, 結果として何の計算なのか分かりにくいということ以外は, きわめて単純なプログラムだ.
    次に point.f ですが, まあ汎用性に欠ける以外は, こんなものなのかなぁという感じ.
    最後に free_fall.f ですが, まあこんなものなのかなぁ, 考えが足りないような気もするけど......
    h05s2015
    problem2-1.odt, problem2-2.odt, problem2-3.odt (20070705u): ドキュメントファイルらしきモノだけが三つ届いた. まあね, この程度の簡単なプログラムならあまり支障はないけど, OpenOffice の文書ファイルでプログラムのソースを送られてきても, こちらでコンパイルなどの検証ができないんですけど......
    さて problem2-1.odt について, シンプルなパターンなので悪くはなさそうなんだけど, でもあなたが作成したプログラムがちゃんと動作するかとか, 説明通りなのかとかは, 前述の理由で不明ですね. なにしろ Fortran は桁に意味がある言語なので.
    次に problem2-2.odt ですが, えっと汎用性のないプログラムだなぁという感想以外は, 冒頭のお約束を守ってくれないとか, 不思議な変数宣言してるのが気になるだけですね. これって Fortran77 ?
    最後に problem2-3.odt ですが, これまた困ったちゃん. 確かに数値は吐き出すけど, 不思議な一行とか, 選ばれた数値の割には意図した結果が何だったのかのコメントがないとか(たぶん期待とは異なる数値だと予想するのだが), まあそんなところだ. 式自体はつまらないです.
    h05s2016
    bunsu.f, heikin.max.min.f, hensa.f, hyo.f (20070705d):
    まず bunsu.f ですが, 使途不明の変数がある. a/b/c 型の計算があり, プログラム上は一意の結果を与えるが, 人が読んでわかりにくい.
    次に heikin.max.min.f と hensa.f だが, あららダメだねこりゃ. お約束が身についていない. 計算結果は良さそうなのに, この段階では結果オーライじゃないからね.
    最後に hyo.f なわけだが, こりゃちっとも説明になってないじゃん. つまんない式がどんな意味を持つかの説明すらない.
    h05s2018
    problem2.1.f, problem2.2.f (20070706j): 三番には進めなかったらしい. 別に一番から順にやらなくてもよかったのにね.
    まず problem2.1.f ですが, えと, もしも本当に説明文通りの計算をしたのなら, それ間違ってるよ. でも説明文とプログラムとが一致していないというミスもあるので, 結果は救われてるけど......(苦笑)
    次に problem2.2.f ですが, 説明文の日本語がおかしいのか何なのか, 意味が取れないんですけど, ねぇ. プログラム自体はエラーでコンパイルできないんだけど, せっかくエラーメッセージ出てるのに見ないんだもんなぁ. プログラムの方針も筋が悪く, プログラムである意味が極めて少ないものを作ろうとしている (でも出来ていない).
    h05s2019
    problem2.1.f, problem2.2.f, problem2.2s.f, problem2.3.f (20070705t): まず problem2.1.f ですが, 結果の表示がこれまたユニークだが, そもそも説明通りに割算を実行したら, その答えは誤りなんですけど.
    次に problem2.2.f ですが, ふぅん, テキストに書いたお約束は守ってくれないは, ムズカシイ format 文は書いてくれるわで, それにしては説明文がアレで, なかなかちぐはぐなプログラムですね. それから problem2.2s.f ですが ...... ははぁん, 説明文とプログラムが対応していない. 何なんでしょうね (笑) ?
    最後に problem2.3.f なんですけど, まあシンプルなプログラムですけど, 式はつまんないね.
    h05s2021
    test2-1.f, test2-2.f, test2-3.f (20070706f): 実行例なんだか説明文なんだかよくわからない. そもそも行が崩れていて, 非常に読みにくい文書だ.
    ではまず test2-1.f について, ええとー, 計算のアルゴリズムは特に工夫無しのパターンなんだけど, なんだかよくわからないモノをも表示してくれますね.
    次に test2-2.f ですけど, えと, 無駄な代入とループ範囲のおかしいところとか, あとお約束が守られていないとか, 文法的に 90 な範囲の書式を用いているとか, プログラムである意味が非常に少ないプログラムだとか, そんな感想です.
    最後に test2-3.f ですが, あらあらあれれ, いってることとやってることが全然全く違うんですけど...... ナニサマなのでしょうか ? 一応言っとくと, お約束は守らないし, よくわかんない足し算とかしてるし, までは確定.
    h05s2024
    kadai1.f, kadai2.f, kadai3.f (20070706n): 期限の時間に遅れて提出された.
    まず kadai1.f ですが, 暗黙の型宣言に完璧に頼っているのは, よろしくないですね. それ以外は ``;'' を使ってのマルチステートメントという規格外の記述以外は, まあこんなものか.
    次に kadai2.f ですが, ぎゃあ, なんじゃこりゃ, っていうプログラムの意味がないプログラムですね. 説明文にも「できなかった」という意味の言葉が書いてあるので, ここまでにしときましょう.
    最後に kadai3.f ですが, えーとねぇ, これ, ダメです. 見かけは悪くなさそうだけど, すぐに破綻します. 計算式自体の説明も, もう少し欲しかった.
    h05s2025
    (20070705k): 説明の文書だけ再送信のようです. ていうか, ファイル名と mo だけ違うって, どういう意味だろう ?
    problem12.f, problem2.f, problem5.f (20070704e): ええっと, 説明の文書なのでしょうか, ``編集中のドキュメント'' とかいうファイルが添付されています. 完成版じゃないのかな (笑)
    まず problem12.f ですが, コメントが */〜〜/* などとなっていたので かなり奇異な印象だ. そしてそのコメントが実際の処理内容を反映していないという...... それから, 主および副プログラムで用いている変数が一文字であり, また同じモノ {i, j, k} を使っていて, しかし対応していない, という読みにくいモノになっている. 説明の文章は, うーん, 何と言えばいいのか, 逐次行解説は Fortran の和訳なだけでしょ, ってことだ.
    次に problem2.f だが, やっぱり処理の順序性から考えてデータの入力(?)は初めに書かないと, またその書き方もイマイチだし, それから冒頭に無意味なループがあるし, 宣言されずに使用している変数があるし, 標準偏差の計算がおかしいし, コメントが実行文と合ってない所があるし, 意味不明な入力文があるし. でも最大値・最小値の所はちょっと面白いね.
    最後に problem5.f なわけだが, う〜ん, プログラムには特に不備はなさそうなんだけど, 取り上げている題材からして, 物理的にはどうよって言いたいな. なぜその開始点なのかとか, そもそも単位系がおかしな数値を用いているとか......
    h05s2026
    kadai1.f, kadai2.f, kadai3.f (20070706d): まず kadai1.f ですが, なるほど最大公約数を求めるのに, うまい手を考えましたね, でも惜しいことに変数が逆じゃないかなと思ったりする. またインデントが整っていないのでループや if 文の範囲がわかりにくくて混乱するし, 良く考えれば文の順序を直した方が良いのではないかなと思ったりもする. また最後の表示も, 気配りはとても良いのだけど, 残念ながらロジックが整理されていない.
    次に kadai2.f ですが, min,max の仮定の値が独特だし, なにやらアヤシイ数値がハードコーディングされているゾ.
    最後に kadai3.f ですが, ふうん, インデントと空白行の使い方がヘンなのでわかりにくいことと, 式がつまんないこと以外は, まあこんなものかな.
    h05s2028
    Problem2.1.f, Problem2.2.f, Problem2.3.f (20070705c):
    まず Problem2.1.f について, 最も単純な形のプログラムですね. しかしよくわからない説明です. 説明文書中にソースが埋め込まれているようで, しかし逐次行解説でもないし, またその行での処理とは違うことが書いてあったり.
    次に Problem2.2.f ですが, まあこんなもんかな.
    最後に Problem2.3.f ですが, これもまあこんなもんかな, 式はつまんないけど.
    h05s2029
    Program2.1.f, Program2.2.f, Program2.1.3.f (20070705s):
    まずは Program2.1.f について, シンプルなパターンだなと思ったら, 例外処理が付け加わってるが, それがまたなやましい. ある場合には答えの表示が二重(?)になってしまうのは, 意図通りなのか, 説明文に無いから意図しない動作なんだろうな〜.
    次に Program2.2.f ですが, あーー, これじゃあ間違った答えが出てくるよ. せっかく簡単なデータで実行したのに, 意味ないじゃん. ていうか, 題意を満足する計算結果になってないしぃ.
    最後に Program2.1.3.f について, まあ簡単なプログラムだね, 式はつまんないけど.
    h05s2030
    kadai2-2-2.f (20070705f): ちょっとよくなったらしい. 後から添付忘れのものが追加で送られてきた.
    では kadai2-2-2.f について, desukasai とか hennsait とか言語不明瞭なのが笑いを誘う. そうですか偏差値が気になるんですか, それにしては違うものを計算してるしね. 何やってんだか. ていうか, どこが良くなったん ? って感じなんですけど.
    kadai2-1.f, kadai2-2.f, kadai2-3.f (20070702c): 実行例と説明の文書がありません.
    まず kadai2-1.f について, 最もシンプルな形ですね. でもそれなら, こんなに沢山の変数はいらないんじゃないかという気もするが......
    次に kadai2-2.f について, まず, 使用していない変数を定義している. データの数がハードコーディングされているので, 変更しにくい. 組込み関数と同じ名前の変数を使っているので, 処理系によってはまずいことになる可能性がある. ゆったりと書いているので, 読みやすいことは読みやすいのだけど, 一部謎なコメントがある (typo か ?).
    最後に kadai2-3.f について, あぁ, これもシンプルにまとめたねぇ. 計算式はつまんないけど.
    h05s2034
    kadai1.f, kadai2.f, kadai3.f (20070706k): ちなみにメールの送り先が「ミヤタt」なのだそうだ. どこの誰だろう ?
    まず kadai1.f について, もっとも簡単なパターンで小細工無し. 説明の日本語文がイマイチだけど, プログラムはまあこんなものか.
    次に kadai2.f だが, えと, まずお約束を守っていないとか, アルゴリズムの説明が抜けてる場所があるとか, 説明の日本語が変だとか, そんな感じです.
    最後に kadai3.f ですが, まああんなもんなのでしょうか, ループの範囲が気になるとか, 式がつまんないとかはありますが.
    h05s2036
    problem1.f, problem2.f, problem3.f (20070705i): 説明文は全く同じらしい. ソースが付いてるのが新しいのかな. でも幸か不幸か前の説明文中に書いてあったから, ね. えっと, そう言えばエクセルファイルが付いてるのか.
    problem1, problem2, problem3 (20070704g): 送られてきたプログラムはバイナリのようです. 説明文の中にソースがあるので, それを見てみましょう.
    まず problem1 について, 最もシンプルな計算ですね. 説明文も, 勘所は押さえています.
    次に problem2 について, よくまとまっています. 説明文も, まあまあです.
    最後に problem3 について, まあこれも良いんじゃないの, 計算式はつまんないけど. あっ, そうそう, せっかくの倍精度変数が泣くような事してるし.
    h05s2039
    fraction.f, calculation.f, energy.f (20070702a): おっとっと, 説明の文書であるらしい .odt ファイルは, いったい何のアプリで開けばいいんだ ?? ...... OpenOffice をインストールして, それで読みました.
    まず fraction.f について, 適度に区切ってあって読みやすいし, 説明文もしっかりしてますね. 惜しむらくは, こんな簡単なプログラムならドキュメントをしっかりしておけば大丈夫だとは思うけど, 一文字の変数が 9/13 も有るのがイマイチ. ちなみに 9/13 は約分できませんネ :-p
    次に calculation.f について, まず受け付けるデータ数の最大値があるのだが, 使用者にはそれがわからない, そして入力も format 文で桁数形式など指定されているが, 使用者にはその形式は不明だし, また人力でデータの数値を入力するときには危険だ (往々にしてヒトは(形式を含めて)入力ミスをする). まあそれ以外には, 概ね見やすく整理されているし, 説明の文書もまあ分かる. そうそう, ここでも組込み関数名と同じ名前の変数を使っているね. うむぅ, エラーにはならないみたいだけど......
    最後に energy.f ですが, おっとっと惜しいな. まず一つめは, みかけの話. 末尾の出力関係の所が, ぐちゃっとしてるね. 二つめが, 何というのか, 作表に関する話. すなわち横軸に対応する値は, 人が適当に (本当にいい加減な順番と間隔で) 入力するのかいってこと. それでプロットして点を順に結ぶと, それはあなたが意図したグラフですか ?
    おまけだけど, format 文の H 形編集記述子って, 後続の文字数を人間が数えてコーディングしなくちゃいけないから, 使いづらいんだよね.
    h05s2043
    exercise2-1.f, exercise2-2.f, exercise2-3.f (20070706i): なんか, どっかで見たことあるような説明文というかプログラムというか ...... (苦笑)
    まず exercise2-1.f ですが, ええとー, 計算のアルゴリズムは特に工夫無しのパターンなんだけど, なんだかよくわからないモノをも表示してくれますね.
    次に exercise2-2.f ですけど, えと, 無駄な代入とか, あとお約束が守られていないとか, 文法的に 90 な範囲の書式を用いているとか, プログラムである意味が非常に少ないプログラムだとか, そんな感想です.
    最後に exercise2-3.f なんですけど, ふうん, お約束は守らないし, よくわかんない足し算とかしてるし, こうやっては説明文とは違うことになっちゃうよとか思うわけですし, おまけに式がつまんないとかね.
    h05s2045
    problem1.f, problem2.f, problem3.f (20070706m): はじめの二つには, 簡単すぎる説明らしき文言, 三つめには意味不明の文章. 何がやりたいんだ ? あ, 実行例もないね.
    まず problem1.f ですが, ......, 状況が全くわかっていない感じですね, それとも分数の計算が出来ない ? (いくらなんでも理工系の大学生でそれはないだろう)
    次に problem2.f ですが, ええと, お約束を守っていないことと, おかげで無意味な変数の型宣言になってることと, 無意味な代入と, そんな感じ.
    最後に problem3.f について, えーと, 何やってるか, わかりませんというか, 解読する気にもなりません. 「少なくとも課題を満足するプログラムではない」ということは, わかるけど.
    h05s2049
    problem2.1.f (20070720): 訂正版らしい
    では problem2.1.f について, どらどら, あ, コンパイルエラーとなるのを直したんですね.
    problem2.1.f, problem2.2.f, problem2.3.f (20070705b): 前回間違ったファイルを送ったそうで, 出し直しらしいです. 実行結果と説明文は全く同じなようです. プログラムのソースを送ってきたということのようです.
    まず problem2.1.f について, あぁなるほどね, (今のところ) 最短のプログラムですね. と思ったら, コンパイルエラーだ. どうやって実行結果を得たんだろう ? (笑)
    次に problem2.2.f ですが, 正しく動作しなさそうな read 文のファイル終了指定子には何の意味があるのだろうか ? あと open 文の form 指定子の意味もよくわからない. まあそれ以外は, まあこんなもんでしょう.
    最後に problem2.3.f ですが, まあプログラム自体には誤りはなさそうだけど, 前述 (あ, 下記か) の様に, 計算結果は説明と食い違っているような気がする.
    problem2.1, problem2.2, problem2.3 (20070704f): えっと, これもまた, 送られてきたプログラムがバイナリのようです.
    出し直しがあるから詳しくは後にするけど, problem2.3 の計算結果, 間違ってるような気がするのですが......
    h05s2050
    p21.f, p22.f, p23.f (20070705n):
    まず p21.f だけど, あぁ前のと同じだ.
    次に p22.f だけども, 本質的な変更はなく, あいかわらず無駄なことやってるね. 実行例は課題を満足していないし.
    最後が p23.f だけど, 変な説明してるなぁ. 勝手に決めないで, ちゃんと文法を確認して, それに従えよな. それから式もつまんないし.
    p21.f, p21.f~, p22.f, p22.f~, pr23.f (20070703b): あれ ? 実行結果と説明文は ??
    まず p21.f だけど, 最も簡単な処理に, 何やら特別な処理が付け加わっている. 結果がちょうど 1 の時と, 偶然に分母が同じ場合. まあ計算自体は合ってるんでしょうけどね, こんな半端な例外処理が追加されている意味が, よくわからないなぁ. ちなみに wo ってナンダ ??
    次に p22.f は, まあこんなもんかな, 一部に無駄な処理/計算とか, 扱えるデータ数に限りがあるのに説明がないとかの, 不都合な真実があるけど.
    最後に pr23.f なんですけど, ええと, 何をやっているのでしょうか ?? ちっとも課題を満足するプログラムじゃないよね.
    h05s2051
    bunsu.for, a.out, 数値解析.txt (20070706h): わけのわからないレポートだと自覚はしているらしいが, 本当にわけのわからないものが送られてきている. あ, 一番だけなのね, 二番と三番はわからなかったと.
    えと bunsu.for ですが, きゃぁ, 何の計算をしているのか全く分かりません. まあ一部分の予想はつくのだけど. 説明文もメチャクチャのクチゃで, まともな言葉/用語の使いかたになっていないので, 意味不明です. 確かに本人の自覚通りなのですが......(苦笑
    h05s2052
    problem2.1.f, problem2.2.f, problem2.3.f (20070706g): 送り直したものらしい. ソースには変更なしで, 説明文も前のものを切り出しただけで本質は変わらない. 実行例は, まあそれなりのものだけど, 1 は少し表示が乱れてるし, 3 はやっぱり意味不明だ.
    problem2.1.f, problem2.2.f, problem2.3.f, kadai problem1.f, kadai problem2.2.f, kadai problem2.3.f (20070705v): これはまた, 不思議なものが届いた気がする. たとえば ``kadai problem1.f'' っていうのに Fortran プログラムのソースじゃなくって, また実行例も...これって日本語文字のアルファベット(いわゆる全角)で出力されるのかい ?
    で problem2.1.f ですが, もっともシンプルなパターンに例外の場合の計算方法が組み合わされている. もちろん限られた例外なので, 効果を発揮するパターンは限られている. あとお約束が守られていない.
    次に problem2.2.f ですが, まあこんなもんかねぇ. 変数名に統一性がないのは何故なのか気にはなるけど.
    さいごに problem2.3.f なんだけど, 微妙に課題に答えていないような気がする. 説明文の「プロットするときは〜」の文も意味不明だし.
    h05s2053
    problem1.f, problem2.f, problem3.f (20070705h): ふむぅ, これはプログラムの説明と言うよりは, 感想だねぇ. 「説明する」ってことが出来なくちゃ, あとあと困るヨ.
    まず problem1.f ですが, まあ普通なんですが, 特定の結果の場合だけ決め打ち的に結果を表示するようだ. なぜその時だけ ? という気はするが.
    次に problem2.f ですが, あぁいきなり変なことやってるし, 汎用性に欠けるし, 無駄無駄とかの困った四乗をやってるヨ. これじゃあ結果オーライってわけにはいかないね.
    最後に problem3.f ですが, ええと変なことやってるとか, つまんない式だとか以外は, まあこんなもんでしょうか.
    h05s2055
    program2.1.f, program2.2max.f, program2.2mini.f, program2.2x.f, program2.2s.f, program2.3.f (20070705m):
    まず program2.1.f について, 最も簡単なタイプだね. 説明文も簡単すぎるせいか, 微妙に不自由な日本語だし.
    次に program2.2max.f, program2.2mini.f なんだけど, 著しく勘違いも甚だしいプログラムだね. 最大値(または最小値)を求めることと, ある値に等しいかどうかとは, 全然全く少しも一寸もちびっともおんなじことじゃないよ. そもそもその「ある値」を選んだのはナゼ?? と聞きたいね.
    それから program2.2x.f, program2.2s.f だけど, プログラムで計算する意味が, ほとんど無いと言って良いプログラムだ. あ〜ぁ.
    最後が program2.3.f なんだけど, えっと方針は悪くないのだけど, 式はつまんないし, 期待通りの表示じゃないし.
    h05s2058
    problem1.f, ploblem2.2.f, problem2_3.f (20070706c): 修正版らしい. けど, ソースと実行例と説明のファイル構成が違うだけで, プログラムの本質は変わらないみたい.
    課題1, 課題2, 課題3 (20070705y): えっと, 何でしょう ? あぁ, プログラムと実行結果と説明文がいっしょくたになったファイルなのね.
    では 課題1 について, お約束が守られていない, 非常に特殊な場合についての例外処理が加わった, もっとも簡単なタイプのプログラムですね.
    次に 課題2 ですが, えーこれもお約束が守られていない, あとはまあこんなもんか.
    最後に 課題3 ですが, 悩ましいです. どこがバグってるのか探す気はないけど, 本来の機能が発揮されないプログラムになってると思うのだが, それについて何の説明も無いことから, 本人は全く理解していないものと予想されます. その結果, 余分な出力はゴミ程度に減少しており, 課題を満たすかのような出力になってしまっている. 言い換えれば, 災い転じて福となす (?)
    h05s2062
    kadai1, kadai1_2, kadai1.f (20070706o): これも提出期限に遅れているのだけど, どうしろというのだろう. おまけに送られてきているモノが謎だし.
    とりあえず kadai1.f について, 暗黙の型宣言に完璧に頼っているのは, よろしくないですね. それ以外は ``;'' を使ってのマルチステートメントという規格外の記述以外は, まあこんなものか.
    h05s2063
    problem21.f, problem22-1max.f, problem22-2min.f, problem22-3heikin.f, problem22-4hyoujyun.f, problem23.f (20070705p):
    まず problem21.f ですが, 最もシンプルなタイプだが, 何をどう計算するのか, 使用者にわかりにくい.
    次に problem22-1max.f と problem22-2min.f ですが, あ〜ぁ, まあ自分で「別のデータで最大値を求めることはできない。」と白状しているだけマシか. もう一歩進んで, 「最大値を100と指定し」てしまうといったい誰が最大値を求めたことになるのか, 考えてほしかった. 最小値についても同じ.
    それから problem22-3heikin.f と problem22-4hyoujyun.f だけど, これまた確信犯なのね. ていうか, そういうプログラムにプログラムとしての意味があるのかを考えてほしいよね.
    最後に problem23.f ですが, 骨格はいいけど, つまんない式だし, 出力は題意を満たしていない. どういうつもりなのかなぁ.
    h05s2064
    kaito1.f, kaito2.f, kaito3-1.f (20070705q): すぐに正しいメールが来たけど, 説明の文書とかはどこだろう ? と思ったら, バイナリと思ってたのが説明文ファイルなのね. 文書については前と同じでソースを追加してきたということか. 一番のソースは同じモノらしいので, 二番から.
    では kaito2.f について, あぁそうしちゃったのか, お約束を守らないし, 無意味なコトしてるとか, 論理の順序をもう少し考えてほしいとか, まあそんなとこですね.
    次に kaito3-1.f だけど, 予想通りのプログラムではあるが, ソースを見てもやっぱり物理的意味がわからないなぁ. もしかしたらあれかなぁと, 微かに思い当たる所もあるが, 本人が説明していないことを勝手に補っては誤解の元だしねぇ.
    kaito1.f, kaito1, kaito2, kaito3, kaito2, kaito3-1 (20070705o): ひとつはソースだけど, それ以外はバイナリが沢山送られてきた. なんだろう ?
    では kaito1.f では, 主および副プログラムで用いている変数が一文字であり, また同じモノ {i, j, k} を使っていて, しかし対応していない, という読みにくいモノになっている. ということ以外は, まあまあですね. あぁ, このファイルは説明文だったんだ. で, 説明内容ですが, その方法って「通分」のためのものなのですか ? と, 問い詰めたい.
    とすると kaito2 は, ...... やはり文章か, でもソースがないからわからない.
    さいごの kaito3 は, 物理的意味がもうさっぱりわからない説明だ, いや説明になってないヨォ.
    h05s2069
    kadai1.f, kadai21.f, kadai22.f, kadai23.f, kadai24.f, kadai3.f (20070704c):
    まずは kadai1.f について, まあ, 最もシンプルなタイプのプログラムですね.
    次に kadai21.f と kadai22.f について, 「表より、最大値は100(最小値は60)であるから」って, それじゃあ *プログラムで値を求めた* ことにならないのでは ?
    それから kadai23.f について, これは平均を求めるらしいのだが, 「あらかじめsの値が1729になることがわかっている」云々ならば, そもそもあらかじめ平均が 75.17〜 であることはわかっているので... ってことになっちゃって, それじゃあプログラムで計算して求めるのと違うでしょうに.
    さてそれから kadai24.f についても, 同上.
    最後に kadai3.f なわけですが, まあプログラムはこんなもんでしょう, 数式はつまんないけど.
    h05s2073
    bunsu.f, heikin.f, hhensa.f, program3.f (20070706b): 「プログラムのファイルと実効値、説明をべつにし」たらしい. プログラムについての修正はないらしいので......
    分数の足し算のプログラムと説明.f, 平均、最大値、最小値のプログラムと説明.f, 標準偏差プログラムと説明.f, prblem2-3のプログラムと説明.f (20070705l): プログラムファイルみたいに見えて, 中身はプログラムと結果と説明ですか, そうですか. つまり送られてきたファイルそのままでは, コンパイルできないということですね. しかもファイル名が日本語文字だからコマンドラインで扱いにくいし...... そしてこれまた, 説明が説明としてまとまりのない散漫な文だ. なんだかなぁ.
    まず 分数の足し算のプログラムと説明.f について, 何をやるかのガイドが表示されるのは良い, しかし何を入力するのかがわからないのは惜しい. 結果はまあ簡単な計算のものが表示されるのだが, それ以外に意味の良くわからないものが表示されるようだ.
    ええっと次は 平均、最大値、最小値のプログラムと説明.f なわけだけど, あぁお約束を守ってくれていないのか. やるなと言ったことほどやりたがるのかねぇ, なんだかなぁ.
    長い名前だから別にしたけど, 次が 標準偏差プログラムと説明.f なわけだが, これも前のと同じなんだぁ. ふうん. 説明もイマイチだしねぇ.
    最後が prblem2-3のプログラムと説明.f だそうですが, ええと, プログラムの骨格はお約束を守らないことと, 題意を満足しないこと以外は, 式もつまんないし, まあこんなもんかな.
    h05s2075
    bunsuu.f, de_ta.f, gurahu.f (20070705x): なんかさぁ, 日本語っていうか, メチャメチャなわけよ.
    まず bunsuu.f について, シンプルなパターンに特殊な例外を追加してる. これ, 他にもやってる人多いんだけどさ, 何か意味あるのかなぁ.
    次に de_ta.f ですが, お約束を守ってくれないことと無駄な計算をしていること以外は, まあこんなもんでしょうか.
    さいごの gurahu.f が悩ましいです. どこがバグってるのか探す気はないけど, 本来の機能が発揮されないプログラムになってると思うのだが, それについて何の説明も無いことから, 本人は全く理解していないものと予想されます. その結果, 余分な出力はゴミ程度に減少しており, 課題を満たすかのような出力になってしまっている. 言い換えれば, 災い転じて福となす (?)
    h05s2079
    bunsuu.f, saidaiti.f, saisyouti.f, heikin.f, hyouzyunhensa.f, ziyuurakka.f (20070704b):
    まず bunsuu.f だが, 最も簡単な方式のプログラムになっている. ただし, 使いにくくないかい ?? と言ってみる.
    次に saidaiti.f と saisyouti.f なのだが, 「表5より最大値が100とわかっているので」って, それじゃあ何のために最大値/最小値をプログラムで求めようということなのだろうか, って思いませんか ??
    それから heikin.f と hyouzyunhensa.f なわけだが, データの数がもっともっとあったら, 一体どうするつもりだろう ? と思わずにはいられない. 変数の型を選択した理由の説明が論理的におかしいと思うんだけどね, どうでしょう.
    最後に ziyuurakka.f だが, プログラム自体はまあこんなもんでしょとは思うが, 説明に首をかしげるな, やっぱり. カウンタの増分がそうなるのって, 変数の型のせいなのか ? ってね.

    (2007-07-24, 14:50 更新)