令和７年度大学入学共通テスト

試作問題「情報」の概要

１．試作問題『情報Ⅰ』，試作問題『旧情報（仮）』の問題構成
２．試作問題『情報Ⅰ』の概要
３．試作問題『情報Ⅰ』（参考問題）の概要
４．試作問題『旧情報（仮）』（経過措置問題）の概要
５．共通テスト用プログラム表記の例示

12１．試作問題『情報Ⅰ』，試作問題『旧情報（仮）』の問題構成
試作問題『情報Ⅰ』，試作問題『旧情報（仮）』において，次の表の太枠で示した部分は両科目共通の問題を出題しており，同じ丸数字の部分で同一の内容を出題している。

『情報Ⅰ』
問１

『旧情報（仮）』
問１

①

①

第１問

問２

(20)

問３

第１問

問４

(35)

必答

第２問
(30)

Ａ
(15)

②

必答

Ｂ
(15)

③

必答

問２

Ａ
(20)

問３
必答

問４
Ｂ
(15)

第２問
(15)

②
③
選択

第３問
(15)

第４問

必答

(25)

第３問
(25)

④

第５問

必答

(25)

④
選択

第４問
(25)

第６問

必答

(25)

3

２．試作問題『情報Ⅰ』の概要(1) 問題構成
試作問題『情報Ⅰ』は，以下の構成で作成している。
問題番号
問１
※１
問２
※２
第１問
問３

選択方法

出題内容（平成 30 年告示高等学校学習指導要領との対応）

配点（1）情報社会の問題解決

4（4）情報通信ネットワークとデータの活用

6（3）コンピュータとプログラミング

6

問４

全問

（2）コミュニケーションと情報デザイン

4

Ａ
※３
第２問
Ｂ
※４
第３問
※５

必答

（1）情報社会の問題解決（2）コミュニケーションと情報デザイン

15（3）コンピュータとプログラミング

15（3）コンピュータとプログラミング

25（4）情報通信ネットワークとデータの活用

25

第４問

合計
※１
※２
※３
※４
※５

100

試作問題『旧情報（仮）』の第１問のＡ問１と共通
試作問題『旧情報（仮）』の第１問のＡ問２と共通
試作問題『旧情報（仮）』の第１問のＢと共通試作問題『旧情報（仮）』の第２問と共通
試作問題『旧情報（仮）』の第５問と共通（注）上記の出題内容は，試作問題『情報Ⅰ』のものです。令和７年度大学入学共通テスト『情報Ⅰ』の出題内容は，本試作問題を踏まえ，今後も引き続き検討します。

4

(2) 各問題の概要『情報Ⅰ』第１問※問１と問２は試作問題『旧情報（仮）』の第１問のＡ問 1 とＡ問２と共通

第１問は，主に平成 30 年告示高等学校学習指導要領の４つの領域「（1）情報社会の問題解決」「（2）コミュニケーションと情報デザイン」「（3）コンピュータとプログラミング」「（4）情報通信
ネットワークとデータの活用」のそれぞれの内容を踏まえた独立した４つの小問による出題。
情報社会と人との関わりの中で，情報及び情報技術に関して科学的に理解し，適切に活用できるかを問う。
■各設問の概要
問１

情報社会の中で日常的に利用される SNS やメール，Web サイトなどの利用時の注意点
や情報の信ぴょう性の判断について理解しているかを問う。

問２

情報通信ネットワークで利用されている通信データの誤り訂正の仕組みについて，問題
文から読み取った内容を踏まえて考察できるかを問う。また，基数変換の理解を基に，具体的な誤り訂正を考察できるかを問う。

問３

コンピュータの基本的な仕組みである論理回路を理解しているか，示された演算処理を実現するための真理値表及び論理回路を考察できるかを問う。

問４

情報デザインの考え方について，問題文から読み取った内容を踏まえて，示された情報がどの基準に基づいて整理されているかについて考察できるかを問う。

5

『情報Ⅰ』第２問※Ａは試作問題『旧情報（仮）』の第１問のＢと共通
Ｂは試作問題『旧情報（仮）』の第２問と共通

