変数宣言とは(全体像)
変数宣言は、データを入れる「箱」をひとつ用意して、名前と中身の種類を決めること。たとえば「点数を入れる箱」を作るとき、箱には「整数だけ入れる」と種類を決めておく。これが型だ。
擬似言語では「型名: 変数名」という形で書く。たとえば`整数型: i`なら「整数を入れる、iという名前の箱」という意味になる。
ふつうのプログラミング言語のように`var`や`int`といったおまじない(予約語)はいらない。型の名前と変数の名前を、コロンでつなぐだけ。ここが擬似言語のシンプルなところだね。
詳しく:型・配列・構造体の3つだけ覚えれば戦える
ここが記事の心臓部。変数宣言の中身は、次の3つに分かれる。
5つの基本型
| 型名 | 入れるもの | 身近な例 |
|---|---|---|
| 整数型(integer) | 整数(-3、0、42) | 試験の点数 |
| 実数型(real) | 小数(3.14、-0.5) | 体重・身長 |
| 文字列型(string) | 文字のならび("Hello") | 名前 |
| 論理型(boolean) | 真か偽(true / false) | 出席フラグ |
| 文字型(character) | 1文字('A') | 成績の評価記号 |
配列は、同じ型の箱をたくさん並べたもの。たとえばクラス全員の点数をまとめて入れるときに使う。
配列と構造体の宣言
| 種類 | 書き方 | 意味 |
|---|---|---|
| 配列 | `整数型の配列: arr[1..10]` | 1番から10番までの10個の箱 |
| 多次元配列 | `整数型の配列: mat[1..3, 1..3]` | 3×3のマス目(表のような形) |
| 初期値つき | `整数型: count ← 0` | 箱を作ると同時に0を入れる |
| 構造体 | `構造型 Point { 整数型: x, 整数型: y }` | 複数の型をまとめた自作の箱 |
いちばんの注意点が、配列が1始まりということ。擬似言語では`arr[1]`が先頭の箱で、`arr[10]`が10番目。多くの言語は`arr[0]`が先頭なので、ここを取り違えると番号が1つズレてしまう。
構造体は、いくつかの箱をひとまとめにした自作の型。たとえば`Point`なら「xとyのセット」で1つの点を表せる。生徒情報なら「名前+学年+点数」をまとめて1つの箱にできる、というわけだね。
わかりやすく言い換えると
要するに、変数宣言は「中身の種類を決めた箱に、名札をつける」作業だ。
①基本型 … 入れるものの種類を選ぶ(数字なら整数型、名前なら文字列型)
②配列 … 同じ種類の箱を一列に並べる(出席番号で引き出しを並べるイメージ)
③構造体 … バラバラの箱をひとつの引き出しにまとめる(名前と点数をセットにする)
試験のツボ
🔴 一番出る:書き方は「型名: 変数名」
①コロンで型と名前をつなぐ(`整数型: i`)
②`var`などの予約語はいらない
🔴 次に出る:配列は1始まり
①先頭は`arr[1]`(`arr[1..10]`は1〜10の10個)
②多くの言語の0始まりと取り違えない
🟡 押さえると安定:5基本型と構造体
①整数・実数・文字列・論理・文字の5つ
②構造体は複数の型をまとめた自作の箱
よくある間違い
①「変数宣言には`var`などの予約語が必要」→ ✗ 擬似言語は「型名: 変数名」だけ。予約語はいらない。
②「配列の先頭は`arr[0]`である」→ ✗ 擬似言語は1始まり。先頭は`arr[1]`。
③「整数型の箱に小数(3.14)を入れられる」→ ✗ 小数は実数型。型ごとに入れるものが決まっている。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(変数宣言の書き方)
擬似言語の変数宣言に関する次の記述のうち、正しいものはどれか。
- 変数宣言は「型名: 変数名」の形で書き、整数の箱なら「整数型: i」と書く
- 変数宣言では先頭にvarという予約語を必ず置き、型名のほうは書かない決まりだ
- 変数宣言は型名だけを書けばよく、変数名は省いても問題なく通用するとされる
- 変数宣言は名前と型を等号でつなぎ、「i = 整数型」のように記述すると決まる
解答は 1 だよ。
擬似言語の変数宣言は「型名: 変数名」の形。整数を入れる箱なら`整数型: i`と書くんだ。型と名前をコロンでつなぐのがポイントだよ。
選択肢2の「varが必要」は誤り(予約語はいらない)。選択肢3の「変数名は不要」も誤り。選択肢4の「等号でつなぐ」も誤りで、コロンを使うよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 「型名: 変数名」が正しい形 |
| 2 | ✗ | varなどの予約語はいらない |
| 3 | ✗ | 変数名も必要 |
| 4 | ✗ | 等号ではなくコロンでつなぐ |
オリジナル問題2(配列の宣言)
擬似言語の配列の宣言に関する次の記述のうち、正しいものはどれか。
- 配列は0始まりで、「整数型の配列: arr[0..9]」と書くと先頭はarr[0]になる
- 配列は1始まりで、「整数型の配列: arr[1..10]」と書くと先頭はarr[1]になる
- 配列は番号では要素を指定することができず、先頭にある要素だけしか取り出せない仕組みになっている
- 配列の宣言では型名をまったく書かず、要素の個数を表す数値だけを並べて書くと決まる
解答は 2 だよ。
擬似言語の配列は1始まり。`整数型の配列: arr[1..10]`なら先頭は`arr[1]`で、全部で10個の箱だね。
選択肢1の「0始まり」は、ふつうの言語の話で擬似言語では誤り。選択肢3の「先頭しか取り出せない」も誤り。選択肢4の「型名を書かない」も誤りだよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 擬似言語は1始まり |
| 2 | ✓ | 1始まりで先頭はarr[1] |
| 3 | ✗ | 番号で各要素を指定できる |
| 4 | ✗ | 型名も書く |
オリジナル問題3(構造体)
擬似言語の構造体に関する次の記述のうち、正しいものはどれか。
- 構造体は同じ型の値だけを一列に並べて作るもので、配列とまったく同じ仕組みになっているものだ
- 構造体は1文字だけを入れるための専用の型で、文字型の別名として使われている
- 構造体は複数の型を一つにまとめた自作の箱で、点なら「Point { x, y }」と書ける
- 構造体には数値をいっさい入れられず、真か偽の値だけをまとめて持つための型だ
解答は 3 だよ。
構造体は複数の型をひとまとめにした自作の箱。`構造型 Point { 整数型: x, 整数型: y }`なら、xとyのセットで1つの点を表せるんだ。名前+学年+点数のように、関係するデータをまとめたいときに使うよ。
選択肢1は「配列と同じ」が誤り(配列は同じ型の並び)。選択肢2の「1文字専用」、選択肢4の「真偽だけ」も誤りだよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 配列は同じ型の並びで別物 |
| 2 | ✗ | 1文字専用ではない |
| 3 | ✓ | 複数の型をまとめた自作の箱 |
| 4 | ✗ | 数値も文字も入れられる |
まとめ
押さえどころ
- 🔴 書き方 = 「型名: 変数名」。コロンでつなぐだけで、予約語はいらない。
- 🔴 配列は1始まり = `arr[1..10]`の先頭は`arr[1]`。0始まりのふつうの言語と取り違えない。
- 🟡 5基本型と構造体 = 整数・実数・文字列・論理・文字の5つ。構造体は複数の型をまとめた自作の箱。
次に学ぶ
- IPA擬似言語構文 ── 擬似言語ぜんたいの記法ルール。代入の`←`や1始まりなど、変数宣言と合わせて押さえると科目Bが読める。
執筆: SikakuQuest編集部