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

2026年1月15日

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

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

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

「Scratchで共通テスト対策?」小中学校からできるアルゴリズム考察のための基礎固めー抽出したデータを新しいリストに格納する

今回も共通テスト「情報」のプログラミング問題に必要なアルゴリズム考察の基礎固めを、Scratchのコードと日本語混じりの擬似言語と対比して説明します。全4回の最終回となる今回は、条件に合うデータを別のリストに書き出す処理を完成させます。

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

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

今回の学習内容:
・条件に合うリストのデータを取り出す(60歳以上など:振り返り)
・条件に合うリストのデータを別のリストに書き出す(記念品送付先送付データの完成)


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

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

条件に合うリストのデータを取り出す(60歳以上など:振り返り)

ループ処理の中でリスト内の位置(「○ばんめ」「添字(インデックス)」)を指定する変数「i」を1つずつ増やすことで順番に全データを参照し、条件(例 年齢が60歳以上)を組み込むことで、条件に合うデータの名前と年齢を取り出します。

Scratchの操作とコード
はじめに以下の変数への代入処理を行います。

・「i」を1にする:
・「NINZU」を4にする:
・「TAISHO-AGE」を59にする:リストage の値と比較して調べる対象年齢として利用

i が NINZU(=4)より大きくなるまで繰り返す処理を次のように記述し、条件が真の時にリスト「name」のi番目と「age」のi番目を表示します。


擬似言語での対応:
擬似言語でも同様に、冒頭で各変数の初期値を代入します。
・i = 1
・NINZU = 4
・TAISHO-AGE = 59

iを1からNINZU(=4)まで1ずつ増やしながら繰り返す処理の中に以下の条件を追加します。
・もし age[i]>TAISHO-AGE なら
・name[i] とage[i]でデータを取り出して表示


条件に合うリストのデータを別のリストに書き出す

これまでに完成させた「ループ+条件分岐」のコードに、新たなリスト「taisho-name」へ条件に合うデータを追加する処理を組み込み、対象者リストを完成させます。

Scratchの操作とコード
はじめにリスト「taisho-name」の「すべてをさくじょする」ブロックを加えてリストを初期化します。

iがNINZU(=4)より大きくなるまで繰り返す処理で条件が真の時の処理を次のように変更します。

条件【「age」のi番目> 「TAISHO-AGE」】が真の時
・リスト「taisho-name」に「name」のi番目を追加する


擬似言語での対応:
擬似言語でも、リストを空にする taisho-name = [ ] で初期化します(擬似言語では省略されることもあります)。

iを1からNINZU(=4)まで1ずつ増やしながら繰り返す処理で条件が真の時の処理を次のように変更します。

条件【「age」のi番目> 「TAISHO-AGE」】が真の時
・「taisho-name」にname[i]を追加する

擬似言語についてまとめ
構文と日本語混じりの表記
• 入出力・制御関数: もし〜なら(if)、表示する(print)、〜に追加する(append)など、日本語混じりで表記されることが多いです。説明文を読むことで、その操作を理解する必要があります。
• 代入の表記: =以外に ← などの記述も想定されます。問題文に説明があると思われますので、代入操作を指す記号を正確に理解しましょう。
• 添字の更新(ループ): i を 1 から N まで1ずつ増やすのように、日本語での処理が内包されることが多いようです。i = i + 1 や i++ のような表記があった場合も、問題文の説明で定義されていることを確認しましょう。リスト操作と添字のルール
• 添字の開始点: プログラミング言語の多くは 0 から始まりますが、共通テストでは 1 からとなる場合があります。コードが name[1] を参照しているとき、それが最初の要素を指すのかを、例示されるコードや説明で必ず確認してください。
• リストへの追加操作: リスト名に 値 を追加する のように日本語で表現されることが多いですが、リスト名.append(値) や リスト名.add(値) といった表記があった場合も、問題文に説明があることを前提に、その操作を理解しましょう。
• リストの要素数の把握:
変数に総数を代入する傾向があるようですが、「リスト名.要素数」や「リスト名.長さ」のように、日本語の関数表記が用いられる可能性もあります。問題文の説明を読んで、その関数がリストの値数を返すことを理解すれば問題ありません。

ここまででリスト内のデータを参照して条件に合うデータをリストから抽出し、新たなリストへ格納する処理が完成しました。

最後にチャレンジ

もし時間に余裕があったら、今回抽出した対象者の人数をカウントし、表示する処理を付け足してみてください。

<解答例はこちらです>

授業での活用

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

この4回のコラムを通して、変数、リスト、ループ、条件分岐というアルゴリズムの基礎について、まずは視覚的でやさしいScratchのコードで理解し、それを擬似言語に置き換えながら学び、「データ抽出と格納」といった処理を完成しました。

全データを調べる、要不要を分ける、目的にあったデータを抽出して格納するという一連の処理は、課題解決のための最も基本的な思考プロセスの1つです。
実際の共通テストや、学校、社会の様々な問題も、「何を変数として扱い、どんな順番で、どんな条件で処理するか」という論理的な設計をすることで、解決への道筋が見えてくるのではないでしょうか。
シンプルでやさしい例題を理解した上でステップアップすることで、子どもたちが課題に立ち向かう力を築いていただけたら嬉しいです。

スクラッチの使い方

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

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

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

関連URL

「うさプロオンライン」

ユーバー

自律的な学習者への第一歩に 自己効力感の向上 活用事例多数紹介 すらら 活用事例のご紹介
Benesse 総合のプロフェッショナル 松村先生がレクチャー&事例つき どの学校でも無理なくできる!総合的な学習の時間ウェビナー
ユーバー株式会社

アーカイブ

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