3章:命令と入出力
3.1 代入文
ここでは、代入文について説明する。
代入文は変数に値を代入するもので、代入文を実行すると変数や配列要素に値が割り当てられる。
代入文は以下のように書く。
変数=式
■代入後の変数の変化のしかた
(例)変数A、B、C、Dが
REAL : : A,B !実数型変数
INTEGER : : C,D !整数型変数
と宣言され、次の代入文が順に実行された場合の変数の値は以下のように変化する。
A=9.23 !変数Aは9.23が代入される
B=2**3 !変数Bは8.0が代入される
C=12 !変数Cは12が代入される
この後に使われる変数A、B、Cは、
それぞれの変数に代入した値が使われる。
D=B+C/5 !変数Dは「8.0+12/5」の値10が代入される
A=A+D !変数Aは「9.23+10」の値19.23が代入される
■型混合代入文
値が整数になる式を実数型変数に代入すると、整数値が実定数に変換され変数に代入される。
(例)変数A、Bが実数型変数で、Cが整数型変数で値が15の場合
A=5 !変数Aは実数値5.0が代入される
B=C/2 !変数Bは「15/2」の実数値7.0が代入される
値が実数になる式を整数型変数に代入すると、実数値の小数点部分が切り捨てになり、整数部分だけ変数に代入される。
(例)変数A、B、Cが整数型変数で、実数型変数Dの値が2.25の場合
A=5.56 !変数Aは整数値5が代入される
B=D*3 !変数Bは「2.25*3」の整数値6が代入される
C=A+B !変数Cは「5+6」の整数値11が代入される
このような場合、代入先の変数A、B、Cの値は小数点以下が切り捨てられ、本来の値とかなりの誤差を生じてしまうため、型混合代入は使わないほうがよい。
値が実数となる式の小数部分を切り捨て、整数部分だけを代入する必要がある場合は、整数型へ変換(切捨て)する関数を使い、以下のように書く。
B=INT(D*3)
■文字代入文
文字型変数に値を代入したり、文字列を変更したりすることができる。
(例)文字変数A、B、Cが
CHARACTER(7) : : A
CHARACTER(10) : : B
CHARACTER(3) : : C
と宣言され、次の代入文が順に実行された場合、変数の値は以下のようになる。
A="keyring" !変数Aの値は"keyring"となる
B="keyring" !変数Bの値は"keyring⊔⊔⊔"となる(⊔は空白)
C="keyring" !変数Cの値は"key"となる
A(4:7)="word" !変数Aの値は、すでに代入されている"keyring"の
4桁目から7桁目が"word"に換わり、変数Aは
"keyword"となる
部分列代入の時は、代入される部分列が代入する部分列と重ならないようにする。
(例)変数A="keyring"の場合、
正 A(2,4)=A(5,7)
誤 A(3,6)=A(4,7)