GIGA端末でテキスト型プログラミングをすることが 多かったと思います。 それが， 普 通 教室や技 術室で，GIGA 端末を利用して，プログラミング学習に臨めるようになったのです。
実際に GIGA 端末を利用して普通教室でプログ
神奈川県厚木市立藤塚中学校
総括教諭

尾﨑誠

ラミングの授業を実 践すると，困ったなと思うことが 多々生じます。「生徒が 作成したプログラムをどのように提出してもらえばよいのだろう」「従来とは異なる OS になり，ネットワークを利用した教材や，計測・制御の教材が対応しなくなってしまった」「先生機 の画 面を生 徒に見せ たいが， 教 室に機 材 が技術分野で学ぶプログラミングない」「教科書の内容が GIGA に対応していない」

平成 29 年に告示された学習指導要領は，今 年絶好のチャンスでもあります。GIGA 端末のメリッ度 が 全 面 実 施 2 年目にあたります。 各 社の 教 科トを生かすことで，今までは実現できなかったプロ書の内容が刷新され，「社会」「問題の解決」「プグラミング学習を実践できるようになります。などなど。しかしそれは，新しい授業を生み出すログラミング」といったキーワードが，多く見られ本書では，教科書に掲載されている事例を，普るようになりました。特にプログラミングについて

通教 室で GIGA 端末を利用して実 践できるようには，小学校でも積極的に授業実 践されるようにな改善してご紹介しています。GIGA 端末を利用するりました。児童が命令ブロックを組み立てることで，ため， 特定の OS に依 存せ ず， ブラウザ上で， ア画面上のキャラクターが動いたり，ロボットが動作プリケーションソフトウェアをインストールすることしたりして，楽しみながら各教 科・領域での学びなく実践できるように工夫しています。

を深めています。これを受けて，技術分野では本格的なプログラミング学習の初歩として，プログラムを構想・設計するための方法（例えば，アクティビティ図等を用いて思考を整理する） や， それに基づいて目的通りに動作するプログラムを作成・デバッグするための方法を取り扱うことになりました。
技術分野の学習を通して，情報の科学的な理解を深め， どのプログラミング 環 境にも共通する概 念や考え方を丁寧に身に付けることで，生徒一人一人の「プログラミングによって様々な問題や課題を解決する力」の育成を目指しています。

GIGA で授業が変わる小・中・高の連携を考えて日本語プログラミングをさらに，小学校・中学校・高等学校の連携に配慮しました。 小 学 校では日本 語 ベースのブロック型プログラミング環境等で学習することが多いと思います。一方で高等学 校では，Python や Ruby，Visual Basic といった英語ベースのテキスト型プロ
グラミング環 境が各社の教 科 書に掲載されています。そこで本 書では，その橋 渡しになる一 例として，日本語ベースのテキスト型プログラミング環境を多くご紹介しています。また，生徒の実態やハードウェアの環境に応じて，ブロック型や英語ベースのテキスト型で実践する際にも参考にしていただけ

新型コロナウィルス感染症の急速な拡大に伴い，るよう，各事例で理解させたいこと（分岐や反復とGIGA スクール構想が 前倒しで 実 施されることにいった構造や，問題を解決するためのヒントなど）なりました。一人 1 台端末（いわゆる GIGA 端末）を注記しました。

が予定より早く導入され，プログラミングを学ぶ環

本 書を通して，GIGA 端末を利用したテキスト境が大きく変わりました。従来，プログラミングは型プログラミング言 語環 境での授業実 践を，少しコンピュータ教 室で， 共用の端末を利用して学習でも応援できれば幸いです。

