第 1 頁 / 全 4 頁中  最後のページ>| next>>

Scratchで、すてきな名前をつけてあげよう 

文字乱数発生器

 登場するキャラクタやら、呪文、必殺技、新薬なんぞの名前をどう付けようかって悩むときはありませんか。そんな人のために、文字の乱数を発生させるプログラムを作りました。

 名前の長さを設定して、ロボットを押すと答えてくれます。

文字乱数発生器 

 文字の種類数(93個になっちゃいました)の範囲で乱数(生成乱数)を、求められる数(名前の長さ)だけ発生させ、その乱数を文字に読み替え(生成文字列)て表示させるって仕組みです。拗音を少々減らしています。

 

 機械的な乱数の発生なので、その結果、先頭の文字が長音(ー)やら促音(っ)などだとマズいので、やりなおしをさせています。「ん」から始まるのは世界的にはありますが、日本語ではありえないのでついでに除いてあります。拗音は二文字で1文字と数えてます。

 発音しやすそうな名前ってなかなか無いですが、読み上げてくれるようにしてあります。作ってくれた名前をヒントとして、良い名前を考え出せると良いですね。

 

 カタカナばかりにしていますが、半角のアルファベットの大文字・小文字と記号に取り換えると、パスワード生成器に改造できます。最近のサイトで、パスワードは「大文字、小文字、記号のすべてを含んで12文字以上、24文字以内」なんてことを求められました。「え、どないしよ〜」って思っちゃいましたんで、それもいいかと。

 

 私のスタジオ「小学校の授業で」に置いています。作品数が多くなったので「小学校の授業で、プログラミング」ってスタジオを増設しました。


にほんブログ村 教育ブログ 理科教育へ
 

Scratchで 割り算のアルゴリズムを考えてみよう

余りのある割り算専用電卓

 3年生用にって思って「余りのある割り算しか出来ない電卓」を作りました。こんな物売り物にはならん、と一蹴されますが、プログラミング体験にもってこいなんです。

 電卓の基本的な反応として、数字キーを押したら、とりあえず変数にその数字を追加するってコードが要ります。そしてそれを数字キー全部に書かなきゃいけませんが、同じような仕事を9回も繰り返すのは面倒なことです。

 その部分はやっておいて教材として提供することにして、「イコール」キーを押したらどうするか? って部分だけコーディングすると考えさせりゃぁ、プログラミング体験になりそう。

 

 Scratchは、「〇を〇で割ったあまり」ってのやら、「〇の切り下げ」なんてのが、すでに用意されているので、簡単なことです。

 しかし、九九を知らないコンピュータは割り算をどうやっているか、って考えると面白そうです。

割り算電卓のプログラム

 “割られる数(前項)から割る数(後項)を引いて”は、“「回数」に1加える”って繰り返しを、“後項より前項が小さくなるまで”する、ってアルゴリズムを思いつくことでしょう。

 コレって大昔のメカニカルな手回し計算機の割り算の方法だよねぇ。グリグリ回してチンって鳴ったら、マイナスになったってことなので1回転戻すって操作だったよね。

割り算電卓のプログラム

 考えやすいように(表示部分の数値が動いてしまうからなんだが)「割られる数」「割る数」「回数」って変数にして作ってみました。そのための書き込みや書き戻しの5行を除くと、何度も引き算をしてその回数を数えるって、たった2行の繰り返しですワ。これは算数専門の先生が “割り算は引き算とは違うぞ” って言いそうなアルゴリズム。

 

 割られる数だけしか入れていない時にイコールをおしたらどうなるか?なんてことも考えておかなくちゃいけません。

 割り算ですから、下手をすりゃぁ「ゼロ」で割る事態が想定されます。それをいさめる表示が要るなぁってのが、プログラミングの勘所。“「ステージ」とは割る数の入力モード” で、それに加えて “割る数が0ではない” 場合に余りのある割り算を開始することにしています。

 プログラムを作るってことは、使う人は何するかワカランって思ってするもんなのです。予測外の操作をされた時の対処をきちんとやらなくっちゃぁ「バグってる」って言われるんです。

割り算電卓のプログラム

 こんなコーディングでしょうかねぇ。

 計算結果が出た後、数字キーを打つとさらに数字が入るので、ステージを「0」にして入力を受け付けないようにしています。

 また、あまりを「0」と表示するのも方法ですが、式としてはおかしいって声もありそうなので、「なし」と表示するようにしています。

 

 作ってみて、加減乗算をしない!ってことにしたら、すっきりとした電卓になりました。しかも、3年生向けですから、小数点も取っちゃいました。ノートに書く式の形で表示しているのも、3年生向け。

 もっと上の学年が、プログラミングの学習に使うのなら、コーディング上の問題点を発見しやすくて、トレーサビリティが良い。

 

 プログラミングで児童に与える時は、「計算する」ってメッセージを、背景のコードで受けています。背景のコードの「計算するを受け取った時」のキャップスタックを外して動作しないようにしてから、校内サーバーなどに保存して使うと良いです。

 

