TOMONOプログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。今回は「リスト」について解説します。リストは変数同様、使いこなせるようになるととっても便利です。リストって何?Scratchのリストの使い方をまずは解説します。リストとは?リストとは、変数の箱がたくさん並んでいるものです。箱の数は自由に増やしたりすることができます。箱の中には数値や文字列などのデータを入れることができます。「得点」という名前のリストの中に数値データが入っています。Scratchでは、スクリプトタブの「データ」から「リストを作る」ボタンからリストを作ることができます。上の画面で「OK」ボタンを押すと、「テストリスト」という名前のリストが追加されました。最初はリストの中身は空っぽです。リストの中に「箱」を追加するためにはリストの左下にある+ボタンを押します。すると箱が追加されていきます。「箱」は他のプログラミング言語では「要素」と言います。Scratchではこの「要素」に相当する用語がないみたいですので、この記事では「箱」と呼びたいと思います。箱の数のことをリストの「長さ」と言います。リスト(List)と配列(Array)は別のものつい最近まで、リスト=配列のことだと思っていました。厳密には異なるということを知りました。どちらも変数の箱が並んでいるという意味では同じなのですが、以下のような違いがあるそうです。<配列の特徴>・あらかじめ、配列の箱の数は決まっている。・箱の中へのデータのアクセスが早い・途中の箱と箱の間ににデータを入れる時は、中身を一旦ずらさないといけないので大変<リストの特徴>・リストの箱の数は増やしたりできる・箱の中へのデータのアクセスは遅い・箱と箱の間にデータを入れることが簡単にできる。Scratchで取り扱うのは「リスト」の方だ、と覚えておいてください。リストができたので、次の項目からリストの中にデータを入れる方法について見て見たいと思います。リストに値を入れるリストに値を入れる方法はいくつかありますので、その方法をご紹介します。(1)既にある「箱」に新しくデータを入れる直接リストを操作する方法です。リストの「箱」にカーソルを合わせて、直接、文字を打ち込んでいけばリストの中に値が入ります。プログラムのブロックを使ってリストの「箱」に値を入れることもできます。その場合はこちらを使います。「置き換える」という言葉に違和感を覚えるかもしれませんが「からっぽ」の状態を文字列に置き換えている、という意味になります。上のプログラムブロックをクリックして実行すると、空だったリストの3番目には下記のようにデータが入ります。(2)データと箱を一緒に追加する上の図のリストの最後に箱とデータを一緒に追加することもできます。このブロックを使います。こちらを実行したあとのリストはこのようになります。リストの途中にデータを追加したいときは、こちらのブロックを使いましょう。こちらを実行すると、リストの長さが増えましたね。リストの途中に箱とデータが同時に入ります。リストのデータを書き換えるリストの中身を書き換えるには、以下のブロックを使います。このブロックを実行すると次のようになります。リストのデータを消す以下のブロックを実行すると、リストから箱ごとデータを消すことができます。こちらのブロックを実行すると、次のようになります。先ほどの「かきくけこ」という箱とデータが消えて、長さが4に減りました。ブロックを使わずに直接リストを操作して消すこともできます。箱にカーソルを合わせると、箱の右側に×マークが表示されるので、これをクリックします。×マークをクリックすると、箱とデータが消えました。リストの中身を使うリストの箱の中のデータを使うには、以下のブロックを使います。このブロックを他のブロックに入れてみましょう。このようにしてみます。このプログラムを実行すると、ネコがリストの中身を言いました。リストを使ったプログラムリストの使い方は簡単でしたね。リストはどんな時に使ったらいいのでしょうか?変数ではダメなのでしょうか?リストを使った時と変数を使った時のプログラムを比較してみたいと思います。データを呼び出すのが便利まず、食べたいものをメニューの中から選んでもらい、答えをスプライトが返すという会話プログラムを作ってみます。メニューはリストで作成しました。食べたいものを、メニューの番号で答えてもらえば、次のようなブロックを使うことでリスト「メニュー」の中のデータを簡単に呼び出すことができます。これを変数で作ってみたらどうなるでしょうか?変数で作ってみるとこうなります。「もし〜なら」ブロックをたくさん使うことになり、ちょっとプログラムが長くなりましたね。このような場合にはリストを使った方が楽だということがお分かりいただけたでしょうか?キャラクターを動かすことが中心のScratchの世界では、このような形でリストを使うプログラムを作ることはあまりないと思います。大人の世界(業務用のソフトウェア・アプリケーション)ではこのような形でデータを取り出したりしています。変数より配列を使うことの方が多いのです。いった情報をまとめておくと情報を簡単に取り出すことができます。データベースに情報を登録するときも、リストごと一括で登録できるので取り扱いが楽になるのです。次に、ループを使って全てのメニューを読み上げてくれるプログラムを作ってみます。リストを使った例です。「番号」という別の変数を使います。番号が1づつ変えていき、番号番目の変数を使うとこのようになります。あれ?これだとなんだか変数を使った方が楽そうに見えますね。メニューが多かったらどうでしょうか?メニューの数を15個まで増やしてみましょう。メニューが15個の時、リストを使ったメニューの読み上げプログラムはこうなります。じつは、リストの中身が増えてもプログラムは変えなくていいんです!これがリストを使うメリットです。変数を使うとどうなるかというと・・・プログラムが長くなりました。変数を作るのも、変数の中にデータを入れるのも結構大変でした・・・・。Scratchのリストを使った面白プログラムScratchならではのリストを使った面白いプログラムがありますので、いくつかご紹介したいと思います。スクールの作品リストをつかったラーメン屋さんです。https://scratch.mit.edu/projects/168635541/(2)億万長者をめざせ!リストを使ったミニゲームがたくさんあります。https://scratch.mit.edu/projects/169011055/リストの使用例:宝くじ、買取など特に宝くじでは、当選番号が上から順にリストに入っていく様子が秀逸です。(3)リストでジャンプリスト内を■がジャンプするという、不思議なプログラム。リストは通常、文字や数値などのデータを取り扱いますが、画像っぽくリストを使うという逆転の発想がユニークです。まとめ今回は、リストの使い方と使用例について解説しました。「似たようなデータ」をまとめて処理したい時に使います。変数を使った方がいいのか?リストを使った方がいいのか?を迷った時は、どちらの方がプログラムが簡単になるか、両方試してみると良いと思います。試すということが、プログラミング学習ではとても大事です。正解を覚えるのではなく、プログラミングを体験していく中で身につけていけると良いのではないでしょうか。TOMONO教育ヲタクの1児の母。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。TOMONO一緒に読まれている記事。Minecraftでプログラミング教育したい人のためのレッドストーン回路クイズ(17)コンパレーターその22019年8月9日970こんにちは。今日もMinecraftのコ...夏に応募したい!2019年子どもプログラミングコンテスト3選2019年7月29日1.14K夏休みが始まりましたね。子どもの頃は楽し...5歳児もハマるプログラミングアプリ-Springin’はじめて講座(4)絵の削除・インポート2019年7月26日865今日もSpringin’の続きです。新小学1年生の入学準備!知って安心、保幼少接続カリキュラム2020年1月14日2020年は教育はどうなるのか?ーやる気が出ない日に未来を心配してみる2019年12月27日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(2)キャラクターの操作2019年12月13日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(1)ステージの作成2019年12月6日あなたへのおすすめ。暗算が早い子の頭の中、暗算が遅い子の頭の中ー算数ができる子が持っている「量的感覚」のこと2018年11月16日プログラミング初心者のためのScratch(スクラッチ)入門-基礎の基礎編(1)2018年7月31日2020年教育改革-AI時代の教育指標「ブルームタキソノミー」の話2018年12月5日ゲームで頭のいい子を育てるー幼児xマインクラフトの3つの教育的効果2018年11月14日このサイトについて。今、注目されている考えさせる教育、アクティブラーニング。AI時代に教えるべき教育とは何か。2020年に教育必修化するプログラミング教育を交えながら、これからの教育シーンに必要な情報をお届けします。CATMADE,Inc.サイトマップ。