課題のやり方


大まかな流れ

  1. プログラムのソースファイルを作る。
  2. プログラムをコンパイルする。
  3. 必要に応じて,入力ファイルを作る。
  4. プログラムを実行する。
  5. 問題なければ,レポートとして提出する。
※ プログラミング上での諸注意はこちら

1.プログラムのソースファイルを作る

  1. 端末上のテキストエディタを起動する。
  2. プログラムを入力する。
    (例)
    PROGRAM TEST
    IMPLICIT NONE
    REAL :: A,B,WA
    WRITE(*,*) 'A,B='
    READ(*,*) A,B
    WA=A+B
    WRITE(*,*) 'A+B=', WA
    STOP
    END PROGRAM TEST
  3. 適当なファイル名をつけて保存する。
  4. テキストエディタを終了する。
テキストエディタ
 各OSの標準テキストエディタ
  Mac OS X: テキストエディット
  ※はじめに,「フォーマット」→「標準テキストにする」選ぶこと。
  Windows: メモ帳 または ワードパッド
 より便利なテキストエディタがフリーソフトであります。 探してみると良いでしょう。
 情報基盤センターの端末では,mi が便利です。

1A.プログラムのソースファイルを修正する

  1. テキストエディタを起動する。
  2. 「ファイルを開く」からソースファイルを開く。
  3. 修正する。
  4. 「保存」や「上書き保存」からソースファイルを保存する。
  5. テキストエディタを終了する。

2.プログラムをコンパイルする

  1. レポート作成/提出ページを開く。
  2. 登録した「学生番号」と「パスワード」を入力し,『ログイン』を押す。
  3. 「ソースファイル」の『参照』を押し, 1.c.で保存したプログラムファイルを選択する。
    ※ 課題1の場合,HTMLファイルを選択する。
  4. 『コンパイル』を押す。
    ※ 課題1の場合,『提出』を押す。 → 課題1の提出終了
  5. コンパイルに成功した場合,入力ファイルを問うページが表示されます。
    ※ コンパイルに失敗した場合,1A.でプログラムの修正を行い, ブラウザの戻るボタンを押し,再度d.から行う。

3.入力ファイルを作る

プログラム実行時,データの入力が必要な場合, 以下の手続きで入力ファイルを作る。
  1. 端末上のテキストエディタを起動する。
  2. 入力用データを入力する。
    (例: 上記のプログラムでは2個の数値を入力する)
    25, 38
  3. 適当なファイル名をつけて保存する。
  4. テキストエディタを終了する。

4.プログラムを実行する

2.e.から以下の手順でプログラムを実行する。
  1. 入力ファイルがある場合,「入力ファイル」の『参照』を押し, 3.c.で保存した入力ファイルを選択する。
    入力ファイルがない場合,「入力なし」のチェックボックスにチェックを入れる。(入力ファイルの選択は不要)
  2. 『実行』を押す。
  3. 「□プログラムは正常に終了しました.」と表示された場合,プログラム実行に成功。
    エラーが表示された場合は,そのエラーに従って修正を行う。

5.レポートを提出する

4.c.で出力された結果を検討し,課題をクリアしたと判断したら, 以下の手順でレポートを提出する。
なお,出力された結果は『ダウンロード』を押すとファイルに保存できます。
(例: 上記のプログラムと入力の場合)
A+B= 63.0000000
  1. 「課題番号」を選択する。
  2. 「選択問題」を選択する。
  3. 必要であれば「連絡事項」を入力する。
  4. 『提出』を押す。 → 課題の提出終了
レポート提出状況の該当欄に「提出」と表示されているか確認する。

プログラミング上での諸注意

課題を行う際に間違いやすい点、よく疑問に思われる点を以下に示す。
なお,以下の数字についての記述は,最近の汎用計算機を基準に述べている。 環境や条件によっては異なることに注意。

数字の表現

コンピュータだからといって,数字を正確に扱っているとは限らない。
n桁の2進数によって整数や実数を表していて, 形式によって表現範囲や有効桁数が異なっている。
たとえば,
integer :: i
のようにプログラム中で書くと変数iは整数として取り扱われるが, その整数の表現範囲は -2147483648 〜 +2147483647 となる。

実数の有効桁数

プログラム中で
real :: a
のように書くと変数aは実数として取り扱われる。 これを実数型の変数とよぶ。
実数型の有効桁数は7桁程度である。 たとえば,0.1を10個足し合わせても1にはならず,1±0.0000001... となる。
したがって,どの程度の誤差があるか意識してプログラムする必要がある。
もう少し詳しく述べると,実数型は単精度浮動小数点数とよばれる32桁の2進数で表現されている。
より高い精度が必要な場合には倍精度浮動小数点数などを用いればよい。 倍精度を用いるには,
real(8) :: a
のように,realの代わりにreal(8)と書く。 倍精度は64桁の2進数で表現され,(10進数の)有効桁数は15桁程度である。
なお,授業の課題では倍精度を用いなくてよい。

変数の初期化

変数を宣言しただけでは,その変数にどのような値が保存されているかわからない。
使用する前に初期化(初期値を代入)して使うこと。

DO変数

DO文で使用するDO変数には,整数型変数を用いること。
実数型変数を用いた場合, 実数型の持つ誤差(有効桁数)を考慮しなければならない。
プログラマー(プログラミングする人)が意図していない動作になる場合がある。

全角文字など

プログラムを見直しても誤りが見つからない場合は, 文字(特に空白や記号)が全角文字になっていないかチェックする。
※ プログラムに全角文字を使ってはいけないという事ではない。
同様に,0(ゼロ)とO(オー), 1(イチ)とI(アイ)とl(エルの小文字)など 識別しにくい文字も注意。
TOP PAGEに戻る