擬似言語の変数と宣言とは|「未定義」の意味と、4つの書き方の読み分け【基本情報技術者試験 科目B】

基本情報技術者試験

現行FE シラバス Ver9.2 準拠第1部 擬似言語の教科書 G2-1最終更新 2026-08-21

科目Bのプログラムは、ほとんどの行が「値をどこかに置く」ことをしています。その置き場所が変数で、置き場所を用意すると書くのが宣言です。

この回はプログラムを書いたことがない前提で進めます。整数型: x ← 1 という1行が、最後には声に出して読めるようになります。

変数とは ── あとで使う値に、名前を付けて置いておく箱

プログラムは、値をどこかに置いておかないと何もできません。読み取った点数、計算した合計、数えた回数 ── これらをあとで使うために取っておく必要があります。

その置き場所が変数です。

やっていることは2つだけ

① 箱を用意するどんなものを入れるか決めて、名前を付ける

② 値を入れるあとは名前を書けば、中身を取り出せる

名前を付けた箱に、値を入れておく。これだけです。

変数がやっていること3コマ。tokuten という名前のラベルを貼った空の箱に82を入れ、名前を書けば82が取り出せる

変数がやっていること。名前を付けた箱に値を入れ、名前で取り出す

なぜ、わざわざ名前を付けるのか

理由は2つあります。① 同じ値を何度も使うから。合計を出すのに毎回書き直すのは大変です。

そして、こちらのほうが大事です。② 途中で値が変わるから。「いまの合計」「いま何番目を見ているか」は、プログラムが進むにつれて変わっていきます。変わるものを追いかけるには、名前が要ります。

この「変わる」が、科目Bのほぼすべての問題の中身です。だから変数の読み方から始めます。

宣言 ── 箱を用意する

変数を使うには、まず箱を用意すると書かなければなりません。これを宣言といいます。

いちばん基本の形は、これです。

整数型: x ← 1

記号が並んでいますが、左から4つに区切ると、ひとつずつ意味があることが分かります。

整数型 : x ← 1
どんなものを
入れる箱か
区切り
(前が型、後ろが名前)
箱の
名前
用意すると同時に
1 を入れる
声に出すと

「整数を入れる箱を x という名前で用意して、1 を入れる」

いちばん左の 整数型 は「何を入れる箱か」を表します。どんな種類があるかは G2-2 データ型で扱うので、ここでは「コロンの前が種類、うしろが名前」とだけ押さえてください。

この形をもとに、実際の出題では4つの書き方が出てきます。ひとつずつ見ていきます。

用意するだけの宣言 ── 整数型: i

もっとも短い形です。

整数型: i

読み方は「整数を入れる箱を、i という名前で用意する」。それだけです。矢印が無いので、中にはまだ何も入っていません。

箱はあるのに中身が決まっていない、この状態を、擬似言語では「未定義」といいます。0 が入っているのではありません。空っぽの文字が入っているのでもありません。何も決まっていないという状態です。

では、いつ値が入るのか。あとの行で入ります。

整数型: i
i ← 1

1行目で箱ができ、2行目ではじめて 1 が入ります。i の中身を追うと、こうなります。

実行した行 i の中身
整数型: i 未定義
i ← 1 1

箱を用意することと、値を入れることは、別の動作です。宣言の行を見ただけでは、中に何が入っているかは分かりません。

この「未定義」の状態が答えを分ける出題もあります。それはG11で扱います。ここでは「用意することと、入れることは別」と押さえてください。

次の2行を実行した時点で、a と b はそれぞれどうなっていますか。

整数型: a
整数型: b ← 4
本物もこう書かれる

実際の出題にも、そのままの形で出てきます。(令和7年度 基本情報技術者試験 科目B 公開問題 問1)

  整数型: i

まとめて用意する宣言 ── 整数型: x, y

同じ型の箱をいくつも使うときは、コンマで区切って1行にまとめられます。

整数型: x, y

これは、次の2行を1行にしたものです。意味はまったく同じです。

整数型: x
整数型: y

前に書いた 整数型 が、コンマのうしろの y にもかかります。y だけ型が指定されていない、ということではありません。行を短くするための書き方です。

まとめて用意しても、値は1つずつ入る

宣言した時点では、x も y も空です。値は、あとの行で別々に入ります。

