数値解析法 (理工学部物質理工学科) のページ


[2001 年度]

この講義は実質上は演習です。内容は大きく三つに分けられます。

今年は受講者が多いので, 全員を対象にして 鈴木・宮本・宮永 がこの順で 各パートを担当します。各パートは 4 週づつです。 とりあえずは 地球環境学科の葛西先生作成のプリント に基づいて実施します。

Unix 基礎

基本的なコマンドの使い方とエディタ (vi) については, 簡単なプリントをもとに行ないます。 もう一つのメジャーなエディタ (emacs) については, 葛西先生作成のプリントを参考にするとよいでしょう。

当初の予定では私 (宮本) がちょっとだけ担当するかと思って こんなのを作りかけたけど, 結局使われずじまい。


Fortran プログラミング入門 (5/25, 6/1, 6/8, 6/15)

重要:

出席メールの質問と回答一覧

5/25, 6/1, 6/8, 6/15
他人がどんなことを質問してそれに対する回答がどうであったか ってことに, 興味ないのかなぁ。

課題提出状況

こっち

参考書について

葛西先生作成のプリントに基づいて授業を進めますが, 本格的にやるには, きちんとした文法書を持っていた方が良いでしょう。 注意: 簡単な入門書だと必要な文法規則が省略されていて, かえってツカエナイ。

FORTRAN 66, Fortran 77, Fortran 90/95 規格の違い。 計算機メーカ・コンパイラメーカによる独自の拡張機能。


以下は葛西先生作成のプリントを補完する内容です。

プログラム作成と実行

  1. エディタでファイル (ソースファイル) を作成
  2. コンパイラで実行形式に翻訳
  3. エラーの場合
    Warning, Fatal error
  4. 実行
  5. 結果は意図した通りか ?
    Runtime error, 意図した結果でない
  6. デバッグ

大事な約束ごと

プログラムは, わかりやすく書く。
変数名・関数名・字下げ・グループ化
暗黙の型宣言には従わない, 全ての変数は明示的に型宣言する。
サンプルプログラムの修正版-(1)
C        1         2         3         4         5         6         7
C23456789012345678901234567890123456789012345678901234567890123456789012
      program ai
      implicit none
      real boku, kanojo, love

      boku = 2.5
      kanojo = 0
      love = boku * kanojo
      write(*,*) love

      stop
      end

制御構造

入出力

プリント 1.6 節, 1.8 節

練習問題

二次方程式の解を計算し, 表示するプログラムを作成してみよう。 まずは基本的なプログラムを作成し, その後に拡張していこう。
  1. 二次方程式の係数を入力すると, 解の公式により計算して得られた答を表示する。
  2. 係数の入力時にどの数字がどの項の係数に対応するのかを表示しながら, 入力を うながすように改良する。
  3. 判別式を用いて, 異なる二つの実根・重根・実数の根がない (複素数の根) の場合に分け, それぞれに応じた形式で答の表示をするように直す。
  4. プログラムを実行すると, 何をするプログラムなのかを表示する。答を表示した後に, 別の方程式の解を計算するかどうか尋ね, 繰り返し利用できるようにする。
  5. その他: 例えば入力誤りに対する対応, 解以外の情報 (例えば 上に凸か下に凸か, 頂点の座標) の表示, ...

関数とサブルーチン

ただし注意事項:

FORMAT 文

なぜこんなものがあるのか いつ使う ?
書式仕様については, 文法書を参照すること。

rmiya@stu.hirosaki-u.ac.jp