共通テスト用プログラム表記の概要

大学入学共通テストで使用されるプログラム表記について

📚 共通テスト用プログラム表記とは

共通テスト用プログラム表記は、大学入学共通テストの「情報」科目で使用される擬似言語です。

  • 日本語ベース:日本語のキーワードを使用
  • 教育用設計:プログラミング的思考の理解を重視
  • 言語非依存:特定のプログラミング言語に依存しない
  • 視覚的理解:アルゴリズムの構造が分かりやすい

基本的な共通テスト表記

// Hello Worldプログラム
表示する("Hello, World!")

// 変数と計算
namae = "共通テスト"
nensu = 5
表示する(namae + "は" + nensu + "年目です")

// 配列操作
Suuchiretsu = [1, 2, 3, 4, 5]
i を 0 から 4 まで 1 ずつ増やしながら繰り返す:
⎿  表示する(Suuchiretsu[i] * 2)

📝 共通テスト表記の基本構文

1. 変数と基本データ型

数値

// 整数
nenrei = 25
kosu = -10

// 小数
kakaku = 99.99
kion = -15.5

// 計算
kekka = nenrei + 5
goukei = kakaku * 0.8

文字列

// 文字列定義
namae = "山田太郎"
message = "今日は良い天気です"

// 文字列結合
shimei = "姓: " + "田中" + ", 名: " + "花子"

// 文字列と数値の組み合わせ
nenrei = 20
aisatsu = "私は" + nenrei + "歳です"

配列

// 配列作成
Kudamono = ["りんご", "バナナ", "オレンジ"]
Suuchi = [1, 2, 3, 4, 5]

// 要素へのアクセス
saisho_no_kudamono = Kudamono[0]  // "りんご"
saigo_no_suuchi = Suuchi[4]  // 5

// 要素数の取得
kudamono_no_kosu = 要素数(Kudamono)

2. 制御構造

条件分岐

// 基本的なif文
tensuu = 85

もし tensuu >= 90 ならば:
|  表示する("優秀です")
そうでなくもし tensuu >= 70 ならば:
|  表示する("良いです")
そうでなければ:
⎿  表示する("頑張りましょう")

// 複数条件
nenrei = 18
menkyo = True

もし nenrei >= 18 and menkyo ならば:
⎿  表示する("運転できます")

繰り返し(for文)

// 基本的な繰り返し
i を 0 から 4 まで 1 ずつ増やしながら繰り返す:
⎿  表示する("回数: " + i)

// 配列の要素を順番に処理
Kudamono = ["りんご", "バナナ", "オレンジ"]
i を 0 から 要素数(Kudamono)-1 まで 1 ずつ増やしながら繰り返す:
⎿  表示する("果物: " + Kudamono[i])

// ステップを指定した繰り返し
i を 0 から 10 まで 2 ずつ増やしながら繰り返す:
⎿  表示する("偶数: " + i)

繰り返し(while文)

// while文の基本
count = 0
count < 5 の間繰り返す:
|  表示する("カウント: " + count)
⎿  count = count + 1

// 条件による終了
nyuuryoku_chi = ""
nyuuryoku_chi != "終了" の間繰り返す:
|  nyuuryoku_chi = 【外部からの入力】
⎿  表示する("入力: " + nyuuryoku_chi)

3. 関数

関数の定義と呼び出し

// 基本的な関数
関数 aisatsu(namae):
|  kekka = "こんにちは、" + namae + "さん"
⎿  kekka を返す

// 関数の呼び出し
message = aisatsu("太郎")
表示する(message)

// 複数の引数を持つ関数
関数 menseki_keisan(haba, takasa):
|  menseki = haba * takasa
⎿  menseki を返す

kekka = menseki_keisan(5, 3)

関数の活用例

// 最大値を求める関数
関数 saidaichi(a, b):
|  もし a > b ならば:
|  |  aを返す
|  そうでなければ:
⎿  ⎿  bを返す

// 配列の合計を求める関数
関数 goukei(Hairetsu):
|  souwa = 0
|  i を 0 から 要素数(Hairetsu)-1 まで 1 ずつ増やしながら繰り返す:
|  |  souwa = souwa + Hairetsu[i]
⎿  souwa を返す

📋 共通テスト表記の特有記法

🔤 制御記号

ブロック構造を示すために特別な記号を使用します。

もし 条件 ならば:
|  処理1
|  処理2
⎿  処理3  // ブロックの最後

:ブロック内の処理
:ブロックの最後の処理

📥 外部入力

ユーザーからの入力は特別な記法で表現します。

// 外部からの入力
namae = 【外部からの入力】
nenrei = 【外部からの入力】

