1. トップ
  2. 動画ニュース
  3. ユーバーの「Scratchで小・中学校のプログラミング」Vol.37 <スクラッチでス共テ情報の基礎固め1>

2025年12月18日

ユーバーの「Scratchで小・中学校のプログラミング」Vol.37 <スクラッチでス共テ情報の基礎固め1>

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

今回は<中級者>向け、『Scratchで共通テスト「情報」のプログラミング問題に必要な知識を学ぶ』をテーマに変数とリストのプログラムを紹介します。

「Scratchで共通テスト対策?」小中学校からできるアルゴリズム考察のための基礎固めーリストの基本

2025年度から共通テストに加わった「情報」、プログラミング分野について、「Scratchでの学びがどこまで役立つのか」とよく尋ねられます。

2025年度の問題からもわかるように、特定のCUI(キャラクターユーザーインターフェース)言語の構文や知識ではなく、「課題を読み解く力」や「アルゴリズムを考える力」という本質を問われます。

ビジュアルプログラミング言語であるScratchなら細かな構文を覚える必要がありませんから、まずはアルゴリズムの考察に集中することが可能です。つまり基礎を固める上でとても有用だと考えています。

共通テスト 情報のプログラミング問題では、日本語混じりの擬似言語が利用されていました。そこで、よりスムーズな対策と基礎固めを目指し、Scratchのコードと対比する想定される「擬似言語」の構文を説明していこうと思います。

仮想問題:敬老の日の記念品の対象者データを抽出する

今回から4回にわたり、共通テスト「情報」で問われるアルゴリズムの基本を、Scratchで実装しながら解説します。

例題:地域に住む人の名前と年齢のデータを用意し、条件(例:60歳以上や80歳以上など)に合う住人を検索し、該当者を抽出してデータを作成する。

今回の学習内容:
・リストにデータを代入する
・リストのデータを取り出す(添字)
・リストのデータを置換する
・変数で添字を指定する


変数とは
数字、文字列、計算式などの値に名前をつけて保持し必要な時に再利用できる仕組みです。

リストとは
複数の値をまとまりとして記憶させることができる特殊な変数の1つです。リスト内の値を要素、その位置(1番目、2番目…)を添字(インデックス)と言います。

リストにデータを代入する

はじめに次の2つのリストを作成し、初期化を行ってから値を代入します。
・リスト「age」: 住民の年齢を格納
・リスト「name」: 住民の姓を格納

Scratchの操作とコード
「(リスト名)をすべてさくじょする」ブロックでデータを初期化します。
続いて「(値)を(リスト名)についかする」を必要なデータ分実行することで値を追加しています。

*スクラッチでは事前に「リストをさくせいする」ボタンでリストを作成する必要があります。


擬似言語での対応:
「(リスト名)= [ ] 」で指定したリストを初期化します。
「(リスト名)= [値1,値2,値3…]」で必要なデータ分の「値n」を指定することで値を追加しています。


擬似言語では、リストに [ ] (角括弧) を使って、文字列データ(”田中”)や数値データ(75)をまとめて代入します。

代入は「=」以外に「←」などの記述も想定されますが、問題文に説明がありますのでしっかりと読んで理解すれば心配ありません。

リストのデータを取り出す(添字)

リスト内の特定の場所の値を取り出して表示します。リスト内の位置(○番目)は添字(インデックス)で指定します。Scratchも共通テストの擬似言語も、添字は 1 から始まります。

Scratchの操作とコード
「(リスト名)の○ばんめ」ブロックで、リスト内の値を取り出します。 例では、リスト「name」の1番目と3番目の値を表示するためにセリフのブロックを活用しています。


擬似言語での対応:
擬似言語では、[ ](角括弧)を添字として使い、リスト内の値の参照を行います。
「リスト名 [添字] 」でリスト内の値を取り出します。

リストnameの1番目のデータを取り出すには「(name)[1]」となります。

表示するために擬似言語では「表示する」といった日本語の記述が用いられていました。
例ではリスト「name」の1番目と3番目の値を表示しています。


*「表示する」の部分は、一般的に print のような関数名を用いますが、擬似言語では特定の関数名を用いずに日本語混じりになるようです。こちらも説明文を読むことで何を指しているのかがわかります

*添字は0から始まるプログラミング言語が多いですが、前回の出題では1からとなっていました。コードがname[1]を参照している場合、それが最初の要素(値)を指すのかを判断するため、例示されるコードや説明をしっかり読むことが重要です。

リストのデータを置換する

リストの中身を書き換える「置換(更新)」は、共通テストのプログラミング問題で出題される基本です。これは、添字(インデックス)で指定した特定の場所のデータのみを上書きする操作です。

Scratchの操作とコード
「(リスト名)の○ばんめを(値)でおきかえる」ブロックを使います。 ここでは、2番目の「佐藤」さん(68歳)が「加藤」さん(59歳)に変わったと想定し、データを更新します。


擬似言語での対応:
擬似言語では、「リスト名 [添字] =値」でリスト内の値を更新します。

リストageの2番目のデータを「59」で置換するには
「age [2]=59」となります。


変数で添字を指定する:変数 i による添字の指定(共通テストへの準備)

ここまでの操作で、リストのデータ操作の基本(作成、参照、置換)を確認しました。

しかし、これらの操作を固定の数値([2]や[3])ではなく、変数で制御することが、共通テストのアルゴリズム問題で重要かつ、複雑で理解が難しい部分です。今回は、理解を深めるための準備として、まずは変数 i を活用して添字を指定してみます。

Scratchの操作とコード

はじめに変数「i」に1を代入します。
値を取り出すブロック「(リスト名)の○ばんめ」の○ばんめ(添字)部分を数値ではなく、変数「i」を用いて「nameの iばんめ」のように指定します。


同様に「age の i ばんめ」と指定することで、複数のリストの共通する位置にある値を同時に取り出し表示します。

i に 1 を代入すると、「田中さん75歳」というデータが参照されます。

擬似言語での対応:
擬似言語では、「変数名 = (値)」で代入を行います。リストのデータを取り出す リスト名[添字] の添字部分に、Scratchと同様で i を用いて name[i] 、age[i]とします。


変数 i に代入された値によって、リストのどの添字(位置)を参照するかが決まるため、i の値をコントロールすることが、リストを扱うアルゴリズムの基本となります。

次回はループ処理の中でiの値を規則的に変化させることでリストの値を順番に取り出す処理にステップアップします。

授業での活用

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

今回は、複雑な構文を覚える必要がないScratchと擬似言語を対比させ、共通テスト「情報」で最も問われる「アルゴリズムの思考」にフォーカスして基本を解説しました。
リストと変数の基本は、小中学校のプログラミング教育はもちろん、情報科目を始める前の高校生、そして共テ対策の事前準備として「データを扱うアルゴリズムの土台」を築くために活用いただけたら嬉しいです。

スクラッチの使い方

スクラッチでアンケートの結果発表

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

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

関連URL

「うさプロオンライン」

ユーバー

自律的な学習者への第一歩に 自己効力感の向上 活用事例多数紹介 すらら 活用事例のご紹介
Benesse AIドリル x デジタルテストの導入事例大公開!
株式会社TENTO

アーカイブ

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