第２問は，主に平成 30 年告示高等学校学習指導要領の「（1）情報社会の問題解決」「（2）コミュニケーションと情報デザイン」「（3）コンピュータとプログラミング」を踏まえた独立した２つの問題による出題。
Ａ
広く私たちの生活の中で利用されている情報技術の一つである二次元コードについて，その仕組
みの理解と探究的な活動の中で得られる規則性や特徴について，また，知的財産権との関わりについて考察できるかを問う。
Ｂ
文化祭の模擬店の待ち状況について考えるという日常的な問題解決の場面で，問題の中で示された乱数を発生させる確率モデルのシミュレーションの考え方を理解し，シミュレーションの結果から読み取れる内容や，変数を変化させた場合の結果を考察できるかを問う。
■各設問の概要
Ａ
問１

会話文から読み取った内容と知的財産権（特許権）に関する知識を関連付けて，二次元コードが広く普及した理由を考察できるかを問う。

問２

二次元コードの位置検出の目印について，問題文から読み取った内容と解像度や画像に関する知識を関連付けて，類推しながら考察できるかを問う。

問３

問題文や表から読み取った内容を基に，作成される二次元コードの規則性と特徴について考察できるかを問う。

問４

問題文や表から読み取った内容を基に，二次元コード化する文字列の長さと復元能力の違いによって，どのような二次元コードが作成されるかについて比較し，類推しながら考察できるかを問う。

Ｂ
問１

問題文から読み取った，累積相対度数を確率とみなした考え方と乱数を発生させたデータを基に，模擬店の待ち行列の状況について考察できるかを問う。

問２

来客人数を変化させて，それぞれ 100 回ずつシミュレーションした場合の最大待ち人数の頻度を表すグラフから，その傾向を適切に考察できるかを問う。

問３

対応時間を短くした場合のシミュレーション結果を，元のグラフで示された結果と比較し，最大待ち人数の頻度の変化を類推しながら考察できるかを問う。

6

『情報Ⅰ』第３問※第３問は試作問題『旧情報（仮）』の第５問と共通

第３問は，主に平成 30 年告示高等学校学習指導要領の「（3）コンピュータとプログラミング」を踏まえた出題。
日常的な買い物において，代金を支払う際の「上手な払い方」を考えるという問題解決の題材において，基本的なアルゴリズムとプログラミングの基本に関する理解を基に，示された要件を踏まえたプログラムについて論理的に考察できるかを問う。
■各設問の概要問１

この問題で定義する「上手な払い方」を理解した上で，必要となる関数の理解とその使用方法について論理的に考察できるかを問う。

問２

目標の金額になる最小の硬貨枚数を計算する考え方を理解した上で，基本的なプログラミ
ングにおける変数の使い方や繰返しによる処理，算術演算の活用法を理解しているか，また，求めるアルゴリズムについて論理的に考察できるかを問う。

問３最小となる交換硬貨枚数を求める基本的なプログラミングにおいて，作成した関数の使い方に関して理解しているか，また，繰返しや条件分岐を用いて最小値を求めるアルゴリズ
ムについて論理的に考察できるかを問う。

■共通テスト用プログラム表記
高等学校の「情報Ⅰ」の授業で使用するプログラミング言語は多様であることから，共通テスト『情報Ⅰ』の試作問題作成にあたり，共通テスト用のプログラム表記を使用した。（参考：５．共通
テスト用プログラム表記の例示）

7

『情報Ⅰ』第４問
第４問は，主に平成 30 年告示高等学校学習指導要領の「（4）情報通信ネットワークとデータの活用」を踏まえた出題。
国が実施した生活時間の実態に関する統計調査を基に，スマートフォン・パソコンなどの使用時間と睡眠の時間や学業の時間との関係を題材に，データの活用と分析に関する基本的な知識及び技能と，データが表すグラフから読み取れることを考察できるかを問う。
■各設問の概要
問１

スマートフォン・パソコンなどの使用時間が長いグループと短いグループに分けられた
統計データを基に，そこから分析できる仮説とそうでない仮説を考察し識別できるかを問う。

問２

グループごとの学業の時間と睡眠の時間をまとめた箱ひげ図から，分布の特徴を読み取ることができるかを問う。

問３

スマートフォン・パソコンなどの使用時間による睡眠の時間及び学業の時間ごとの生活行
動時間の差の箱ひげ図から，睡眠時間と学業の時間の傾向を考察できるかを問う。

問４

各都道府県の睡眠の時間と学業の時間の関係を表した散布図と箱ひげ図から，相関の解釈について考察できるかを問う。

問５