本書について学習指導要領の全面実施から 2 年目を迎え，今回は先生方のご要望を受けて，D 編 「情報の技術」 のプログラミング題 材 例をまとめました。本書における題材については，使用言語を『日本語プログラミング言語 「なでしこ」』で展開し，短時間でもできる基本プログラム例から問題解決につなげることができる発展例まで，学習活動の進捗を意識して制作いたしました。
特にプログラミングの流れが体系的にわかるように，テキストにポイントを加えて解説しましたので，本書をもとに，プログラミングを体験していただき，少しでも明日からの授業にお役立ていただければ幸いです。

『 日本語プログラミング言語「なでしこ」』とは日本語でプログラミングできるオープンソース言語です。 誰でも簡単にプログラミングができるように開発され，学校におけるプログラミング学習に適しています。 また，大学入学共通テストの疑似プログラミン
グ言語「DNCL」にも対応していきますので，将来的にも活用できるプログラミング言語です。

URL： https://nadesi.com/

1

特集 1

昨今のプログラミング言語の現状と開発について― 時代と共に変わる言語と変わらないもの ―グラミング言語も同じで，日々，便利で新しいプログラミング言 語が開発されたり，既 存の言 語に新機能が追加されたりします。
くじらはんど代表

酒徳 峰章( クジラ飛行机 )それに伴い，プログラミング言語にもトレンドがあり，さまざまな言語が入れ替わりランキングに登場しています（図 1）。それでも，この 20 年間はずっとランキング上位には，C/C++ 注 1 言語，Java が鎮座していました。

世界にたくさんあるプログラミング言語

しかし，ここ数年，第三次 AI ブームをきっかけにして，AI や科学計 算に強い Python 注 2 という言語が急激に利用されるようになりました。Python

自分で自宅をリフォームしたり，机や棚を作ったは， 多くの有用なライブラリが 利用可能で実 用的りと DIY が流行っています。自分で作れば，既製な言 語でありながら，プログラミングの入門者にも品にはない自分にぴったりの家具を作ることができ優しく学びやすいというメリットもあり，近年注目さます。同じようにプログラムも自分で作れば，目的れています。

にぴったり合った制作ができます。その意味で大工とプログラマーは似ています。

盤 技術の開発に使われてきた C/C++ 言語の欠点加えて，仕事道具という点でも似ている点がありを補った新しい Rust 注 3 や Go 注4 も注目を集めています。大 工が 仕事に応じて道具を使い分けるようます。 実 際，Rust はブラウザ の Firefox 注 5 ，OSに，プログラマーもプログラミング言語という道具の Windows や Linux 注 6 などでも使われています。

を使い分けます。なぜならば，この世界にはたくさんのプログラミング言語があり，昔からそれぞれの特色や得意不得意に応じて適材適所で使い分けられてきました。

最近のトレンドは Python，特定分野で世代交代が進む
よく，DIY を特 集した雑誌やテレビを見ていると，便利な新製品が多く紹介され「こんな便利な道具があるんだ」と感心することがあります。プロ

2

また，その他の言 語にも OS やブラウザなど基図1

プログラミング言語のトレンドを表すグラフ

https://www.tiobe.com/tiobe-index/ より引用

いつまでも変わらない技術と使われ続ける言語

なでしこの開発と目標

このように，時 代と共に使われるプログラミングこうした点を踏まえて「プログラミング学習」を

言 語は移り変わっていきます。 それでは， その度考えてみましょう。私が 20 04 年から開発しているにゼロから全てを覚え直す必 要があるのかと言え日本語プログラミング言語「なでしこ」は，日本語ば，そんなことはありません。1 つのプログラミンをベースとした言 語です。 当初からの開発目標は

グ言 語を学んで使えるようになれば，別の言 語を「誰でも簡単プログラマー」であり，それは今でも覚えるのは比較的容易です。

変わることなく一貫しています。母国語なので視認

どのプログラミング言 語にも，条件分 岐や繰り性が 高く，プログラムを読んで意味 が 分 かるとい返しなどの基本的な制御構文があり，その表現方うメリットがあります。そのため，プログラミングの法 ややり方が 少し異なるだけです。 よって， プロ学習にぴったりです（図 2）。

