02_変数の扱い

はじめに

この資料では、「変数」について学びます。変数とは、「変更可能な値」を一時的に記憶しておく箱のようなものであり、プログラム中の処理に欠かせない基本要素です。


データ型の宣言

プログラム上で扱うデータは必ず何らかのデータ型が必要です。

変数を使うには、まず「どのような型か」を明示する必要があります。 疑似言語で使われるデータ型を下記に挙げます。

整数型: num
実数型: rate
文字列型: name
論理型: flag

代入の基本

num ← 100
rate ← 3.14
name ← "太郎"
flag ← true
整数型: count ← 0

論理型の活用例

論理型: isAdult
整数型: age ← 20

if ( age が 18 以上 )
    isAdult ← true
else
    isAdult ← false
endif

変数の再代入(上書き)

変数は、同じ名前を使って何度でも値を上書きできます。

整数型: x
x ← 5
x ← 10  // 上書きされる

変数の入れ替え (定番アルゴリズム)

変数AとBの値を交換するには、**一時変数(temp)**を使います。

整数型: A ← 3
整数型: B ← 7
整数型: temp

temp ← A
A ← B
B ← temp

一時的にデータを置く変数を用意する必要がある。 temp、tmp、work などといった変数名になる。

コピー先 ← コピー元
コピー先 ← コピー元
コピー先 ← コピー元

前の行のコピー元が、次の行のコピー先になる。


理解度チェック問題

問題1

次の処理を実行した後のA, Bの値として正しいものは?

整数型: A ← 3
整数型: B ← 7
整数型: temp

temp ← A
A ← B
B ← temp
正解と解説 正解:**イ** AとBの値が交換され、A = 7, B = 3になります。

問題2

次の空欄(____)に入る正しい変数名はどれか?

整数型: A ← 2
整数型: B ← 3
整数型: C

____ ← A + B
正解と解説 正解:**エ** C ← A + B とすることで結果をCに保存できます。

問題3

次の処理を実行すると、countの値はどうなるか?

整数型: i
整数型: count ← 0

for ( i を 1 から 5 まで 1 ずつ増やす )
    if ( i MOD 2 が 0 と等しい )
        count ← count + 1
    endif
endfor
正解と解説 正解:**ア** 偶数は 2 と 4 → count は 2

問題4(論理型の使用)

次の処理を実行したときのflagの最終値は?

論理型: flag ← false
整数型: x ← 9

if ( x MOD 3 が 0 と等しい )
    flag ← true
endif
正解と解説 正解:**ア** 9は3の倍数 → 条件成立 → flag ← true