第17回全国高等学校情報教育研究全国大会(愛知大会)
2024/08/03@愛知県立大学 長久手キャンパス

B3-1 Pythonと共通テスト用プログラム
表記を併用したプログラミング授業
普連土学園中学校・高等学校
渥見 友章
t.atsumi@friends.ac.jp

自己紹介• 渥見 友章

1
教職歴11年目(情報科3年・数学科10年)

所属：普連土学園中学校・高等学校 情報科・技術科
経歴：公立高校や私立中高一貫校の数学科・情報科教諭などを経て現職。「分かりやすく，楽しい授業」をモットーに，さまざまな学力層の生徒に対して，指導を行う。
また，情報 Ⅰ の共通テスト模試や対策教材などの企画・開発にも携わる。著書に『スライドで見る 全単元の授業のすべて 高等学校 情報Ⅰ』(東洋館出版社)。好きな動物はひつじ。
↑購入はこちら。

本校の紹介2• 普連土学園中学校・高等学校 (東京都港区，女子校)• 全校生徒数755人・完全中高一貫，1学年3クラス(130名程度)• 1887年，新渡戸稲造と内村鑑三の助言によりキリスト教フレンド派の人々が設立。今秋創立137年を迎える。

• 「普く世界の土地に連なる」ように，という願いを込められている。

本授業実践を行う背景

4• 共通必履修科目として「情報 Ⅰ」の新設。プログラミングの必修化。
• 2025年1月実施の大学入学共通テストで新たに「情報 Ⅰ」が出題科目として追加。
検討用イメージ

サンプル問題試作問題• 生徒が苦手意識を感じやすいプログラミングについて，共通テストを見据え，授業実践および今後に向けた改善点について述べる。

情報Ⅰの教科書で扱っている言語の比較
教科書
会社
A社

教科書名

教科書A-1
教科書A-2
教科書B-1

B社

Python●●●Java
Script

5VBA

●
●

●

教科書B-2●

教科書B-3●

教科書B-4

C社
D社
E社
F社

教科書C
教科書D-1
教科書D-2
教科書E-1

●
●
●

●
●

●
●
●

●

教科書E-2/教科書E-3

●

教科書F
合計

Scratch64

53「情報」の問題作成方針に関する検討の方向性

6（出典：大学入試センター，令和７年度大学入学者選抜に係る大学入学共通テストの出題教科・科目の問題作成方針に関する検討の方向性，https://www.dnc.ac.jp/albums/abm.php?d=511&f=abm00003128.pdf）

授業実践の概要

7• 対象校および対象者：
都内私立F高等学校，120名(2年生，3クラス，女子のみ)• 授業時間：45分授業，11コマ分
授業時間

1～3時間目
4時間目
5～6時間目
7～8時間目
9時間目
10～11時間目

内容○順次処理，変数○繰り返し，条件分岐○繰り返しと条件分岐の組み合わせ○3時間目までのまとめと振り返り○配列，関数の定義と利用○6時間目までのまとめと振り返り(『試作問題』第3問による演習と実習)○ライブラリ，WebAPIの活用○並び替えのアルゴリズム(バブルソート，選択ソート)

プログラミング環境• オンラインプログラミング環境

8
ビットアロー(Bit Arrow)

https://bitarrow3.eplang.jp/bitarrow/Pythonと共通テスト用プログラム表記の比較①

9

サンプル問題Python

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