私のスタジオ「小学校の授業で」に置いています。作品数が多くなったので「小学校の授業で、プログラミング」ってスタジオを増設しました。


にほんブログ村 教育ブログ 理科教育へ
 

オリンピックをきっかけに三色旗を Scratchで

三色旗の色は(縦)

 世界選手権やらオリンピックやら、TVを見ていると所属の国を旗の色で示していることが多いです。特徴のある国旗ならともかく、三色旗は、何だっけ、ってなりそう。で、国名を出題されて、その色の順を答えるプログラムを作りました。

三色旗の色は(縦)

 左から順にパレットから色を選んでクリック。その場所を色で染めてくれます。で、すぐに、正解、不正解を判定してくれます。不正解の場合は、上の旗の一覧がヒントとして表示されます。

 

 旗を見て、どの国かを選択するのならともかく、色を塗れってのは、難しい。

 

 プログラムとしては、パレットの色が飛んで行って、色を染めるって動きをつけてみました。

 色を扱っているのに、コンピュータがそれをどのようにして正解を判定しているのか、それはプログラムなのか?、って興味がわくようなら、プログラマに向いていると思います。

 

 「私のスタジオ」に置いています。
 


にほんブログ村 教育ブログ 理科教育へ
 

LINE からScratchよりわかりやすい日本語で

ラインエントリー

 Scratchは、スプライトとかコスチュームとかちょっとクセのある言葉を使っている。イメージをそれに合わせるのにちょいと慣れが必要。

 LINEからエントリーって、似たようなものが出た。これの良い所は、学校で使うことを意識して、WEB上にプログラミング教材が用意されているところ。

ラインエントリー 

 ローカルにも保存できる。校内のサーバーに入れると共有も出来そう。

 Scratchの、作りかけのプログラムによく当たってしまうのが、ましになるかも。

 

 LINE Entry はこちら

 


にほんブログ村 教育ブログ 理科教育へ
 

Scratch 3年生はアルファベットを覚えなくては

アルファベットを順に

 Remixですが、ローマ字を学習する3年生向けのを二つ。

 ABC順にクリックしていくというワークです。起動するとランダムに並べ替えてくれます。だから、隣の子とは違う問題。

 間違えて違う字を押しても、音で読み上げてくれるのでわかります。

アルファベットを順に

 小文字バージョンもあります。パソコンを使うなら大文字が読めなくては、キートップの字が探せません。ほとんどのローマ字は小文字ですから、読むには小文字が大事です。

 正解を押すと文字の色が変わります。ってことは、後の方になるほど選択肢が減ってラク、ってことです。

 どちらも、かかった時間が表示されます。

 

 PC室に来て、2回ほどコレをやるとアルファベットを覚えちゃいそう。次は良いタイムにしようって宿題をがんばりそう。

 

 「私のスタジオ」に置いています。
 


にほんブログ村 教育ブログ 理科教育へ
 

Scratchで、席替えする?

席替えの乱数

 毎月の席替えを、くじ引きでやるってクラスがあるみたい。で、見つけたのが、Remixですがこの在籍人数分の乱数を表示してくれるプログラム。

 ボタンを押すだけで指名順がきまるってしくみ。それなら席替えにもつかえるやんか、ってワケ。

席替えの乱数

 気に入ったのは、あらかじめ出席番号を乱数順にならべて格納しておくってプログラム。これなら表示が速いなぁ、って。


 「私のスタジオ」に置いています。


にほんブログ村 教育ブログ 理科教育へ
 

Scratchで、模様を作ろう

模様を作ろう

 いやされるわァ、ってプログラムを、Remixですけど。ゆっくりと描いてくれるので眺めているだけでいやされるゥ、って感じのものがあってもええやん。

模様を作ろう

 コードは、説明しやすいように整理しました。

 最初にスタート位置へ移動するのを「じゅんび」にまとめちゃいました。だって読み解く最初に、こんなリセットプログラムがあると見て考えるのがしんどい!

 「ずっと」のくりかえしでエンドレスに描き続けます。

 「端にふれたら」色を変えて、スタート点に戻る、って条件分岐です。

 繰り返し構文を使わないと大変だよね、ってのが分かるんじゃないかな。

 

 「私のスタジオ」に置いています。
 


にほんブログ村 教育ブログ 理科教育へ
 

10秒ちょうどで のプログラム

10秒ちょうどで

 しょ〜もない遊びですが、10秒ちょうどだと思ったらキーを押して、誤差を表示させるプログラムを作りました。