各都道府県の睡眠の時間と学業の時間の関係を表した散布図の各点と回帰直線によって得られる推定値との残差やそれを変換した値を理解し，標準偏差を単位として中心から外れている度合を読み取ることができるかを問う。

8

３．試作問題『情報Ⅰ』（参考問題）の概要『情報Ⅰ』第４問参考問題
参考問題は，主に平成 30 年告示高等学校学習指導要領の「（4）情報通信ネットワークとデータの活用」を踏まえた問題。
季節に関係のあるエアコンとアイスクリームの売り上げに関する時系列のデータを題材に，移動平均や元のデータをずらして相関を取ることにより，その関係を見出し，また，複数項目の組合せの関係を表すグラフから項目間の相関と影響を考察できるかを問う。
■各設問の概要問１

エアコンとアイスクリームの売上データを基にした時系列のグラフから，月ごとの変動の特徴を読み取れるかを問う。

問２

与えられた移動平均の意味を理解し，移動平均の期間を変えての結果を類推しながら考察できるかを問う。

問３

データが一定期間ごとの繰り返しで変化しているという仮説のもと，エアコンの売上デー
タと数か月ずらしたエアコンの売上データとの相関係数を表したグラフから，エアコンの売上台数の増減と月数との関係について考察できるかを問う。

問４

エアコンとアイスクリームの売上数の二つデータの一方を n か月ずらして得られた相関係数から，エアコンの売上台数とアイスクリームの売上個数の関係を考察できるかを問う。

問５

複数の項目の関係を表す散布図・相関行列から類推できる項目間の相関と相関係数から，その影響の関係を考察できるかを問う。

9

４．試作問題『旧情報（仮）』（経過措置問題）の概要(1) 問題構成
試作問題『旧情報（仮）』は，以下の構成で作成している。
問題番号

選択方法

問１
※１

問２
※２
Ａ
第
１
問

問３

必答

問４

Ｂ
※３

第３問

第４問

いずれか１問
を選択

第２問
※４

必答

出題内容（平成 21 年告示高等学校学習指導要領との対応）【社会と情報】(3)情報社会の課題と情報モラル
ア 情報化が社会に及ぼす影響と課題【情報の科学】(4)情報技術の進展と情報モラル
ウ 情報社会の発展と情報技術【社会と情報】(2)情報通信ネットワークとコミュニケーション
イ 情報通信ネットワークの仕組み【情報の科学】(1)コンピュータと情報通信ネットワーク
イ 情報通信ネットワークの仕組み【社会と情報】(1)情報の活用と表現
イ 情報のディジタル化【情報の科学】(1)コンピュータと情報通信ネットワーク
ア コンピュータと情報の処理【社会と情報】(2)情報通信ネットワークとコミュニケーション
イ 情報通信ネットワークの仕組み【情報の科学】(1)コンピュータと情報通信ネットワーク
イ 情報通信ネットワークの仕組み【社会と情報】(1)情報の活用と表現
イ 情報のディジタル化【情報の科学】(1)コンピュータと情報通信ネットワーク
ア コンピュータと情報の処理【情報の科学】(2)問題解決とコンピュータの活用
ウ モデル化とシミュレーション【社会と情報】(3)情報社会の課題と情報モラル
ウ 情報社会における法と個人の責任【社会と情報】(2)情報通信ネットワークとコミュニケーション
イ 情報通信ネットワークの仕組み(3)情報社会の課題と情報モラル
イ 情報セキュリティの確保【情報の科学】(1)コンピュータと情報通信ネットワーク
イ 情報通信ネットワークの仕組み(4)情報技術の進展と情報モラル
イ 情報社会の安全と情報技術
10

配点

4

6

4

6

15

15

15

25

第６問

いずれか１問を選択

第５問※５【情報の科学】(2)問題解決とコンピュータの活用
イ 問題の解決と処理手順の自動化【社会と情報】(4)望ましい情報社会の構築
ウ 情報社会における問題の解決

25

25
合計

※１
※２
※３
※４
※５

100

試作問題『情報Ⅰ』の第１問の問１と共通
試作問題『情報Ⅰ』の第１問の問２と共通
試作問題『情報Ⅰ』の第２問のＡと共通試作問題『情報Ⅰ』の第２問のＢと共通試作問題『情報Ⅰ』の第３問と共通（注）上記の出題内容は，試作問題『旧情報（仮）』のものです。令和７年度大学入学共通テスト『旧情報（仮）』の出題内容は，本試作問題を踏まえ，今後も引き続き検討します。

