1. トップ
  2. 動画ニュース
  3. ユーバーの「Scratchで小・中学校のプログラミング」Vol.43 <スクラッチで2026共テを解説2>

2026年2月5日

ユーバーの「Scratchで小・中学校のプログラミング」Vol.43 <スクラッチで2026共テを解説2>

ユーバープログラミングスクールの中村里香代表による、小中学校のプログラミング授業で使ってほしいプログラミング言語Scratch(スクラッチ)の学習動画第43回。

今回は、2026年度の共通テスト「情報Ⅰ」のプログラミング問題解説の後編です。

共通テストのプログラミング問題を見てみよう

1月18日に実施された共通テスト「情報Ⅰ」。大問3のテーマは「文化祭の展示における待ち時間のシミュレーション」でした。

前回(Vol.42)は、「直前の来訪者の終了時刻と本人の到着時刻を比較して、開始時刻を決定、体験時間が3分の時の待ち時間を算出する」という基本部分をScratchで解説しました。

2回目となる今回は、「体験時間を1分から15分まで変化させた時の、最長待ち時間のシミュレーション」という出題の核心である「問3」に挑戦します。

ゲーム展示の待ち時間の整理(問1・2):ふりかえり
昨年度の来訪者データを活用し、一人ひとりの待ち時間を算出する基本部分を整理しました。

到着時刻: 昨年度の6名分のデータを活用
開始時刻: 2人目以降は「本人の到着時刻」と「直前の来訪者の終了時刻」の最大値
終了時刻: 「本人の開始時刻」+「体験時間(3分)」
待ち時間: 「本人の開始時刻-本人の到着時刻」


これらを実装した、問2の解答例(擬似言語とScratch)は以下の通りです。
配列「Kaishi」の要素には6名分の開始時刻、同様に配列「Shuryou」の要素には終了時刻を代入し、それぞれの待ち時間を調べる部分が完成しました。

擬似言語によるプログラム

Scratchによるプログラム


待ち時間をシミュレーションする(問3)

問3では、問2で完成したプログラムを改良して体験時間を1分から15分まで変化させながら、最長待ち時間を算出します。

はじめに使用する変数と配列(Scratchではリスト)、関数を以下の通り整理しました。


擬似言語による出題

問2までのコードは次のように改造されています。
(03)変数「taiken」(体験時間)を1から15まで増やしながら(04)から(14)までを繰り返します。

(10)体験時間における最長待ち時間を代入する変数「saichou」に0を代入し初期化します。

(11)(12)変数「i」を使い、1人目からkyakusu,つまり6人目までの待ち時間を比較し、最大値(最も長い待ち時間)を調べて変数「saichou」を更新します。

(13)(14)条件に合ったときに、体験時間の最長待ち時間を表示します。


さらに問題は、最長待ち時間を10分未満とするための改造が追加されます。

(03)「(taiken <= 15)and(条件「シ」)」が真の間に (04)から(14)までを繰り返します。

(13)(14)表示は、最長待ち時間が10分未満の条件が真の時になります。


そして、これらの処理が、適切に動くように以下を「0・1・2・3」のいずれの位置に配置するべきか問われています。

【ス】: taiken = 1, saichou = 0 (体験時間の開始値と、最長待ち時間の初期値代入)
【セ】: taiken = taiken + 1 (次の体験時間へ進めるために、値を1増やすインクリメント処理)

出題されたのは、図中の「サ」「シ」「ス」「セ」の部分です。

Scratchのプログラム
この出題をScratchのブロックに置き換えたのが次の図です。

Scratchで解く

体験時間を1分から15分まで増やすループと、その中で来訪者を1人目から6人目まで増やすという「二重構造」がこの問題の核心です。一見複雑ですが、Scratchなら視覚的に捉えることができます。

来訪者の最長待ち時間を調べる(内側のループ)

この内側のループでは、ある体験時間における6名の待ち時間を一人ずつ計算し、その中での最大値を変数「saichou」に格納していきます。 関数「最大値」を使い、『暫定の最長待ち時間(saichou「(サ)」)』と『いま計算した「i」人目の待ち時間』を比較し、より大きい方を saichou に上書きすることで、ループが終わる時には6人の中での最長時間が格納される仕組みです。

体験時間を1ずつ増やす(外側のループ)