整数型: x, y
x ← 3
y ← 8
実行した行 x y
整数型: x, y 未定義 未定義
x ← 3 3 未定義
y ← 8 3 8

コンマは「まとめて用意する」だけの意味で、まとめて値が入るわけではありません。

本物もこう書かれる

(令和8年度 基本情報技術者試験 科目B 公開問題 問1)

整数型: top, i

top と i という整数型の箱が2つ、どちらも空の状態で用意されています。

擬似言語では、同じ型の変数をコンマで区切って、1行にまとめて宣言できます。
では、次の1行は何を用意していますか。

文字列型: s1, s2, s3

用意と同時に値を入れる宣言 ── 整数型: count ← 0

用意した箱に、その場で値を入れてしまう形です。これも、2行を1行にまとめたものです。

2行で書くと

整数型: count箱を用意する(この時点では未定義)

count ← 00 を入れる

1行にまとめると

整数型: count ← 0用意すると同時に 0 が入る

数を数えるための箱は、たいていこの形になります。数えはじめる前に 0 を入れておく必要があるからです。

本物もこう書かれる

(令和7年度 基本情報技術者試験 科目B 公開問題 問1)

  整数型: count ← 0

矢印の右には、変数を書くこともできる

整数型: x ← 5
整数型: y ← x

2行目の右側にあるのは値ではなく、箱の名前です。この場合は x の中身である 5 が読み取られて、y に入ります。

実行した行 x y
整数型: x ← 5 5 —
整数型: y ← x 5 5

右側に書かれた変数は「読まれる」だけで、x は 5 のまま変わりません。この読み方は、次の代入の節でくわしく扱います。

次の3行を実行したあと、a・b・c はそれぞれいくつですか。

整数型: a ← 2
整数型: b ← a
整数型: c ← b

ここまでを、続けて動かしてみる

ここまでの3つの書き方と、あとから値を入れる行を、1本のプログラムに並べました。

1行ずつ実行して、それぞれの箱にいつ値が入るかを見てください。とくに a は、1行目で用意されてから、4行目まで空のままです。

宣言した行では、まだ中身が決まっていない

当サイトオリジナル


ループ開始前

いま計算していること

まだ計算していません

変数の状態

トレース表(進めると1行ずつ積み上がります)

最後まで動かすと、d だけが未定義のまま残ります。用意はされたのに、値を入れる行が一度も来なかったからです。

配列の宣言 ── 整数型の配列: data

4つめの書き方です。型のうしろに の配列 が付いた形も出てきます。

整数型の配列: data

これは整数を入れる箱が連なったものを用意する、という意味です。

配列の詳しい扱いは G4 配列で扱います。ここでは「の配列 が付いていたら、箱が1つではなく連なっている」と読めれば十分です。

宣言のまとめ

ここまでの4つを並べておきます。

書き方 宣言した直後の中身
整数型: i 未定義(空)
整数型: x, y どちらも未定義(空)
整数型: count ← 0 0
整数型の配列: data —(配列は G4)
見分けかたは、矢印だけ

← があれば、その行で値が入っています。無ければ、その箱はまだ空です。

← はそのすぐ左にある1つの変数にかかります。コンマは値を配りません。
これをふまえて、実際の出題にある次の1行は、何を用意していますか。

  整数型: i, length, result ← 0

つまずきポイントまとめ

まちがえ方 正しい理解
宣言しただけの変数を 0 だと思う 値を入れるまでは未定義。0 でも空文字でもない(G11で詳しく扱います)
整数型: x, y で y に型が無いと思う 前に書いた 整数型 がコンマの後ろにもかかる
整数型: i, length, result ← 0 で3つとも 0 だと思う 矢印がかかるのはすぐ左の1つだけ
値を写すと、渡したほうが空になると思う 複写であって移動ではない。渡したほうは元のまま

この記事で引用した資料

いずれも独立行政法人情報処理推進機構(IPA)が公表したものです。IPAは公表済みの試験問題について、教育目的での使用に許諾および使用料を不要としていますが、著作権は放棄していません。本記事では問題文を改変せずに引用しています。

宣言と代入の読み方を示すために使った短い例(a/b/c/x/y など)と、シミュレータの例は当サイトのオリジナルです。実際の出題からは宣言の1行だけを引用しています。

Copied title and URL