11

(2) 各問題の概要『旧情報（仮）』第１問※Ａの問１・問２は試作問題『情報Ⅰ』の第１問の問１・問２と共通
Ｂは試作問題『情報Ⅰ』の第２問のＡと共通

第１問のＡは，主に平成 21 年告示高等学校学習指導要領「社会と情報」の「(1)情報の活用と表現」「(2)情報通信ネットワークとコミュニケーション」「(3)情報社会の課題と情報モラル」，学習指導要領「情報の科学」の「(1)コンピュータと情報通信ネットワーク」「(4)情報技術の進展と情報モラル」のそれぞれの内容を踏まえた独立した４つの小問による出題。
情報社会と人との関わりの中で，情報及び情報技術に関して科学的に理解し，適切に活用できるかを問う。
第１問のＢは，主に平成 21 年告示高等学校学習指導要領「社会と情報」の「(1)情報の活用と表現」，学習指導要領「情報の科学」の「(1)コンピュータと情報通信ネットワーク」の内容を踏まえた出題。
広く私たちの生活の中で利用されている情報技術の一つである二次元コードについて，その仕組
みの理解と探究的な活動の中で得られる規則性や特徴について，また，知的財産権との関わりについて考察できるかを問う。
■各設問の概要
Ａ
問１

情報社会の中で日常的に利用される SNS やメール，Web サイトなどの利用時の注意点や情報の信ぴょう性の判断について理解しているかを問う。

問２

情報通信ネットワークで利用されている通信データの誤り訂正の仕組みについて，問題文から読み取った内容を踏まえて考察できるかを問う。また，基数変換の理解を基に，具体的な誤り訂正を考察できるかを問う。

問３

モールス信号の符号化を題材に，生徒が主体的に学習する場面を通して情報量について考察できるかを問う。

問４

生徒が利用することが多いと想定される動画の撮影を題材に，示された条件を踏まえてネットワークの速度と解像度について科学的に理解しているかを問う。

Ｂ
問１

会話文から読み取った内容と知的財産権（特許権）に関する知識を関連付けて，二次元コードが広く普及した理由を考察できるかを問う。

問２

二次元コードの位置検出の目印について，問題文から読み取った内容と解像度や画像に関する知識と関連付けて，類推しながら考察できるかを問う。

問３

問題文や表から読み取った内容を基に，作成される二次元コードの規則性と特徴について考察できるかを問う。

問４

問題文や表から読み取った内容を基に，二次元コード化する文字列の長さと復元能力の違いによって，どのような二次元コードが作成されるかについて比較し，類推しながら考察できるかを問う。
12

『旧情報（仮）』第２問※第２問は試作問題『情報Ⅰ』の第２問のＢと共通

第２問は，主に平成 21 年告示高等学校学習指導要領「情報の科学」の「(2)問題解決とコン
ピュータの活用」の内容を踏まえた出題。
文化祭の模擬店の待ち状況について考えるという日常的な問題解決の場面で，問題の中で示された乱数を発生させる確率モデルのシミュレーションの考え方を理解し，シミュレーションの結果から読み取れる内容や，変数を変化させた場合の結果を考察できるかを問う。
■各設問の概要
問１

問題文から読み取った，累積相対度数を確率とみなした考え方と乱数を発生させたデータを基に，模擬店の待ち行列の状況について考察できるかを問う。

問２

来客人数を変化させて，それぞれ 100 回ずつシミュレーションした場合の最大待ち人数の頻度を表すグラフから，その傾向を適切に考察できるかを問う。

問３

対応時間を短くした場合のシミュレーション結果を，元のグラフで示された結果と比較し，最大待ち人数の頻度の変化を類推しながら考察できるかを問う。

13

『旧情報（仮）』第３問
第３問は，主に平成 21 年告示高等学校学習指導要領「社会と情報」の「(3)情報社会の課題と情報モラル」の内容を踏まえた出題。
知的財産権に関する基本的な知識を基に，Web ページの作成で利用する素材の扱いや著作権の考え方を理解しているか，また，自分たちが作成した作品について，他者の著作物利用の要件を理解し，それを満たしたライセンスの意思表示などを考察できるかを問う。
■各設問の概要
問１

資料から読み取った内容を踏まえ，自分が購入したイラストの画像データの扱いについて，利用者の立場から適切に考察できるかを問う。