グラムを作るのに必要な「論理的思考能力」や「問なお，最新版の「なでしこ 3」は 2017 年に開発

題解決能力」を培っておけば，どんな言語を使っが始まりました。これは，なでしこを Web ブラウても効率的なプログラムを書くことができます。

ザで動かすようにしたものです。より幅広いプラットフォームで，プログラミングの楽しさを体験してもらうことを目標に開発しました。PC は当然のこと，タブレットやスマートフォンなど でも動 か せます。
ブラウザ上で手軽にプログラムを作って動かせるので，趣味や仕事に多くの方に使ってもらっています。
また，最近，教育分野でもっと活用してもらおう

図2 視認性が高く読んで意味が分かる日本語プログラミング言語と，大学入試に使われる擬 似プログラミング言 語3

DNCL 注 7 の互 換モードも追加しました。 なでしこ

非，ご使 用いただきお気づきの点があれば，気 軽は， オープンソースの形態で開 発しており， これにフィードバックをいただければ幸いです。

からも時 代にあった機能を追 加していきます。 是図3
コラム

ブラウザ上で手軽にプログラムの開発ができるようになった「なでしこ 3」

日本語プログラミング言語「な で し こ 」

なでしこの URL → https://nadesi.com/「なでしこ」大学入学共通テストの疑似プログラミング言語「DNCL」に対応。
DNCL は 大 学 入 学 共 通 テ ス ト で 利 用 さ れ る 日 本 語 の プ ロ グ ラ ミ ン グ 疑 似 言 語 で す。 な で し こ と の 共 通 点 も 多 く，
DNCL モードを有効にすると，DNCL の文法を試すことができます。また，DNCL からなでしこの豊富な命令 ( 描画や通信などブラウザの機能 ) を使えるのも大きなメリットです。

注 1

C++

注3

Rust

注 2
注 4

4

C 言語の拡張機能として考案

注 5

安全性と高性能を目指したコンパイル言語

注 7

Pythonスクリプト言語Go

簡潔さが特徴のコンパイル言語

注 6

Firefox Web ブラウザ

LinuxDNCL

オープンソースの OS

大学入学共通テストで利用される日本語のプログラミング疑似言語特集 2

小中高大における，今後の情報教育について― 論理的思考とプログラミング ー

高等 学 校の共通 教 科 情報 科では， 小中学 校の情報の学習との系統 性を重視し，身に付けてきた情 報活用能 力を的 確に把 握して，「 情 報活用の実践力」，「情報の科学的な理解」，「情報社会に参画大阪芸術大学教授信州大学名誉教授

西正明する態度」の学習教育を目標に掲げている。情報科は 2025 年の大学入試 共通テストの試 験 科目になることが決定している。
以 上のように， 小中高を通して， 情報と情報 技術を活用する技 能を身に付け，情報に関する科学

学習指導要領における情報教育の目標的な見方・考え方を働かせ，情報 技術を活用して問題の発見・解決を行う学習活動を行なっている。
その活動を通して，問題の発見・解決に向けて情2017 年 に告 示 され た 学 習 指 導 要 領 は， 小 学報と情報技術を適切かつ効果的に活用し，情報社

校 で 2020 年， 中 学 校 で 2021 年， 高 等 学 校 で会に主体的に参画するための資質・能力を育成す2022 年からそれぞれ全面実施とされている。これることを目指している。らの中で情報教育にかかわる内容を以下に簡単にまとめる。
小学校では情報活用能力の育成を図るため，各学校において，コンピュータや情報 通信ネットワー

情報教育の実態と各学習段階の学習内容にふさわしいプログラミング言語の例クなどの情報手段を活用するために必要な環 境を整え，これらを適切に活用した学習活動の充実を入学して間もない大学 生にこれまでの情報に関図ることとされ，コンピュータで文字を入力するなする授 業 で 印 象 深い内 容とそれが 役に立っていどの学習の基盤として必要となる情報手 段の基 本

