みならいノート

情報Ⅰ 2027年度版

変数と配列

みならいノートで覚える(無料)

このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。

0. どういうまとまりか

プログラムは、値を変数に入れ、演算して、また変数に入れる、の繰り返しです。
同じ種類の値がたくさんあるときは、1 つの名前でまとめて扱える配列を使います。

もの 何か Python での例
変数 値を入れておく、名前のついた入れ物 x = 5
データ型 値の種類(整数・浮動小数点数・文字列・論理型) 5・2.5・"abc"・True
配列(リスト) 複数の値を順に並べ、番号(添字)で取り出す a = [4, 8, 15]、a[0]
2 次元配列 配列を要素に持つ配列。表の形 t[1][2]

分かれ目は次の 3 つ。

1. 変数と代入

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

変数に新しい値を代入すると、前の値は消えて上書きされます。
x = x + 1 は「x に 1 を足した値を、改めて x に入れる」という意味で、数式としては読みません。

変数とは何か?

値を入れておくための、名前のついた入れ物

プログラムの中で値を覚えておき、名前で読み書きする。

Python の x = x + 1 は何をする文か?

x の今の値に 1 を足し、その結果を改めて x に代入する

= は代入。右辺を先に計算し、左辺の変数を上書きする。

Python で、2 つの値が等しいかどうかを比べる演算子は?

==

= は代入。「等しくない」は !=。

2. データ型と演算子

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

値には種類(データ型)があり、型によってできる演算が違います。
同じ + でも、数どうしなら足し算、文字列どうしならつなぎ合わせ(連結)になります。

演算子の種類 例 結果
算術演算子 +・-・*・/・//・%・** 数値
比較演算子 ==・!=・<・<=・>・>= 論理型(True/False)
論理演算子 and・or・not 論理型(True/False)

データ型のうち、真か偽の 2 つの値だけをとる型を何というか?

論理型(ブール型)

Python では True と False。比較演算の結果はこの型になる。

Python で、17 // 5 と 17 % 5 の値は?

17 // 5 は 3(整数の商)、17 % 5 は 2(余り)

17 / 5 は 3.4 で、浮動小数点数になる。

ある整数 n が偶数かどうかは、Python でどう判定するか?

n % 2 == 0 が True かどうかで判定する

2 で割った余りが 0 なら偶数、1 なら奇数。余りの % は「〜の倍数か」を調べる定番。

Python で "3" + "4" の結果は?

"34"(文字列の連結)

文字列どうしの + はつなぎ合わせ。数として足すには int("3") + int("4") のように整数に変換する。

3. 配列と添字

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

配列は、複数の値を 1 つの名前でまとめ、添字(番号)で 1 つずつ取り出す仕組みです。
Python では配列にあたるものをリストといい、[ ] で作ります。

Python のリスト a = [4, 8, 15, 16] で、a[1] の値は?

8

添字は 0 から始まるので、a[0] が 4、a[1] が 8。

要素が n 個の配列で、最後の要素の添字は?

n−1

添字が 0 から始まるため。Python で要素の個数は len(a) で得られる。

2 次元配列 t で、t[i][j] はどの要素を指すか?

i 番目の配列(行)の、j 番目の要素(列)

t = [[1, 2, 3], [4, 5, 6]] なら t[1][0] は 4。表を行・列で読むのと同じ。

4. データ構造

根拠: 学習指導要領 情報Ⅰ-(3)-ア-(イ)

データをどういう形で並べて持つかをデータ構造といいます。
配列のほか、出し入れの順番に決まりを持たせたスタックとキューが代表的です。
データ構造の選び方で、同じ処理でも書きやすさや速さが変わります。

データ構造とは何か?

データを、処理しやすいように一定の形式で並べて保持する仕組み

配列・スタック・キューなど。処理に合ったものを選ぶとアルゴリズムが簡単・高速になる。

スタックは、どの順でデータを取り出すか?

最後に入れたものを最初に取り出す(後入れ先出し・LIFO)

積み重ねた皿を上から取るイメージ。入れるのをプッシュ、取り出すのをポップという。

キューは、どの順でデータを取り出すか?

最初に入れたものを最初に取り出す(先入れ先出し・FIFO)

レジの行列のイメージ。印刷の順番待ちなどに使われる。

練習問題

問 1 次のプログラムを実行すると、何と表示されるか。

a = 7
b = 3
a = a + b
b = a - b
a = a - b
print(a, b)

3 7

a が 10 になり、b に 10 から 3 を引いた 7、a に 10 から 7 を引いた 3 が入る。
3 つの代入で a と b の値が入れ替わる(一時的な変数を使わない交換)。

問 2 次のプログラムを実行すると、何と表示されるか。

n = 472
s = n % 10 + n // 10 % 10 + n // 100
print(s)

13

n % 10 は一の位の 2、n // 10 % 10 は 47 を 10 で割った余りで十の位の 7、n // 100 は百の位の 4。
各位の数の和で、2 と 7 と 4 を足して 13。// と % は、左から順に同じ優先順位で計算される。

問 3 次のプログラムを実行すると、何と表示されるか。

t = [[2, 4, 6], [1, 3, 5]]
t[0][1] = t[1][2] * 2
print(t[0][1] + t[1][0], len(t), len(t[0]))

11 2 3

t[1][2] は 2 行目の 3 番目で 5。その 2 倍の 10 が t[0][1] に入る。t[1][0] は 1 なので、足して 11。
len(t) は行の数で 2、len(t[0]) は 1 行目の要素の数で 3。

このノートの 13 問を、暗記カードで復習できます

みならいノートで覚える(無料)

答えを隠して出題し、忘れそうなころにもう一度出します。

前 アルゴリズムの表し方
分岐と繰り返し 次

このノートは無償で公開しています。当方は内容の正確性・完全性・最新性を保証しません。学習にあたっては、法令の原文・公式の出題範囲その他の一次資料を必ずご確認ください。試験への合格その他の効果を保証するものでもありません。

本文の転載・再配布はお断りしています(利用規約)。手元に置いて使いたい方は、ストアから Markdown ファイルとして入手できます。