// 入力の利用
表示する("名前: " + namae)
表示する("年齢: " + nenrei)

🔢 演算子

数学的な演算には特別な記号を使用します。

// 基本演算子
tashizan = a + b
hikizan = a - b  
kakezan = a * b
warizan = a ÷ b      // 整数除算
amari = a % b       // 剰余演算
bekijou = a ** b

🔧 組み込み関数

よく使用される処理は組み込み関数として提供されます。

// 組み込み関数の例
nagasa = 要素数(Hairetsu)
suuchi = 整数(mojiretsu)
moji = 文字列(suuchi)
ransuu = 乱数()

// 表示関数
表示する("Hello, World!")
表示する(hensuu_mei)

🔄 Python ⇄ 共通テスト表記 対応表

基本構文対応

Python 共通テスト表記 説明
print("Hello") 表示する("Hello") 画面への出力
int(input()) 【外部からの入力】 外部からの数値入力
len(array) 要素数(array) 配列の要素数取得
int(value) 整数(value) 整数への変換
str(value) 文字列(value) 文字列への変換
a, b = 100, 200 a = 100, b = 200 複数変数への同時代入

制御構造対応

Python 共通テスト表記
if condition: もし condition ならば:
elif condition: そうでなくもし condition ならば:
else: そうでなければ:
while condition: condition の間繰り返す:
for i in range(5): i を 0 から 4 まで 1 ずつ増やしながら繰り返す:
def function(): 関数 function():
return value value を返す

演算子対応

Python 共通テスト表記 演算
+ + 加算
- - 減算
* * 乗算
// ÷ 整数除算
% 剰余
** ** べき乗

🧮 共通テスト表記でのアルゴリズム例

線形探索

Data = [2, 3, 4, 10, 40]
tansaku_chi = 【外部からの入力】
mitsukatta = False

i を 0 から 要素数(Data)-1 まで 1 ずつ増やしながら繰り返す:
|  もし Data[i] == tansaku_chi ならば:
|  |  表示する("値 " + tansaku_chi + " は位置 " + i + " にあります")
|  |  mitsukatta = True
⎿  ⎿  繰り返しを抜ける

もし mitsukatta == False ならば:
⎿  表示する("値 " + tansaku_chi + " は見つかりませんでした")

バブルソート

Data = [64, 34, 25, 12, 22, 11, 90]
n = 要素数(Data)

表示する("ソート前のデータ:")
i を 0 から n-1 まで 1 ずつ増やしながら繰り返す:
⎿  表示する(Data[i])

// バブルソート実行
i を 0 から n-1 まで 1 ずつ増やしながら繰り返す:
|  j を 0 から n-i-2 まで 1 ずつ増やしながら繰り返す:
|  |  もし Data[j] > Data[j+1] ならば:
|  |  |  // 要素を交換
|  |  |  ichiji = Data[j]
|  |  |  Data[j] = Data[j+1]
⎿  ⎿  ⎿  Data[j+1] = ichiji

表示する("ソート後のデータ:")
i を 0 から n-1 まで 1 ずつ増やしながら繰り返す:
⎿  表示する(Data[i])

二分探索

Data = [3, 18, 29, 33, 48, 52, 62, 77, 89, 97]
kosu = 要素数(Data)
表示する("0~99の数字を入力してください")
chi = 【外部からの入力】
hidari = 0
migi = kosu - 1
shuuryou = False

hidari <= migi and shuuryou == False の間繰り返す:
|  chuuou = (hidari + migi) ÷ 2
|  もし Data[chuuou] == chi ならば:
|  |  表示する(chi + "は" + chuuou + "番目にありました")
|  |  shuuryou = True
|  そうでなくもし Data[chuuou] < chi ならば:
|  |  hidari = chuuou + 1
|  そうでなければ:
⎿  ⎿  migi = chuuou - 1

もし shuuryou == False ならば:
⎿  表示する(chi + "は見つかりませんでした")

💡 共通テスト表記学習のポイント

1. 日本語キーワードに慣れる

英語ベースのプログラミング言語とは異なり、日本語のキーワードを使用します。

  • 「もし~ならば」「そうでなければ」
  • 「~の間繰り返す」「~ずつ増やしながら」
  • 「表示する」「【外部からの入力】」

2. 制御記号を理解する

ブロック構造を示す記号の使い方を覚えましょう。

  • :ブロック内の処理を示す
  • :ブロックの最後の処理を示す
  • インデント(字下げ)で階層を表現

3. アルゴリズムの流れを重視

構文よりもアルゴリズムの論理的な流れを理解することが重要です。

  • 条件分岐の使い分け
  • 繰り返し処理の制御
  • 変数の役割と使い方