るか ど うか を 尋 ね ると，Word，Excel，Power的な操 作を習得するための学習活動，プログラミ

Point のリテラシーと情報の扱いに関わる著作権とングを体験しながら，コンピュータに意図した処理

情報モラルを挙げ，「レポート作成などに役に立っを行わせるために必要な論理的思考力を身に付けている」と答える学生が多い。それに対して「Webるための学習活動をする。

ページ作成やプログラミングは中学 校で 学 習した中学校では，技術・家庭科技術分野の「D 情報けれど 役に立っていない」 と答える学 生が 多い。

の技術」を学びの中心として，社会を支える情報

これは高等学 校での情報 科でプログラミングの学の 技 術， 計 測・制 御のプログラミングによる問題

習内容が 少ないことを暗示させる。 高校の「 情報解決に加えネットワークを利用した双方向性のある科」は 20 03 年度から必修化されたのに未履修がコンテンツによる問題解決，情報の技術の誠実な多かったかつての状況の流れが断ち切れていない工夫創造を学習する。

ことの現われのように思われる。

5

これらの実態を踏まえ，小学校では，情報の扱2）などのマイコンボードとの組合 せが 効果的と考いと情報モラルおよび 論理的思考力の養成が重要えられ，機能が限定的なブロック型だけでなくテキと考える。文字入力の技能や情報モラルでは全 教スト入力による全機能のプログラミングが学べる。

科での総合的な取り組みが大切であり，プログラ

双 方 向 性プログラミングには XAMPP（ 図 2） とミングではブロック型プログラミングの Scratch かPHP 言語の組合せで実用的なコンテンツ作成が学

mBlock と Codey Rocky（ 図 1） などの動く模 型べる。高等学校では，生徒の既学習の定着性をみとの組み合 せが 効果的と考えられる。また，もって，さまざまな応用に発 展可能なスクリプト言 語と若 年層ではキュベット（ 図 1） のようなタンジブの Processing や AI を含む豊富なライブラリが使ルな視 覚 的プログラミングが 効 果 的と思われ る。

える Python 言 語（ 図 3） を用いて問 題 解 決と論中学校では，Scratch や mBlock と Arduino（図理的思考を行う学習活動が考えられる。

Co d ey Rocky

図1

キュベット

動く模型「Codey Rocky」とコーディング用ブロックを触って動かせる「キュベット」

m B lo c k
A rd uino SD K

X A MPP コ ン ト ロ ー ル パ ネ ル

図26

中学校 段 階 に お け る 有 効 な プ ロ グ ラ ミ ン グ 言 語 の 例

は，重要な能力のひとつと言える。情報技術は日々今後の展望進化しているため， 自ら学び 続けていくことが大切である。情報と情報 技術をより高度に活用できる能力を身につけて，論理的思考力のもとに高度情報 技 術は生活 するうえで，もはやなくてはな

な問 題の 発見と解 決を実 行して， 情 報 社会に 積らない 身 近 で重 要な技 術になっている。 この 情極 的に参画していくことを目指している情 報 教 育

報 技術をいかに有 効に使いこなして活用できるかの重要性は今後ますます高まっていくであろう。

Pro c essing と 実 行 画 面

Python と実行画面

図3

高等学校段階におけ る 有 効 な プ ロ グ ラ ミ ン グ 言 語 の 例

7今日から使える資料提供
ページ

教科書のプログラミング

題材をGIGA端末でやってみよう〜

P216
P217
＊令和 3 年度版教科書

正誤の判定ができる数当てゲームをつくってみよう！

2 プログラミング言語の選択と起動，プログラミング
２ 静止画と音声の呼び出しプログラム

３ サイコロの目の数を当てる

準備プログラム● 命令の入力

