数値計算及び実習 第3回 プログラミングの基礎(1)
プログラムとは コンピュータの動作を規定し、記述したもの ソースプログラム:プログラム言語を使って 書いたもの これをうまく作るにはどうしたら良いか? → フローチャート
フローチャート フローチャートとは Begin 作業1 作業2 作業3 End 作業行程の手順、経路を図式でまとめたもの (流れ図) プログラム構成要素を処理順序にならべ、線で接続した図 作業1 作業2 作業3 End
プログラムの構成要素 C Comment ← ①コメント文 REAL X, Y READ(*,*) X ← ②変数の定義 Y = 2.0*X+1.0 WRITE(*,*) Y STOP END ← ①コメント文 ← ②変数の定義 ← ③処理内容 ← ④処理の終了 ← ④プログラムの終了
①コメント文 注釈を書く部分 プログラムに影響 を及ぼさない (この文がなくても 結果は同じ) 先頭にC or *を つける C Comment REAL X, Y READ(*,*) X Y = 2.0*X+1.0 WRITE(*,*) Y STOP END 注釈を書く部分 プログラムに影響 を及ぼさない (この文がなくても 結果は同じ) 先頭にC or *を つける
②変数の定義 変数 型+名前 REALという型をもった XとYという変数を定義 C Comment 値を入れておくもの (変更可) READ(*,*) X Y = 2.0*X+1.0 WRITE(*,*) Y STOP END 型 名前 ex. 左のプログラムでは REALという型をもった XとYという変数を定義
変数の型 整数型(INTEGER) 実数型(REAL) 倍精度実数型(REAL*8) 文字型(CHARACTER*n):n文字 複素数型(COMPLEX) 論理型(LOGICAL)
③処理内容 処理 命令文により構成される どのような命令文 があるか? (命令文とその文法) C Comment REAL X, Y READ(*,*) X Y = 2.0*X+1.0 WRITE(*,*) Y STOP END どのような命令文 があるか? (命令文とその文法) については、今後説明。
④終了 STOP END プログラムの終了 C Comment 処理の終了 REAL X, Y READ(*,*) X (プログラムの最後 には必ず付ける) C Comment REAL X, Y READ(*,*) X Y = 2.0*X+1.0 WRITE(*,*) Y STOP END
その他(注意事項) (a) 6文字空ける ただし、コメントのマーク (a) (b) 1行は72文字以内 2行に渡る場合は、2行目 (b) C Comment REAL X, Y READ(*,*) X Y = 2.0*X+1.0 WRITE(*,*) Y STOP END (a) 6文字空ける ただし、コメントのマーク (C, *)など例外あり (a) (b) 1行は72文字以内 2行に渡る場合は、2行目 の5文字目まで空白、 6文字目に0以外の数字 or & マーク (b)
命令文 ここでは、以下の2種類の命令について解説 四則演算 変数同士の足し算、引き算、掛け算、割り算 入力、出力 READ文、 WRITE文
四則演算 足し算: Z=X+Y 引き算: Z=XーY 掛け算: Z=X*Y 割り算: Z=X/Y (べき乗: Z=X**Y) 変数Xと変数Yとの演算結果を変数Zへ 代入 足し算: Z=X+Y 引き算: Z=XーY 掛け算: Z=X*Y 割り算: Z=X/Y (べき乗: Z=X**Y)
入力文 (READ文) READ(u,f) K1, K2, …,Kn データを、キーボードなどから読み込む命令 u:入力装置の指定 (*の場合、キーボードからの入力) f: format文の文番号 (*の場合、formatの指定なし) K: 変数 フローチャート での記号
出力文 (WRITE文) WRITE(u,f) K1, K2, …,Kn データを、画面などに出力する命令 u:出力装置の指定 (*の場合、画面への出力) f: format文の文番号 (*の場合、formatの指定なし) K: 変数 フローチャート での記号
Sample Program 1 C sample2.f Shisoku-Enzan 2 C T97****** 3 C Name 4 5 REAL X,Y 6 7 READ(*,*) X 8 Y=2.0*X+1.0 9 WRITE(*,*) Y 10 11 STOP 12 END コメント 変数の定義(実数:X,Y) Xの読み込み (キーボードより、書式指定なし) 演算 Yの出力 (画面へ、書式指定なし)