Johoichi 情報IJohoichi共通テスト「情報I」を無料で一問一答・過去問演習
(3) コンピュータとプログラミング

プログラミングが「わからない」を解決

共通テスト用プログラム表記(擬似言語)の読み方

まず安心してください:コードは「書く」のではなく「読む」だけ

「プログラミング」と聞くと身構えてしまいますが、共通テストの情報Iでは自分でコードを打ち込むことはありません。 示されたプログラムを上から順に読んで、変数の値がどう変わるかを追いかけるのが基本です。 しかも、使われる記法は全国共通の「共通テスト用プログラム表記」1種類だけ。 この記法のルールさえ覚えれば、あとは落ち着いて1行ずつ追うだけで解けます。

1. 共通テスト用プログラム表記の早見表

Python や VBA など普段の授業で使う言語はバラバラなので、共通テストでは専用の記法が使われます。 覚えるのは次の9項目だけです。

項目記号読み方・例
代入=kosu = 3(変数 kosu に 3 を入れる)
四則演算+ − * /実数の割り算は /
整数の商・余り÷ ・ %7 ÷ 2 は 3、7 % 2 は 1
べき乗**2 ** 3 は 8
比較== ≠ > < >= <=== は「等しい」、≠ は「等しくない」
論理and ・ or ・ notかつ・または・否定
出力表示する( )カンマで文字列や数値をつなげる
配列Data[0]添字は0から。配列名は先頭が大文字
関数要素数( ) ・ 乱数( )要素数(Data) は Data の個数を返す

条件分岐と繰り返しの書き方

  • 条件:もし 〜 ならば: / そうでなくもし 〜 ならば: / そうでなければ:
  • 繰り返し:i を 0 から 4 まで 1 ずつ増やしながら繰り返す:
  • 制御が及ぶ範囲は行頭の で示し、 がその終わりを表します。

2. 例題で読む①:合計と平均

5人のテストの点数を配列 Tensu に入れ、合計と平均を求めます。

Tensu = [72, 85, 90, 64, 78]
goukei = 0
i を 0 から 要素数(Tensu)-1 まで 1 ずつ増やしながら繰り返す:
| goukei = goukei + Tensu[i]
⎿
heikin = goukei ÷ 要素数(Tensu)
表示する("合計は", goukei, "平均は", heikin)
実行結果の例:合計は 389 平均は 77

※ 記法は大学入試センター「共通テスト用プログラム表記」に準拠(数値・場面はすべて当サイトの自作例)。

繰り返しで要素を1つずつ goukei に足していきます。要素数(Tensu) は 5 なので添字は 0〜4。 平均は ÷(整数の商)を使うため、389 ÷ 5 = 77(あまり4は切り捨て)になる点に注意しましょう。

3. 例題で読む②:最大値をトレースする

最高点を求めるプログラムです。まず先頭を仮の最大値とし、より大きい値が出たら更新します。

Tensu = [72, 85, 90, 64, 78]
saidai = Tensu[0]
i を 1 から 要素数(Tensu)-1 まで 1 ずつ増やしながら繰り返す:
| もし Tensu[i] > saidai ならば:
|| saidai = Tensu[i]
|⎿
⎿
表示する("最高点は", saidai)
実行結果の例:最高点は 90

※ 記法は大学入試センター「共通テスト用プログラム表記」に準拠(数値・場面はすべて当サイトの自作例)。

変数の動きを表で追う(トレース表)

ステップTensu[i]saidai の値
開始72
i = 18585(85 > 72 なので更新)
i = 29090(90 > 85 なので更新)
i = 36490(64 > 90 は偽、そのまま)
i = 47890(78 > 90 は偽、そのまま)

このように表を書いて変数を1行ずつ埋めるのが、プログラム読解の最強のコツです。頭の中だけで追わず、必ず紙に書き出しましょう。

4. 例題で読む③:線形探索

配列を先頭から順に調べ、探している値がどこにあるかを探します。

Data = [30, 15, 48, 27, 6]
target = 27
mitsuketa = -1
i を 0 から 要素数(Data)-1 まで 1 ずつ増やしながら繰り返す:
| もし Data[i] == target ならば:
|| mitsuketa = i
|⎿
⎿
もし mitsuketa ≠ -1 ならば:
| 表示する(target, "は添字", mitsuketa, "にありました")
⎿
そうでなければ:
| 表示する("見つかりませんでした")
⎿
実行結果の例:27 は添字 3 にありました

※ 記法は大学入試センター「共通テスト用プログラム表記」に準拠(数値・場面はすべて当サイトの自作例)。

見つからなかったとき用に mitsuketa を最初 −1 にしておくのがポイント。 整列されていなくても使える一方、データが多いと遅くなります(整列済みなら二分探索の方が速い、という比較も頻出)。

練習問題(自作・トレースして解く)

出力を予想してから、タップして答え合わせ。

① 次のプログラムの出力は?
Data = [4, 9, 2, 7]
goukei = 0
i を 0 から 要素数(Data)-1 まで 1 ずつ増やしながら繰り返す:
| goukei = goukei + Data[i]
⎿
表示する(goukei)

解答:22。配列の要素 4 + 9 + 2 + 7 をすべて足すので 22 が表示されます。

② 次のプログラムの出力は?(÷ は商の整数値)
x = 23
a = x ÷ 10
b = x % 10
表示する(a, b)

解答:2 3。a は 23 ÷ 10 の商で 2、b は 23 を 10 で割った余りで 3。桁を分ける定番テクニックです。

③ 変数 kaisu には最終的にいくつが入るか?
kaisu = 0
n を 1 から 5 まで 1 ずつ増やしながら繰り返す:
| もし n % 2 == 0 ならば:
|| kaisu = kaisu + 1
|⎿
⎿
表示する(kaisu)

解答:2。n が 1〜5 のうち、偶数(n % 2 == 0)は 2 と 4 の2回だけ条件が成り立つので kaisu は 2 になります。

あわせて対策したい分野

プログラムは「読む練習」の量がすべて

共通テスト用プログラム表記の問題を、アプリでたくさんトレースしよう。1問ごとに解説つき、まちがえた問題は自動で復習リストに入ります。登録不要・全問無料。

※ アプリは現在準備中です。公開までしばらくお待ちください。