1から6までの乱数（ 1 ）をつくる。
「6の乱数」は0〜5になる。

保存した静止画を呼び出す。

条件による分岐の命令。

保存した音声を呼び出す。
● 順次 「実行」させる命令

1● 実行の結果乱数

コンピュータが選び出す適当な数字。
毎回異なり，予想ができない数。

1から6までの予想した数を入力する。
実行ボタンをクリックする。
1行目からの命令を順次実行する。
● 実行の結果「seikai.png」と「matigai.png」の静止画が呼び出され，録音した音声「yattane.
mp3」が再生される。

8● 回答の入力と結果予想した数を入力すると，「あたり！」か「ざんねん！」の文字が表示される。

「なでしこパッド」

URL： https://manabu-tech.net/nakopad/

1

素材の準備

1

静止画と音声の準備

プログラムの学び

今回はこちらの素材でやってみましょう。

● プログラミング学習の導入として，条件による分岐を体験できる。
● 基本のプログラムに静止画や音声も加えることができる。

3
４ サイコロに静止画と音声を加える

プログラム

実行，デバッグ，保存・終了

５ 続けて回答できる改善プログラム● 命令の入力● 命令の入力

説明のコメント

正しい答えが出るまでゲームを続ける命令。
｛ ｝内の変数の値を表示する。

● 実行の結果実行し，予想した数を入力すると，「seikai.png」か「matigai.png」の静止画が呼び出され，正解では音声「yattane.mp3」が再生される。
● 実行，デバッグ
続けて回答でき，当たるまでの回答の回数を表示。
● 完成，保存・終了
プログラムは決められたフォルダに保存。

9

今日から使えるプログラミング〜

P238
P243
＊令和 3 年度版教科書

双方向通信を使って，友だちと情報交換をしてみよう！
プログラムの使用想定場面● 離れたところにいる友達と情報交換をしたいとき。
● 交換したい情報に適した SNS やチャットがない場合に，自分たちでアレンジして使いやすいものを作りたいとき。

構想を具体化するには・・・

設計をまとめるには・・・❶

やり取りしたい情報は何かを考える。

❶

基本の動作を考える。

（文字，音声，静止画，動画など）❷機能を加えていく。

❷

プログラミング言語を選ぶ。

❸

アクティビティ図で整理する。

クライアントとサーバの間の情報の流れ

サーバの基本となる動作・サーバとクライアントでは，文字データだけをやり取りする。
ラ

クライアント側

サーバ側

ン

・教室内LANで行う送信・受信の通信プロトコルは，ティーシーピー

アイピー

T CP／ I Pを利用する。
・サーバは，文字データを受信したら，すぐにそれをAから情報を送信する

情報を受信する

全クライアントへ送信する。
・サーバは，LAN内に1台だけ設置する。
⇒先生機でサーバのプログラムを実行する。

送信の準備をする

AでAの情報を受信するAの情報を送信する

BでAの情報を受信する

CでAの情報を受信する

クライアントの基本動作
クライアント側

ピュータ。

10

サーバ側

文章を入力する
サーバへ文章を送信する

文章を受信する

文章を受信する

全クライアントへ文章を送信する

文章を表示する
A・B・C･･･は，接続しているクライアントのコン

アクティビティ図の例

1

クライアントのプログラミング
今回は，あらかじめ用意されているサーバを使います。
クライアントのプログラムを考えていきましょう。

最初にサーバへデータを送信する処理とサーバからデータを受信する処理を行い，次にサーバとの接続を行えるよ
うに，クライアントのプログラミングを行います。

このサーバは，合言葉が同じクライアント同士でデータを送受信する。

●データ送受信の流れ
サーバ
13

クライアント12

3

3

2

クライアント
2クライアント3

入力ボックスに文字を入
お力してボタンを押すと，その文字データをサーバに送信する。
文字データを受信したときは，変数「受信文」に記憶し，実行画面に表示する。