問２

自分たちが作成したピクトグラムについて，具体的な著作者の権利の行使を考える中で，どの権利が関係しているかについて，知的財産権に関する知識を関連付けて適切に考察できるかを問う。

問３

資料から読み取った内容を基に，クリエイティブ・コモンズ・ライセンスで示す４つの種類のアイコンの組合せの数を考えた上で，設定したい条件のライセンスを適切に考察できるかを問う。

14

『旧情報（仮）』第４問
第４問は，主に平成 21 年告示高等学校学習指導要領「社会と情報」の「(2)情報通信ネットワー
クとコミュニケーション」「(3)情報社会の課題と情報モラル」，学習指導要領「情報の科学」の「(1)コンピュータと情報通信ネットワーク」「(4)情報技術の進展と情報モラル」の内容を踏まえた出題。
生徒３人が身近なネットワークや情報セキュリティについて自ら学習する題材において，情報機
器や情報通信ネットワーク，情報セキュリティに関する知識と関連付けて，実践的な情報通信ネッ
トワークに関わる課題などに対して，適切に判断し考察できるかを問う。
■各設問の概要
問１

家庭の中で身近に使用されている情報通信ネットワークの機器について，その名称と役割を理解しているかを問う。

問２

家庭などで利用される無線 LAN の機器に接続するために必要となる SSID や暗号化キーについて，具体的な例と関連付けて理解しているかを問う。

問３

無線 LAN への接続に対するセキュリティ対策に関する知識を理解しているかを問う。

問４

初めて自宅にインターネットの回線を引くという場面において，その活用方法や情報セ
キュリティを考える上で留意する内容などについて理解しているかを問う。

問５

無線 LAN のネットワーク一覧から読み取れることと，情報セキュリティに関する知識とを関連付けて，暗号化キーがない見知らぬネットワークに接続することで，どのような危険があるかについて考察できるかを問う。

問６

ルータやハブの機能に関する知識を基に，情報通信機器の接続について具体的な事例の中で考察できるかを問う。

問７

問題文からパスワードを不正に取得する手段の一つであるブルートフォース攻撃の説明を読み取った上で，情報セキュリティを考える上でパスワードの文字種類と長さから，具体的にどの程度の時間でパスワードが解析できるかについて考察できるかを問う。

問８

情報セキュリティ対策に関する知識を基に，どのような対策がブルートフォース攻撃に有効であるのかについて，サーバの管理者という立場で考察できるかを問う。

問９

情報セキュリティの三つの要素について，問題文や表から読み取った内容を踏まえ，自分たちができる身近な対応策を考察できるかを問う。

15

『旧情報（仮）』第５問※第５問は試作問題『情報Ⅰ』の第３問と共通

第５問は，主に平成 21 年告示高等学校学習指導要領「情報の科学」の「(2)問題解決とコン
ピュータの活用」を踏まえた出題。
日常的な買い物において，代金を支払う際の「上手な払い方」を考えるという問題解決の題材において，基本的なアルゴリズムとプログラミングの基本に関する理解を基に，示された要件を踏まえたプログラムについて論理的に考察できるかを問う。
■各設問の概要問１

この問題で定義する「上手な払い方」を理解した上で，必要となる関数の理解とその使用方法について論理的に考察できるかを問う。

問２

目標の金額になる最小の硬貨枚数を計算する考え方を理解した上で，基本的なプログラミ
ングにおける変数の使い方や繰返しによる処理，算術演算の活用法を理解しているか，また，求めるアルゴリズムについて論理的に考察できるかを問う。

問３最小となる交換硬貨枚数を求める基本的なプログラミングにおいて，作成した関数の使い方に関して理解しているか，また，繰返しや条件分岐を用いて最小値を求めるアルゴリズ
ムについて論理的に考察できるかを問う。

■共通テスト用プログラム表記
高等学校の「情報の科学」の授業で使用するプログラミング言語は多様であることから，共通テスト『旧情報（仮）』の試作問題作成にあたり，共通テスト用のプログラム表記を使用した。
（参
考：５．共通テスト用プログラム表記の例示）

16

