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

2025年12月25日

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

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

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

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

今回も共通テスト「情報」のプログラミング問題に必要なアルゴリズム考察の基礎固めを、Scratchのコードと日本語混じりの擬似言語と対比して説明します。全4回の2回目となる今回は、リストの全データを変数とループを活用して取り出します。

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

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

今回の学習内容:
・リストのデータを全て取り出す(振り返り)
・リストのデータを全て取り出す(変数iとループの活用)


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

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

リストのデータを全て取り出す(振り返り)

リスト内の特定の場所の値を取り出して表示します。リスト内の位置(○番目)は添字(インデックス)で指定します。

Scratchの操作とコード
「(リスト名)の○ばんめ」ブロックで、リスト内の値を取り出します。前回の振り返りとして
○ばんめ(添字部分)を数値ではなく、変数「i」を用いて「nameの iばんめ」のように指定します。

例では1から4まで、値を代入した変数 i を利用してセリフで表示しています。ここではループの活用へステップアップする上で変数 i の変化を確認するために、冗長なコードとなっています。i を 1→2→3→4 と変化させることでリスト内のデータを全て順番に取り出せることをおさえておきます。


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

*「表示する」の部分は、一般的に print のような関数名を用いますが、擬似言語では特定の関数名を用いずに日本語混じりになるようです。説明文を読むことで何を指しているのかがわかります。
*添字は0から始まるプログラミング言語が多いですが、前回の出題では1からとなっていました。コードがname[1]を参照している場合、それが最初の要素(値)を指すのかを判断するため、例示されるコードや説明をしっかり読むことが重要です。
*代入は「=」以外に「←」などの記述も想定されますが、問題文に説明がありますのでしっかりと読んで理解すれば心配ありません。

リストのデータを全て取り出す(変数iとループの活用)

リスト内の全データを効率よく全て順番に取り出すためにループ処理を活用していきます。そのためには、ループ処理の中で、リスト内の位置(「○ばんめ」「添字(インデックス)」)を指定する変数「i」を1つずつ増やす必要があります。

Scratchの操作とコード
はじめに変数「i」に1を代入します。
繰り返す回数を確定するためにリストの値数4を変数「NINZU」に代入しておきます。

次の処理をiがNINZU(=4)より大きくなるまで繰り返します。
・リスト「name」のi番目を表示する
・変数「i」を1増やす

*Scratchでは「リストのながさ」ブロックで値数を取得できますが、擬似言語では、値数を変数(NINZU)に代入する傾向があるため今回の例では揃えています。
ただ、もし擬似言語で「リスト名.要素数」や「リスト名.長さ」のように、日本語の関数表記が用いられた場合でも、問題文の説明を読んで、その関数がリストの値数を返すことを理解すれば問題ありません。

擬似言語での対応:
擬似言語では、「変数名 = (値)」で代入を行います。
リストの添字を指定するiは「i = 1」、
リストの値数は「NINZU = 4」と定義します。

iを1からNINZU(=4)まで1ずつ増やしながら以下を繰り返します。
・name[i] でデータを取り出して表示

*添字の更新(インクリメント)部分は特定言語の構文ではなく「i を 1 から…」のような日本語混じりで表記されています。もし「I += 1」「I = i+1」「i++」といった表記があった場合にも説明文を読むことで理解できるはずです。

ループ処理の中でiの値を1ずつ増やすというように規則的に変化させることでリストの値を順番に取り出す処理を完成しました。

次回は、このループ処理の中に「条件分岐」を組み込み、「60歳以上の対象者のみを抽出する」という仮想問題の核心となる処理にステップアップします。

授業での活用

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

今回も、複雑な構文を覚える必要がないScratchと擬似言語を対比させ、共通テスト「情報」で最も問われる「アルゴリズムの思考」にフォーカスして基本を解説しました。
今回学んだ添字の更新によるループ処理は、情報の授業で必須の「データを扱うアルゴリズムの土台」を築くためにとても有用です。こういったやさしい例題から無理なく理解し、ステップアップにつながればと思います。

スクラッチの使い方

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

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

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

関連URL

「うさプロオンライン」

ユーバー

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

アーカイブ

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