●受信画面
3

プログラムを修正したり，終了したりするときは，必4ずサーバとの接続を終える。

このプログラム言語は，接続した後の処理をすべて準備してから最後に接続する。

プログラムの実行画面●クライアントの画面
1

11

今日から使えるプログラミング

2

使いやすさを考えたクライアントのプログラム改良

使いやすい画面の設計を考えます。多くのソフトウェア
では，人が操作する順に，入力ボックスやボタンなどを並ぼうとうべる設計になっています。プログラムの冒頭に画面をつくるための処理を置くとよいでしょう。
A

使いやすい入力画面例
1

2

3受信した文字情報を表示する部分。

B プログラムの改良例

1 〜 3
クライアントの送信画面を改良。
プログラムの説明用の行には「//」をつける。

1

送信したい文字データをらん入力する欄。

2

入力した文字情報を送信するボタン。

4

3

5

サーバに正しく接続して1 のプログラムと比べてみて，適切な箇所を追加・修正する。

12

いる間は送信ボタンを押せる状態にしておく。

3 問題を解決する工夫
文字データの適切な処理で，チャットに起こる「文字なし情報」の送信・受信の問題を解決できます。ここでは，文字データを処理する命令を目的に合うように追加・編集して問題を解決します。
その際は，サーバの処理を変えずに，クライアント側で文字データを送信するときの処理方法を決めておきます。
A

送信者の名前だけで文字情報がない。

文字なし情報が送信されたら文字なしでも送られてくるのは「入力場所」に文字情報の入力なしで，「送お信」ボタンを押して送信したことが原因。
解決策 文字入力なしでは，送信できないようにする。

B

解決策のプログラム例

解決策 送信時の改良「送信」ボタンを押すときに，文字数が０より大きければ，無言ではなぶん きいので送信するという分岐処理を加えてみよう。

4

より使いやすくプログラムを改良

自分が改良したプログラムを実行して，友だちと話し合いながら，使いにくいと感じたところを改良しましょう。その際，アクティビティ図を用いて，改良した後の処理の流れを考えます。次に，プログラムの構造をよく読み解き，どの位置にどんな処理を加えればよいか考えて，プログラムを修正しましょう。
改良案 着信音を鳴らす

受信したときに音が鳴るように，音を出す命令の「音追加」や「音再生」を加える。

着信時のBEEP音13

今日から使えるプログラミング

5

完成したプログラムの例

クライアント側の完成プログラム

送信と受信の画面エラー時にメッセージを送信する。

14

〜

P252
P255
＊令和 3 年度版教科書

光センサと人感センサを使って，便利なライトを作ってみよう！
い！
危なプログラムの使用想定場面● 普段の生活の中で，危険から身を守る。

→人が来ると，自動的に足元や入口を明るくする。

● 災害での避難時に役立つ。

→停電したら，自動的に避難通路を明るくする。

構想を具体化するには・・・設計をまとめる❶❶

アクティビティ図をかく。

❷

処理内容を文章で表したり，プログラミング製作品を使用するときの目的や条件を検討する。

❷❶にあった機能やデザイン，材料・部品，外装を検討する。

❸

計測から制御を行うまでの処理方法を検討したりする。
アクティビティ図の例● 処理内容を言葉で表す方法する。
❹

プログラムの準備や転送方法などを検討する。

目的の例
夜，トイレまでの廊下が暗くて危なくなると，足元を照らしてくれるといいなあ。

光センサが周囲の明るさを計測

手順 2
ぶん き

明るいとき

明るいとき手順1，暗暗いとき

条件の例
どんなときに，どんな条件でセンサが感知して，ライトがつけばいいかな？

人感センサ 点灯・消灯

暗い

人がいる

点灯

暗い

人がいない

消灯

明るい

人がいる

消灯

明るい

人がいない

消灯

いとき手順3へ。
手順 3

人感センサが人を感知。
手順 4