10秒ちょうどでのコード

 そのメインのコーディングが、コレ。

 コスチュームというScratchCatの姿を、ちょこちょこ変えて動きを出したために、ややこしそうに見えます。その紫のスタックを無視して見ると単純化できます。

 「誤差」って変数を作ってます。この計算式をそのまま早い・遅いの表示に使っても良いのですが、とっつきにくくなりそうなので、一旦、変数に登録してます。絶対値にしているので、早くても遅くても同じ計算式ですから。

 その計算式がややこしいのは、四捨五入で小数点以下3桁にしようとして、掛けたり割ったりしているせいです。

 これの他には、ボタンを配置して、より直感的に操作できるようにしてます。ボタン関係の所にはそれを表示したり隠したりの、短いコードを書きこんでいます。

 

 Scratchの「私のスタジオ」に置いています。興味があれば覗いてみてください。

 

【追記】2020/3/18

 担任にお披露目をしてみたところ、スマホでやってみているので、キーボードからストップが出来ない。んならばって、ボタンを押して操作するように改良。

10秒ちょうどで

 同じ位置にボタンを配置しているので、説明なしでもボタンを押しそう。

10秒ちょうどで

 コードの方は、キーでも止められるように機能を残したために、流れを2分割にして、ボタンを押したかどうかのフラグを新しく作った。


にほんブログ村 教育ブログ 理科教育へ
 

「あんしょうばんごう」のプログラム

 Scratchの私のスタジオに置いている「あんしょうばんごう」のプログラムを説明します。

メイン

 入力が完了したところからのプログラムです。条件分岐して合っていれば「オープン」間違っていれば「エラー」が起動する、ってことです。

 これだけじゃぁ動かないので、ほかにたくさんのコードを書いてます。

6を押すと

 「6」のボタンに書いているプログラムです。「6が押されたよ」って意味のコールを送るだけです。他の数字キーにもおんなじことが書き込んであります。

6を送るを受け取ると

 そのコールを受け取ったら「入力数字」という名前の変数に記憶させます。「入力数字+6」というのは計算式ではなく、文字列のたしざんの式です。「いままで記憶している入力数字の後に6を付け加えろ」って意味です。他の数字についてもおんなじコードが書き込んであります。これのコードは背景に置いています。

 そして、入力が終わった、とコールを送ります。

入力したを受け取ると1入力したを受け取ると2

 「入力した」を受け取ると、それが何桁目なのかを調べてその番目の桁に「*」を表示して、入力時の音を鳴らします。もし、4桁以上ならば今までの入力数字をリセットしてしまいます。

Enterを押すと

 暗証番号を入れ終わって、Enterキーを押すと「入力完了」のコールを送ります。すると、先頭の画像のプログラムが動作します。

オープンを受け取った時エラーを受け取った時

 合っていれば「オープン」を受け取り、間違っていれば「エラー」を受け取ります。

 オープンは、ドアが徐々に開くように画像を数枚使って変化させています。同時に、オープンという文字を表示し、音を鳴らしています。

 エラーを受け取ったら、間違いの音を鳴らして文字を表示し、入力数字をクリアしているのです。

 

 主なプログラムはこの程度で。ほかに、「C」ボタンを押したらとか、クリアを受け取ったらとか、キーボードを使って打ち込んだらってプログラムは省略しています。

 Scratchでプログラムすると、スプライトごとにコーディングするせいもあって、短いものが多くなるって感じがします。

 

 暗証番号を4桁受け取るだけのものでも、こんだけのプログラムが要るんですなぁ。

 

 


にほんブログ村 教育ブログ 理科教育へ
 

アンプラグドプログラミングで

私のスタジオ

 私のスタジオに置いている作品たちです。なぜ、私がこんなに作っているのか?。プログラミングなんて経験のある先生の方が少ない。そんな実態で子どもが使用に耐えるようなものを作れ、ったってどだい無理ってもの。

 第一、プログラミングのコーディングを教えろってことにはなっていない。授業でやるのは、プログラミング的思考だ。これなら、コンピュータに向かわなくても、プログラミング的な考え方を身に着けることが出来る。

 最新の「あんしょうばんごう」だって、「あ、そうか。暗証番号ってコンピュータに登録されてるものなんだ」って先生が言うんだから。

 「マイ楽器」だって、テレビのリモコンと一緒。キーを押したら何かプログラムされた仕事をする。鍵盤に音を割り当てておくってプログラムを書きゃいいんだ、って説明がいるぐらい。

 

 卒業前の6年生がアンプラグドのプログラムを書いている。「おそうじロボットにならへんか?」って始めたらしい。

 教室掃除の“机運び係”は、

1、掃き掃除がすすんできたら、1列目の机といすを印のある所まで運んで、椅子を中に入れる。

