小学生・中学生向けのICT教室/
イフキッズプログラミング日暮里

03-6806-6861
(平日10:00~18:30)

小学生・中学生向けのICT教室/
イフキッズプログラミング日暮里

03-6806-6861
(平日10:00~18:30)TOPへ戻る
メニュー
最近のブログ一覧




最近の生徒様の声


お知らせ一覧




タグ

【木2】処理の順番

2021/03.22

こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
よしだ先生です!


※クラス分け
【火1】・・・火曜日16:00〜17:30
【火2】・・・火曜日17:40〜19:10
【木1】・・・木曜日16:00〜17:30
【木2】・・・木曜日17:40〜19:10
【土】・・・土曜日10:00〜11:30
【日】・・・日曜日10:00〜11:30

今回は木曜後半のレッスンを報告します!

生徒はMくん(小6)とHくん(中3)とRくん(小4)でした。

それではレポートスタートです。

まずはMくん(小6)です。

今回の問題はサイコロアプリケーションの作成です。
サイコロを振って目の合計や奇数偶数を表示するアプリケーションですが、ラジオボタンやチェックボックスの選択により、サイコロの面数、サイコロの数、表示する内容を変える必要があります。

まずはラジオボタンでどの面数のサイコロが選択されているか判別しましょう!
Mくんはif-else if文を使って選択されているラジオボタン毎にサイコロの出目の範囲を決めてくれました。

同じようにサイコロを二個振るチェックボックスにチェックがついているかをif文で判定し、チェックされている場合にはもう一度上記のような処理でサイコロを振ってくれました。

サイコロが振れたら後は目の合計を表示するだけですね。
こちらもチェックボックスによって値を表示するのか偶数奇数を表示するのかを変えるのでif文で処理を分けてくれました。

偶数かどうかの判定は2で割った余りが0か調べることできちんと判別できていますね。

今回はラジオボタンやチェックボックスで処理を分ける問題でした。
この二つはインターネットを使ってるときにもよく見かける機能なので使い方はしっかり覚えておきましょう!

次にHくん(中3)です。

Hくんは前半のレッスンから続けての参加。
集中力が切れないように頑張っていきましょう!

さて、今回Hくんが詰まってしまったのはグループ化したデータの中から条件に一致するデータを表示する問題ですね。
Hくんは以下の様に社員毎合計して、合計が100以上のデータを表示しようとしてくれましたが、エラーになってしまいます。
WHERE
SUM(Quantity) >= 100
GROUP BY
EmployeesID(社員ID)

正しく書けているように見えますが、一体何がいけないのでしょう?

Hくんは条件の指定に「WHERE」を使ってくれましたが、同じく条件を指定するものに「HAVING」というものもありました。
今回の問題では「HAVING」を使わなくてはいけないんですね。
では「WHERE」と「HAVING」の違いとは何でしょう?

Hくんも「HAVING」のことは覚えていましたが、「WHERE」との違いまでは理解できていませんでした。

「WHERE」と「HAVING」の違いですが、ズバリ処理の順番が違います!
WHERE→GROUP BY→HAVINGの順に実行されます。
それぞれ、「GROUP BY」の前に実行されるか後に実行されるかの違いがあります。
ここで注目してほしいのは今回の条件なのですが、
SUM(Quantity) >= 100
となっていますよね。
SUM(Quantity)はグループ化したQuantityの合計を求める書き方となっています。つまりSUM()はグループ化されていないと使えないんですね。

「WHERE」は「GROUP BY」の前に実行されるのでまだグループ化はされていません。
これではSUM()は使えないのでエラーになっていました。
GROUP BY
EmployeesID(社員ID)
HAVING
SUM(Quantity) >= 100
と書き直したら無事に実行されました。

今回のポイントは処理の順番でした。「GROUP BY」がなければ「WHERE」と「HAVING」は同じ動作をするので、グループ化がある場合にはどちらを使えばいいかよく考えてみましょう!

最後はRくん(小4)です。

Rくんは現在バスケットボールのシュートゲームを作成中。
前回はボールを投げる強さを決めるバーを動かすところまでできました。
今回はバーを止めたら実際にボールを投げてみましょう!

Rくんは問題文の指示通りスペースキーを押したらボールを投げるようにします。スペースキーを押したらバーを止めて、メッセージ1を送ります。

メッセージ1を受け取ったら変数「コスチューム」によってボールの飛んでいく座標を変えています。変数はバーの動きによって数値を変え、バーが最大まで伸びたときに5となります。

これでバーでボールを投げる強さを決めて実際にボールを投げる処理までできました。
あとはゴールにボールが触れたら得点を増やしていく処理ですね。

「もし~」のブロックを使ってボールに触れたかを確認していますね。
他にも点数が10点になるまで繰り返す処理を追加してシュートゲームは完成です!

次回シュートゲームの動作確認をしてから新しいルーレットの課題に入りましょう!


ということで今回の報告は以上になります。
次回もお楽しみに!

無料体験授業実施中!
毎週火曜日 16:00~17:30、17:40~19:10
毎週木曜日 16:00~17:30、17:40~19:10
毎週土曜日 10:00~11:30、11:40~13:10
※日曜日も臨時で実施していることがあります
 お気軽にお問い合わせください

お申し込み・お問い合わせは、こちら



お電話でも受け付けております。
03-6806-6861
(平日10:00~18:00)

イフキッズLINE@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!


友だち追加


ということで今回の報告は以上になります。
次回もお楽しみに!

   お問い合わせボタン|プログラミングスクール・習い事のイフキッズプログラミング(IF Kids Programming) お問い合わせボタン|プログラミングスクール・習い事のイフキッズプログラミング(IF Kids Programming)