体験時間 「taiken」を1から始め、条件を満たす間、処理を繰り返します。

繰り返しの条件と表示の条件(「シ」)
ループは「体験時間が15分以下」かつ「最長待ち時間が10分未満(saichou < 10)」の間繰り返します。この saichou < 10 は、結果を表示する際の判定条件(条件シ)とも共通しています。

注意点: 擬似言語の「真の間繰り返す(while)」に対し、Scratchは「真になるまで繰り返す(until)」という仕様です。解答の選択肢に合わせるため、Scratchでは「ではない」ブロックを使って論理を反転させています。

・初期化(ス)と更新(セ)
ループの前で「体験時間の開始値(「taiken=1」)」と「待ち時間の初期化(「saichou=0」)」を行い、外側のループ内の最後に「体験時間を1増やす(インクリメント)」処理(「taiken = taiken+1」)を配置します。


擬似言語を完成する

Scratchで確認したコードを擬似言語に置き換えれば、解答の完成です。

• 【サ】: saichou (暫定の最大値と比較して更新する)
• 【シ】: saichou < 10 (最長待ち時間が10分未満であるという条件)
• 【ス】: taiken = 1 と saichou = 0 (初期化処理)を外側ループの直前に挿入
• 【セ】: taiken = taiken + 1 (体験時間を1分増やして次へ進める処理)を外側ループ内側の最後に挿入


今回の手順で、ゲームの体験時間を1分から15分まで変化させながら、最長待ち時間を比較するという二重ループの構造が完成し、大問3を解くことができました。

このループが具体的に何回繰り返され、どういった結果が表示されるかは、ぜひ動画内のScratch実行画面もご覧ください。

授業での活用:Scratchによる基礎固めの有用性

Scratchはゲームづくりだけでなく、子どもたちのアイデアの表現、発表、調べ学習など、さまざまな教育活動で活用できるツールです。

今回の2回にわたる解説を通じ、2026年度共通テストのプログラミング問題に挑戦しました。初見では複雑な擬似言語に圧倒され、困難に感じる子どもも少なくないでしょう。しかし、その構造を丁寧に紐解けば、実は以前のコラム(Vol.37〜40)で扱った基礎知識の組み合わせに過ぎないことが分かります。

試験本番には「時間制限」や「擬似言語の構文」という縛りがありますが、学習の段階においては、これらに惑わされずに情報を読み解き、「問題の本質的な仕組み」を考える習慣をつけることが大切です。

特定の言語仕様を暗記することよりも、まずは情報から条件を抽出する読解力を養い、「提示された課題に対して、どのような手順で解決策を導き出せるか」を試行錯誤する、このプロセスこそが、これからの社会を生きる上で最も重要な力ではないでしょうか。

まずは慣れ親しんだScratchのようなツールで構造を理解し、自信をつける。この「基礎の積み重ね」こそが、将来、自ら道を切り拓く力に繋がると思います。

◆スクラッチの使い方
スクラッチで共テ情報の基礎固め1
スクラッチで共テ情報の基礎固め2
スクラッチで共テ情報の基礎固め3
スクラッチで共テ情報の基礎固め4

<筆者プロフィール>
ユーバー株式会社 代表 中村里香
2017年4月、すべての子どもが楽しく学べるプログラミング教育を目指し、ユーバー株式会社を設立。プログラミング教室運営、クラウド型学習サービス「うさプロオンライン」の提供、教材開発、講師育成支援、体験イベントの開催などを行う。環境に左右されない学びの機会を届けるため、教育現場や企業と連携し活動中。

ご質問・お問い合わせ info@yuber.jp 中村宛(ご質問は該当記事のURLを添えてください)

関連URL

「うさプロオンライン」

ユーバー

自律的な学習者への第一歩に 自己効力感の向上 活用事例多数紹介 すらら 活用事例のご紹介
Benesse CBTウェビナー 評価と指導をつなぐ CBT導入のポイントと、自治体に求められるこれからの準備とは 2月3日(火) 16:00~17:00 オンライン開催
株式会社TENTO

アーカイブ

  • ICT要員派遣はおまかせ!ICTまるごとサポート 詳細はこちら
  • 事例紹介作って掲載します。 ICT教育ニュースの楽々 事例作成サービス