数値計算及び実習 第7回 プログラミングの基礎(5)
実習内容 1. 配列 2. ファイル入出力 補足説明 ・ファイルのオープン ・ファイルからのデータ読み取り ・ファイルへのデータ出力 ・ファイルのクローズ
配列と普通の変数の違い ex. 5個のデータ(実数)を記憶する場合 ・普通の変数を使用 INTEGER X1,X2,X3,X4,X5 → 5個の変数を宣言 (各変数同士は無関係) ・配列を使用 DIMENSION X(5) → 5個の値を記憶できる配列を宣言 (5個の値を一まとまりとして扱える)
配列と普通の変数の違い(2) X1 X2 X3 X4 X5 ・普通の変数の場合 ・配列の場合 X(1) X(2) X(3) X(4)
ファイル入出力 今まで説明してきた入出力 入力: キーボードから 出力: 画面へ 入力: ファイルから データを読み込む 出力: ファイルへ データを書き込む プログラム 処理 出力 結果 プログラム 入力 出力
ファイルについて ファイルとは? コンピュータで扱うデータ(文字、数字など)を まとめたもの まとめたもの ファイルの一覧を見るには? (端末エミュレータで) ls : ファイル名の一覧が表示される ls -l : ファイルの名前+サイズ等の一覧 ファイルの中身を見るには? (端末エミュレータで) cat [filename] : ファイルの中身を表示 more [filename] : 中身をページ毎に表示 less [filename]: 〃
OPEN文 OPEN(u,FILE=’name’,STATUS=’st’, ファイルへの入出力を可能な状態にする (=ファイルを開く)命令 OPEN(u,FILE=’name’,STATUS=’st’, ACCESS=’ac’,FORM=’fm’,IOSTAT= ’io’,RECL= ’rl’) u : 装置番号(0以外) name : 入力、出力するファイルの名前 st :ファイルの状態 st=NEW → 新しくファイルを作成 st=OLD → すでにあるファイルを開く st=UNKNOWN → あれば上書き、無ければ作成
OPEN文(続き) OPEN(u,FILE=’name’,STATUS=’st’, ACCESS=’ac’,FORM=’fm’, IOSTAT= ’io’,RECL= ’rl’) ac : SEQUENTIAL or DIRECT fm : FROMATTED or UNFORMATTED io: 0[OK] or 正[Error] or 負[ファイル終了] rl : レコード長
ファイルからのデータ入力 OPEN(11,”TEST.DAT”,STATUS=OLD) READ(11,*) X OPEN文+READ文 ex. TEST.DAT という名前のファイルを開き、 そこからデータを読む OPEN(11,”TEST.DAT”,STATUS=OLD) status 装置番号 ファイル名 ・ READ(11,*) X 装置番号
ファイルへのデータ出力 OPEN(12,”TEST.DAT”,STATUS=NEW) WRITE(12,*) X OPEN文+WRITE文 ex. TEST.DAT という名前のファイルを新たに作り、 そこからデータを書き込む OPEN(12,”TEST.DAT”,STATUS=NEW) status 装置番号 ファイル名 ・ WRITE(12,*) X 装置番号
ファイルのクローズ CLOSE(u,STAT=’st’,IOSTAT=’io’) u : 装置番号(0以外) ファイルを閉じる命令 (=ファイルと装置番号を切り離す) CLOSE(u,STAT=’st’,IOSTAT=’io’) u : 装置番号(0以外) st : KEEP or DELETE io: 0[OK] or 正[Error] or 負[ファイル終了]
ファイルOPEN、CLOSE OPEN READ(11,*) WRITE(12,*) CLOSE データファイル(1) プログラム 処理 (装置番号11) OPEN 1.0 1.0 READ(11,*) 1.5 1.5 CLOSE (装置番号11) 2.8 2.8 処理 ×2 データファイル(2) 2.0 3.0 5.6 2.0 (装置番号12) 3.0 WRITE(12,*) 5.6