プログラミングの基礎

数値計算及び実習
第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(3)
X(4)
X(5)
・配列の場合
配列X X(1)
X(2)
入
力
ファイル入出力
今まで説明してきた入出力
入力: キーボードから
出力: 画面へ
入力: ファイルから
データを読み込む
出力: ファイルへ
データを書き込む
プログラム
処
理
結果
出
力
入
力
プログラム
出
力
ファイルについて
• ファイルとは?
コンピュータで扱うデータ(文字、数字など)を
まとめたもの
• ファイルの一覧を見るには? (端末エミュレータで)
ls : ファイル名の一覧が表示される
ls -l : ファイルの名前+サイズ等の一覧
• ファイルの中身を見るには? (端末エミュレータで)
cat [filename] : ファイルの中身を表示
more [filename] : 中身をページ毎に表示
less [filename]:
〃
OPEN文
ファイルへの入出力を可能な状態にする
(=ファイルを開く)命令
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文では、以下の内容は省略可
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文+READ文
ex. TEST.DAT という名前のファイルを開き、
そこからデータを読む
OPEN(11,”TEST.DAT”,STATUS=OLD)
装置番号
ファイル名
・
・
・
READ(11,*) X
装置番号
status
ファイルへのデータ出力
• OPEN文+WRITE文
ex. TEST.DAT という名前のファイルを新たに作り、
そこからデータを書き込む
OPEN(12,”TEST.DAT”,STATUS=NEW)
装置番号
ファイル名
・
・
・
WRITE(12,*) X
装置番号
status
ファイルのクローズ
ファイルを閉じる命令
(=ファイルと装置番号を切り離す)
CLOSE(u,STAT=’st’,IOSTAT=’io’)
u : 装置番号(0以外)
st : KEEP or DELETE
io: 0[OK] or 正[Error] or 負[ファイル終了]
ファイルOPEN、CLOSE
OPEN → データの通り道をつくる
CLOSE →
〃
を閉じる
プログラム
1.0
1.5
2.8
処理
データファイル(1)
OPEN (装置番号11)
READ(11,*)
1.5
CLOSE (装置番号11)
2.8
×2
データファイル(2)
2.0
3.0
5.6
1.0
2.0
(装置番号12)
WRITE(12,*)
3.0
5.6