Tomei = ["A党", "B党", "C党", "D党"]
Tokuhyo = [1200, 660, 1440, 180]
sousuu = 0
giseki = 6
for m in range(0, 4, 1):
sousuu = sousuu + Tokuhyo[m]kizyunsuu = sousuu / giseki
print("基準得票数:", kizyunsuu)
print("比例配分")
for m in range(0, 4, 1):
print(Tomei[m], “:",Tokuhyo[m] / kizyunsuu)

Tomei = ["A党", "B党", "C党", "D党"]
Tokuhyo = [1200, 660, 1440, 180]
sousuu = 0
giseki = 6
mを0から3まで1ずつ増やしながら繰り返す:│ sousuu = sousuu + Tokuhyo[m]└ kizyunsuu = sousuu / giseki
表示する("基準得票数:", kizyunsuu)
表示する("比例配分")
mを0から3まで1ずつ増やしながら繰り返す:└ 表示する(Tomei[m],“:",Tokuhyo[m]/kizyunsuu)

Pythonと共通テスト用プログラム表記の比較②

10

試作問題
Python

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

Kouka = [1, 5, 10, 50, 100]

Kouka = [1, 5, 10, 50, 100]

kingaku = 46

kingaku = 46

maisu = 0

maisu = 0

nokori = kingaku

nokori = kingaku

for i in range(4, -1, -1):

iを4から0まで1ずつ減らしながら繰り返す:

maisu = maisu + nokori // Kouka[i]│ maisu = maisu + nokori ÷ Kouka[i]nokori = nokori % Kouka[i]└ nokori = nokori % Kouka[i]print(maisu)

表示する(maisu)

配列内の最大値を求めるプログラム《Python》

11《共通テスト用プログラム表記》

Data = [11, 35, 32, 67, 74, 56,
183, 22]
2 max = Data[0]Data = [11, 35, 32, 67, 74, 56,
183, 22]
2 max = Data[0]for i in range(1, len(Data)):

iを1から要素数(Data)-1まで13ずつ増やしながら繰り返す:

3
4

if max < Data[i]:5max = Data[i]6 print(max)4 │ もし max < Data[i] ならば:
5 └ └ max = Data[i]6 表示する(max)課題：並び替えのアルゴリズム・0703

12• 課題1：配列Data= [54, 32, 68, 29]に格納されている数値を，交換法(バブルソート)で昇順に並べ替えるプログラムをPythonでつくりなさい。
《Python》《共通テスト用プログラム表記》

1 Data = [54, 32, 68, 29]

1 Data = [54, 32, 68, 29]

2 n = len(Data)
3 for i in range(【ア】):
4for j in range(【イ】):

2 n = 要素数(Data)
3 iを【ア】増やしながら繰り返す:
4 │ jを【イ】増やしながら繰り返す:

56
7if 【ウ】:
temp =【エ】【オ】=【カ】

5 │ │ もし【ウ】ならば:
6 │ │ │ temp =【エ】
7 │ │ │ 【オ】=【カ】

8【キ】=【ク】
9 print(Data)

8 └ └ └ 【キ】=【ク】
9 表示する(Data)

試作問題第3問図2のプログラムをPyPENで

13

学習内容全体の理解度と楽しさを問うアンケート結果
学習の理解度

学習の楽しさ35

35303025252020

15

15

1010

5500
54

15

321(N=88)54

321(N=88)

学習内容の理解度を問うアンケート結果

16

4.00
3.50
3.00

3.32

3.10

3.06

2.88

3.01
2.65

2.64

2.50
2.00

N=88

今後の展望17• プログラミングの指導においては，生徒自身が試行錯誤を繰り返しながらコードを入力することが大切。
• 次年度以降は，生徒の実習時間を増やすために，生徒には予習として授業動画を視聴させる，事前にスライド資料を読んでおくといった反転授業の形式を取り入れることを検討したい。

• micro:bitなどのプログラミング学習ツールを利用して，生徒に学習への興味・関心および理解度を向上させる取り組みができたらとも思う。

夏休みの課題• 夏休みの課題：ProgateのPythonのレベルⅢまで取り組む。

18

参考文献

19

(1) 文部科学省：高等学校学習指導要領(平成30年告示)解説 情報Ⅰ，
https://www.mext.go.jp/content/000166115.pdf (参照：2024-06-04)(2) 大学入試センター：試作問題『情報Ⅰ』，https://www.dnc.ac.jp/albums/
abm.php?d=511&f=abm00003277.pdf (参照：2024-06-04)(3) 大学入試センター：令和７年度大学入学者選抜に係る大学入学共通テストの出題
教科・科目の問題作成方針に関する検討の方向性，https://www.dnc.ac.jp/albums/
abm.php?d=511&f=abm00003128.pdf (参照：2024-06-04)(4) オンラインプログラミング環境 ビットアロー(Bit Arrow)https://bitarrow.
eplang.jp/ (参照：2024-06-04)(5) PyPEN，https://watayan.net/prog/pypen.html (参照：2024-06-04)(6) 藤原進之介 監修，斎藤昴・渥見友章 編著：スライドで見る全単元のすべて高等学校
情報Ⅰ，東洋館出版社，pp.108 -133 (2024)