人がいない

● センサの組み合わせと点灯・消灯
光センサ

光センサによる計測。

【分岐処理】

人感センサが人を感知人が来ると，自動で照らし，数分たつと，自動で消えると安全で電気がむだにならないね。

手順 1

人がいる

発光ダイオードを点灯【分岐処理】
人がいないとき手順1，人がいるとき手順5へ
手順 5

10秒間点灯後消灯発光ダイオードを点灯。
手順 6

10秒間点灯後消灯。
手順 1 へ15

今日から使えるプログラミング

1

準備

制御用コンピュータ

1

組み立て

2

（なでしこボード）
スピーカー

コネクタ
（入力 2）

接続

制御用コンピュータをコンピ
光センサ

USBコネクタ

入力２に光センサを差し込む

ュータに接続する。

LED
人感センサ

コネクタ
（入力 1）

2
3

入力1に人感センサを差し込む。

プログラミング・プログラムの転送

プログラミング
光センサの値が500以上になると，センサ1（人感センサ）に進む。
×進まない
センサ１へ

人感センサの値が800以上になると，点灯条件を満たす。
×点灯しない点灯

ここまでプログラムが実行されたら，指定の行（７行目）の命令まで移動する。

4

プログラムを制御用コンピュータに転送プログラムを制御用コンピュータに転送して，実行する。

プログラムが完成したら，実行をクリックする。

16

3
5

プログラムの実行，デバッグ，保存・終了，改善プログラムの実行とデバッグ転送が完了すると，自動的にプログラムが実行される。

プログラムの改良
6

光センサの調整A

点灯時間を延ばす工夫

暗くしても点灯

人が遠ざかってもすぐには消灯せず，何秒かしてかしない場合は，ら消灯するように改善するプログラムを考える。

光センサのしきい値を修正し，再度転送して動作を確認する。
ちょうどよい明るさで点灯するようにしきい値を調整する。

7

人感センサの反応の確認
待 機 の 時 間 を30さし出した手を秒に設定する。

感知して，LEDが点灯するか確かめる。

光センサに光が当たらないよ
うにして，人感センサに手をB

ゆ う ど う誘導音を鳴らす
そうにゅう

音を出す命令を挿入して，誘導できるように改善する。

近づけ，LEDが点灯するか調べる。また，点灯した後，プログラム通りの時間で消灯するか調べる。

8

調整・転送，プログラムの保存と終了
目的通り動作するか確認したら，制作したプログラムを決められたフォルダに，ファイル名をつけて保存し，終了する。

スピーカからブザー音を鳴らす。
n を発音と命令すると， n の 値（1～ 21の間の整数）によって異なる音が出る。

17

オリジナル題 材 集

資料提供
ページ

同じ計算を何度もする必要があるときや，多くの情報を並べ替
え た い と き 等 に， あらかじめプログラムを 作 っ て「 オ リ ジ ナル計算機」をつくっておくと便利です。

題材例 種まきからの日数計算機
プログラムの例

プログラムの実行結果「日数差」という命令で，2つの日付の差を計算させます。

題材例

駅伝タイム計算機

５人分のタイムを合計したときの累計や平均を，すぐに計算できるようにつくる。

プログラムの例A

配列という方法で記録を変数に代入しておく。
後で計算するため，時間の1文字目に+の記プログラムの実行結果号を入れておく。

「時間加算」という命令で，変数「累計」に記録を加算していく。

「秒差」という命令で，累計を秒数に変換して，走った人数で割る。
「整数変換」という命令で，割り算の結果を整数にする。
演算記号を覚えよう。

18

Ａ＊Ｂ

掛け算

Ａ／Ｂ

割り算

Ａ％Ｂ

Ａ÷Ｂの余りプログラムの改良例B
応用