2、2列目、3列目と、1列目と同じ作業を最後の列まで繰り返す。

なんて書いている。ちゃんと繰り返し構文も使っているではないか。“掃き掃除がすすんできたら”の条件分岐をもうちょっと丁寧に書けたら、立派にプログラミングって言えるではないか。

 

 “拭き掃除”は

1、雑巾を水でぬらして絞る

と書いている。ちょっと待てよ、1年生は絞るってのを泥団子作りみたいな手で押して絞ったりしないか。「絞る」というサブルーチンが要るんではないか。

 

 このように、まだちょっと荒いな、ここがわからんから、1年生なんかがいい加減になりそう、ってプログラムのバグを探せば良いのだ。

 気が付いたのは、「ほうきを掃除用具入れに片づける」だ。ほうきはヒモでぶら下げるのか、先が傷まぬように逆さに立てかけるのが良いのか、それをプログラム上で決めておくサブルーチンが要るんじゃねぇ。

 

 低学年では、まず、これをして、つぎに、これをして…と直線状のプログラムで良い。だんだんと条件分岐や、繰り返し構文やら、サブルーチンの必要性に気づくと良い。

 

 教室の掃除ならともかく、コンピュータ室などの特別教室の掃除って、まず、条件分岐から始まるんではないかな。

 私は思うに、「無責任一代男」のような掃除をしている子を見かけることがある。とりあえず、ほうきを手に持つと “何とか恰好がつくもんさ、ちょっくらちょっとパーにはなりゃしねぇ” って歌を思い浮かべる。

 理科室の掃除って、「とりあえずほうき」ではあかんのだ。今日は授業で水を使ったな、と気づくと、拭き掃除を重点にしようって判断が要る。コンピュータ室では、最近机を拭いていないから、机の上を拭こう。PCを持ち上げる役、拭いて床に落ちた消しゴムの滓をはいて集める役、などに分担を分けよう、なんて高度な判断から始まらなくてはならない。

 これが抜けるから、「とりあえずほうき」、だから持ったほうきは一向に動かない、って掃除の時間になるのだ。

 

 お掃除ロボットになってみよう、ってのはだれでも考えられるし、奥が深いし、面白いプログラミングではないですか?

 あとは、いきなり文字で書くのではなく、メモ書きをフローチャートのように並べて、図示で流れを表すように持って行けると立派にプログラミング的思考になるだろう。

 

 こんなプログラミング的思考がベースにあってこそ、Scratchでスタックを重ねてプログラミングが出来るって思いますねぇ。それがなければ、スタックというブロック積みの遊び時間になってしまう。コンピュータって子どもたちにとって基本的には遊び道具なんだから、遊びの授業になってしまう。

 

 チマタでは、これがチャンスとばかりに学習塾やパソコンスクールが、ロボットのプログラミングを売りにして、Python、Processingなんて言語まで扱っているみたい。

 プログラミング的思考をめざす、学校はそこまでしなくても良い。そんな素養を付け焼刃に先生が身につけるより、指導技術をさらに磨く方が良いんではないかい?普通の小学校の先生が、パソコンスクールや学習塾と競ってお株を奪おうったって勝負にはならない。

 ロボットやゲームのプログラミングをやるなら、クラブ活動でやりましょう。そこでスキルを身に着けた子が学級の核になってくれることでしょう。

 

 


にほんブログ村 教育ブログ 理科教育へ
 

更新情報

累計記事数: 1678
最終更新日: 2020/04/02

最新記事 5件

ブログ内検索

単元別記事一覧

 ○理科単元名は啓林館版に拠る
 6年生 理科
 5年生 理科
 4年生 理科
 3年生 理科
 理科以外の教科

ここからダウンロードできます

 Scratch でプログラミング

特集記事

カテゴリー別記事一覧

Today and Now

S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  
<< April 2020 >>

最新のコメント

  • 沸騰を観察する <水のすがた>
    BUN3
  • 3年生がマッチをする
    BUN3
  • 3年生がマッチをする
    tamakichi
  • 沸騰を観察する <水のすがた>
    たまきち
  • 液晶インキ、サーモテープで調べてみる <もののあたたまり方>
    まると
  • 液晶インキ、サーモテープで調べてみる <もののあたたまり方>
    BUN3
  • 液晶インキ、サーモテープで調べてみる <もののあたたまり方>
    BUN3
  • 液晶インキ、サーモテープで調べてみる <もののあたたまり方>
    まると
  • Excelでプログラミング <発電と電気の利用>
    BUN3
  • Excelでプログラミング <発電と電気の利用>
    宮崎

過去の記事

mobile

qrcode

powered

blogRANKING

他の理科ブログを覗いてみますか?

にほんブログ村 教育ブログ 理科教育へ
にほんブログ村