『旧情報（仮）』第６問
第６問は，主に平成 21 年告示高等学校学習指導要領「社会と情報」の「(4)望ましい情報社会の構築」の内容を踏まえた出題。
インターネット利用時に表示される広告について不快に思うことがあるという生徒の声をきっか
けに，生徒会役員が生徒会活動の中で，調査方法を考え，その結果を分析し，それをまとめるという題材において，問題解決の基本的な流れを理解し，既有の知識と関連付けて，実践的な課題を解決するための具体的な手順や方法などを考察できるか問う。
■各設問の概要
問１

問題を解決するためのアイデアを収集する方法の一つであるブレーンストーミングについて具体的な発言の中から，ルールに沿っていない発言を考察できるかを問う。

問２

Web によるアンケートの特徴と適切にアンケートを実施するための方法について理解しているかを問う。

問３

アンケートを設計する段階において，アンケートの目的に合った情報を収集できるよう，
各質問項目に対して適切な質問内容や回答形式について考察できるかを問う。

問４

インターネットの利用時間と広告を見て不快に思った経験との関係について，アンケート
結果をいくつかの指標でまとめた表から読み取ることができるかを問う。

問５収集されたデータが目的に合ったグラフとして表現されているか，その問題点を見極め，適切なグラフとなっているかについて考察できるかを問う。

問６

アンケートで得られた多くの自由記述のデータから，その傾向を整理する方法として適切なものについて考察できるかを問う。

問７

スマートフォンの情報セキュリティについて，情報機器や情報通信ネットワークなどの知識を基に，不快な広告が表示されないようにするための対策について考察できるかを問う。

問８

分かりやすい資料を作成するための工夫や取組について理解しているかを問う。

17

18

｜ x = x – 1｜ x = x + 1⎿ y = y + 1⎿ y = y * 2

Tokutenのすべての値を0にする『and』（論理積），『or』（論理和），『not』（否定）

６論理演算『==』（等しい），『!=』（等しくない），『>』，『<』，『>=』，『<=』

５比較演算

べき乗は『**』で表す

整数の除算では，商（整数）を『÷』で，余りを『％』で表す

加減乗除の四則演算は，『+』，『-』，『*』，『/』で表す

４算術演算#0以上1未満のランダムな小数をataiに代入する※１行内において#以降の記述は処理の対象とならない

atai = 乱数()

10 コメント※｜と⎿で制御範囲を表し，⎿は制御文の終わりを示す｜ goukei = goukei + n⎿ n = n + 1

n < 10 の間繰り返す:※「減らしながら」もある⎿ goukei = goukei + Data[x]x を 0 から 9 まで 1 ずつ増やしながら繰り返す:

９制御文（繰返し）そうでなければ:

Data = [10,20,30,40,50,60]※｜と⎿で制御範囲を表し，⎿は制御文の終わりを示す⎿ y = y * 2｜ x = x – 1nyuryoku =【外部からの入力】

そうでなければ:もし x == 3 ならば:

｜ x = x * 2

そうでなくもし x < 0 ならば:もし x >= 3 ならば:もし x < 3 ならば:

namae = "Komaba"※複数文を１行で表記できる※ +で連結できる

８制御文（条件分岐）※「表示する」関数以外は基本的に問題中に説明あり※「表示する」関数はカンマ区切りで文字列や数値を連結できる表示する(Kamoku[i],"の得点は",Tensu[i],"です")

値を返さない関数例：表示する(Data)saikoro = 整数(乱数()*6)+1

値を返す関数例：kazu = 要素数(Data)

７関数

kingaku_goukei = kingaku * kosu

kosu = 3 , kingaku = 300

３代入文

message = "祇園精舎の" + "鐘の声"moji = "I'll be back."

文字列はダブルクォーテーション（"）で囲む

２文字列※特に説明がない場合，配列の要素を指定する添字は0から始まる

配列変数の例：Tokuten[3]，Data[2,4] （配列名は先頭文字が大文字）（変数名は英字で始まる英数字と「_」の並び）

通常の変数例：kosu，kingaku_kei

１変数

高等学校の「情報Ⅰ」の授業で使用するプログラミング言語は多様であることから，共通テスト『情報Ⅰ』の試作問題作成にあたり，共通テスト用のプログラム
表記を使用します。以下，参考のためにその基本を例示します。しかしながら，問題文の記述を簡潔にするなどの理由で，この説明文書の記述内容に従わない形式で出題することもあります。したがって，共通テスト『情報Ⅰ』の受験に際しては，当該問題文の中の説明や指示に注意し，それらに沿って解答してください。
なお，経過措置問題『旧情報（仮）』についても同様に扱うこととします。