配列を使うと，配列の番号を利用して，反復の命令を使うことができる。
「配列要素数」という命令で，記録という変数の中にあるデータの数を調べる。配列の番号は[0],[1],[2],…と増えていくので，配列要素数は6つになる。[0]番は人数に数えないので１を引く。

プログラム例Aと比べて，どこを修正したかな？

「ｎ回」から「ここまで」の間を繰り返す。
このとき「回数」という変数で，くり返しが何回目かを調べられるので，それを利用して記録という配列に代入されている記録を１つずつ加算している。

題材例 なんでも順位計算機
全員の50m走のタイムを，速い順に並べ替える。
プログラムの例A
プログラムの実行結果
配列という方法で，全員の記録を代入しておく。

「配列ソート」という命令で，記録を速いほうから順に並べ替える。

応用

同じ方法で，得点を並べ替えたり，名前をあいうえお順に並べ替えたりできるプログラムの例B
プログラムの実行結果

数値を並べ替えるときは「配列数値ソート」という命令を使う。

19

「なでしこ」でできる オリジナル題材集

インターネットにはたくさんのコンピュータがつながっています。その中には，私たちに有益な情報を提供してくれるコンピュータもあります。その有益な情報を手に入れてみましょう。
情報を手に入れるためにはいくつかの方法がありますが，ここでは基本的な２つの方法を理解しましょう。

題材例 WebAPIを使おう「カスタム天気予報」

１WebAPI を実行する

最初にWebAPIから天気予報のデータを受信する処理（ 1 ）を作ります。次に，そのデータから必要な情報を選んで，画面に表示させる処理（ 2 ）を作ります。

WebAPIのアドレス(URL)を指定して情報を受信する命令（AJAX_JSON取得）を使う。

12

利用データ[…][…]という書き方で，必要な情報を選ぶ。
この変数には文字データが入っている。

1 地域コードには調べたい地域の番号を入力して，その地域の天気予報データを受信する。

2 「時期 =1」は，データを受信する日を設定する。0 は今日，1 は明日，2 は明後日。

20

プログラムの実行画面

2 使いやすさを考えたプログラムの改良例
このプログラムを利用するユーザを想定して，プログラムを改良し，そのユーザにとって使いやすいプログラムをつくってみよう。想定するユーザがどんな悩み（問題）を抱えているか，それを解決するにはどんなプログラムにすればよいかを考えてみよう。
A

より多くの情報を表示した例

このプログラムを実行して，実行画面とプログラムとを比べてみよう。

B 「農業をやっているから，作物の管理に必要な情報だけ表示してほしい」→ 作物の生育に必要な情報を選んで表示させる。
プログラムの改良例
プログラムの改良例

反復の命令を使って，変数「時期」を0→1→2の順に変化させて，処理を繰り返す。

プログラムの実行画面＆という記号を使って，変数「降水」に入っている文字データに，次の情報を付け加えている。

21

New 技術・家庭 技術分野（技術 702）

教科書プログラミングページ
GIGA 端末対応資料のお知らせ＊こちらの資料は令和 3 年度版教科書に対応しております。
D 編 「 情 報 の 技 術 」 に掲 載 の６つ の 題 材 例につ い て ，様 々な G I G A 端 末 でも対 応 できるように，プログラムのデータをリニューアルしました。
下記 QR コードよりご 利 用ください●１章 p.214〜 217● 2章 p.232〜 243●３章 p.252〜 261

授業用プリントは，GIGA 端末に対応したプログラムについて，教 科 書 紙 面と同 様に表したものです。
指 導 の ご 参 考 とし て お 役 立 てください。

〒 101- 0052 東 京 都 千 代田区 神田小 川 町 3- 3 -2
TE L 03- 3233- 9100（ 代 ）／ FA X 03- 3233 -9 1 0 4
U R L h t t p s : / / w ww . k y o i k u - t o s h o . c o . j p /本資料は，一般社団法人教科書協会「教科書発行者行動規範」に則って作成されています。