５．共通テスト用プログラム表記の例示

19

4

5

6

7

8

9

#演算子÷は商の整数値を返す",Data[i])要素数(Data)は8を返す

例：Data=[10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")( 9 ) ｜ もし Data[aida]==atai ならば:

( 8 ) ｜ aida=(hidari+migi)÷2( 7 ) hidari <= migi and owari==0 の間繰り返す:( 6 ) owari=0( 5 ) hidari=0 , migi=kazu-1( 4 ) atai=【外部からの入力】( 3 ) 表示する("0～99の数字を入力してください")

0～99の数字を入力してください85 ←キーボードから入力
85 は見つかりませんでした
添字
要素
0
3
1
18
2
29
3
33
:
:

0～99の数字を入力してください52 ←キーボードから入力
52 は 5 番目にありました
添字
要素
0
3
1
18
2
29
3
33
4
48
5
52
6
62
7
77
8
89
9
97

実行結果の表示例

3 18 29 33 48 52 62 77 89 97

3

Data

2

( 2 ) kazu=要素数(Data)

1

0

添字

配列

( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

共通テスト用プログラム表記例

1 共通テスト用プログラム表記例（二分探索のアルゴリズム）

20

下限添字←
中央添字＋１Yes

Noowari=0

ループ１

上限添字←
中央添字－１

No

中央の値
<探索値

No

中央の値
=探索値

「見つからない」表示

Yes

owari←1

一致場所
を表示

Yes

中央添字←
(下限添字+上限添字)÷2の
小数点以下切り捨て

ループ１
下限添字≦上限添字
かつ owari=0の間

下限添字←0
上限添字←kazu-1
owari←0

探索値の入力配列Dataを準備
kazu←Dataの要素数

はじめ

おわり

ループ２

Dataの添字と要素を表示ループ２0からkazu-1まで

項目名
を表示

#演算子÷は商の整数値を返す",Data[i])要素数(Data)は8を返す

例：Data = [10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")( 9 ) ｜ もし Data[aida]==atai ならば:

( 8 ) ｜ aida=(hidari+migi)÷2( 7 ) hidari <= migi and owari==0 の間繰り返す:( 6 ) owari=0( 5 ) hidari=0 , migi=kazu-1( 4 ) atai=【外部からの入力】( 3 ) 表示する("0～99の数字を入力してください")( 2 ) kazu=要素数(Data)( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

共通テスト用プログラム表記例

2 フローチャートと共通テスト用プログラム表記例の対比（例：二分探索）

21

migi=aida-1

else:

hidari=aida+1

print(atai,'は見つかりませんでした')19

print(i,'',data[i])18 for i in range(0,kazu,1):

17 print('添字',' ','要素')

16

15 if owari==0:

14

13

12

elif data[aida]<atai:

owari=1

10

11

print(atai,'は',aida,'番目にありました')

if data[aida]==atai:

8#演算子//は商の整数部分

9aida=(hidari+migi)//2

76 while hidari <= migi and owari==0:

5 owari=0

4 hidari=0;migi=kazu-1

3 atai=int(input('0～99の数字を入力してください'))2 kazu=len(data)

1 data=[3,18,29,33,48,52,62,77,89,97]

Python3記述例#演算子÷は商の整数値を返す",Data[i])要素数(Data)は8を返す

例：Data = [10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")( 9 ) ｜ もし Data[aida]==atai ならば:

( 8 ) ｜ aida=(hidari+migi)÷2( 7 ) hidari <= migi and owari==0 の間繰り返す:( 6 ) owari=0( 5 ) hidari=0 , migi=kazu-1( 4 ) atai=【外部からの入力】( 3 ) 表示する("0～99の数字を入力してください")( 2 ) kazu=要素数(Data)( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

共通テスト用プログラム表記例

3 Python3と共通テスト用プログラム表記例の対比（例：二分探索）22( 3 ) 表示する("0～99の数字を入力してください")( 4 ) atai=【外部からの入力】( 5 ) hidari=0 , migi=kazu-1

hidari=0;migi=kazu-1;

owari=0;

while(hidari<=migi && owari==0){

4

5

6

if(data[aida]==atai){8}

migi=aida-1;}else{

hidari=aida+1;

document.write(atai,'は見つかりませんでした','<br>');document.write(i,'',data[i],'<br>');※JavaScriptのコードは，HTML Living Standardでは非推奨の記述がありますが，教科書で一般に扱われているコードで記述しています。

23 }

22

21 for(i=0;i<kazu;i++){20 document.write('添字',' ','要素','<br>');

19 }

18

17 if(owari==0){

16 }

15

14

13

12

",Data[i])要素数(Data)は8を返す

例：Data = [10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")}else if(data[aida]<atai){owari=1;

1011( 9 ) ｜ もし Data[aida]==atai ならば:

document.write(atai,'は',aida,'番目にありました','<br>');9#演算子÷は商の整数値を返す( 7 ) hidari <= migi and owari==0 の間繰り返す:( 8 ) ｜ aida=(hidari+migi)÷2

aida=Math.floor((hidari+migi)/2); //Math.floorは整数値を返す

7( 6 ) owari=0( 2 ) kazu=要素数(Data)

atai=Number(prompt('0～99の数字を入力してください'));3( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

kazu=data.length;2

共通テスト用プログラム表記例

data=[3,18,29,33,48,52,62,77,89,97];<script>～</script>内のコードのみ

1

JavaScript記述例

4 JavaScriptと共通テスト用プログラム表記例の対比（例：二分探索）

23'添え字の最大値を返す

End Ifmigi = aida - 1

Else

msg = msg & i & "27 End Sub

26 MsgBox msg

25 Next i

24

23 For i = 0 To kazu

22 msg = msg & "添字" & "" & Data(i) & vbCrLf" & "要素" & vbCrLf

msg = atai & "は見つかりませんでした" & vbCrLf

21 End If

20

19 If owari = 0 Then

18 Loop

17

16

15

hidari = aida + 1

If Data(aida) < atai Then

13

14

End Ifowari = 11112

msg = atai & "は" & aida & "番目にありました" & vbCrLf

If Data(aida) = atai Then9'演算子¥は商の整数値を返す

10

aida = (hidari + migi) ¥ 2

87 Do While hidari <= migi And owari = 0

6 owari = 0

5 hidari = 0: migi = kazu

4 atai = Val(InputBox("0～99の数字を入力してください"))3 kazu = UBound(Data)

2 Data = Array(3, 18, 29, 33, 48, 52, 62, 77, 89, 97)

1 (変数宣言は省略)

VBA記述例#演算子÷は商の整数値を返す",Data[i])要素数(Data)は8を返す

例：Data = [10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")( 9 ) ｜ もし Data[aida]==atai ならば:

( 8 ) ｜ aida=(hidari+migi)÷2( 7 ) hidari <= migi and owari==0 の間繰り返す:( 6 ) owari=0( 5 ) hidari=0 , migi=kazu-1( 4 ) atai=【外部からの入力】( 3 ) 表示する("0～99の数字を入力してください")( 2 ) kazu=要素数(Data)( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

共通テスト用プログラム表記例

5 VBAと共通テスト用プログラム表記例の対比（例：二分探索）

24

Scratch記述例#演算子÷は商の整数値を返す",Data[i])Scratch記述例には無い処理

要素数(Data)は8を返す

例：Data = [10,20,30,40,50,60,70,80]の時

要素数(配列)･･･配列の要素数を返す関数の説明(20) ⎿ 表示する(i,"(19) iを0からkazu-1まで1ずつ増やしながら繰り返す:(18) 表示する("添字"," ","要素")(17) ⎿ 表示する(atai,"は見つかりませんでした")(16) もし owari==0 ならば:

(15) ⎿ ⎿ migi=aida-1(14) ｜ そうでなければ:(13) ｜ ｜hidari=aida+1(12) ｜ そうでなくもし Data[aida]<atai ならば:

(11) ｜ ｜owari=1(10) ｜ ｜表示する(atai,"は",aida,"番目にありました")( 9 ) ｜ もし Data[aida]==atai ならば:

( 8 ) ｜ aida=(hidari+migi)÷2( 7 ) hidari <= migi and owari==0 の間繰り返す:( 6 ) owari=0( 5 ) hidari=0 , migi=kazu-1( 4 ) atai=【外部からの入力】( 3 ) 表示する("0～99の数字を入力してください")( 2 ) kazu=要素数(Data)( 1 ) Data=[3,18,29,33,48,52,62,77,89,97]

共通テスト用プログラム表記例

6 Scratchと共通テスト用プログラム表記例の対比（例：二分探索）