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

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

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

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




最近の生徒様の声


お知らせ一覧




タグ

【木1】コード?ファイル?

2022/11.12

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


※クラス分け
【火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


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

生徒はHくん(高2)、Mちゃん(小5)、Yくん(小4)、Tくん(小3)でした。
それでは、レポートスタートです。

まずはHくん。
Hくんは今回、前回に引き続きVisual Studioで『リファクタリング』に取り組んでもらいました。

あ「前回やったところで、直してほしい箇所があるからまずは修正からやろう。」
H「はい。」
あ「ここに修正してほしい内容を書いておいたから。」
H「うわっ。多い…。」
あ「うん。書き方の細かい指摘がほとんどだから、コーディング規約をちゃんと確認しながら修正していって!わからなかったら聞いて。」
H「はーい。」

と今回は、下記のような点を修正していってもらいました。
・変数名を規約に沿って付ける
・読み込むファイルの置く場所を他の人も使える場所にする
・空文字はstring.Emptyを使用する
・//の後に半角スペースを入れる
・コメントが処理と合っていない


Hくんは今回も集中して黙々と取り組んでくれていました。
途中、読み込むファイルを置く場所について質問がありましたが、そちらは説明をして理解をしてくれました。
ただ、その修正の際に問題をちゃんと見ずに修正したようで、実行するとエラーが発生していました。

H「わからないです。」
あ「エラーのメッセージに、何行目かって行数書いてあるよね?その行数をまず見てみて、ブレークポイントを設定して中身も細かく見てみて!」
H「…。(確認)わからないです。」
あ「中身は見たの?」
H「はい。」
あ「正しかった?」
H「うーん…。多分。」
あ「今さ、計算するときにdata[1]+data[2]+data[3]ってなってるよね?dataのインデックス1ってあった?」
H「ない。」
あ「うん。ないよね?ないものを使って計算はできないからエラーが出てるんだよ。インデックス0に入ってるデータは本来、1つのデータじゃなくて分割されてないといけないんじゃないの?」
H「確かに。」

とすぐにコードを修正しようとしていましたが、

あ「修正する前にどっちが正しいのか確認してよ。コードが正しいの?読み込んでるファイルが正しいの?問題に読み込むファイルは指定されてるよね。まず読み込むファイルはあってる?」
H「あっ!txtになってる。」
あ「うん、読み込むファイルはtxtファイルじゃなくてcsvファイルだよ。ちゃんと問題確認してよー。」
H「はい。」

と今回つまずいた部分はその部分のみでした!
修正が完了し、新しい課題のリファクタリングも1つ完了し今回は終了となりました。

次回もしっかり問題を確認して取り組んでいきましょう。

次はMちゃん。
Mちゃんは今回、前回に引き続きスクラッチ問題集の『繰り返しのやり方』の課題に取り組んでもらいました。

あ「今回は、問題20だよ。まず問題開いて!」
M(開く)
あ「前回と一緒で、繰り返しの問題。前回難しくなかったよね?」
M(うなずく)
あ「今回もそんなに難しくないから完成させよう!まず、繰り返しのブロックはいくつかあった。今回はどれを使ったらいい?問題とヒントをちゃんと読めばわかるからまず確認してね。」

と確認をしてもらうと、今回は「◯回繰り返す」ブロックを使うことがしっかりとわかっていました。

あ「じゃあ、何回繰り返せばいいんだろう。」
M(25と入力)
あ「おっ!ちゃんとヒント呼んでくれてるね!そうだね。じゃあ今度、旗を押したときに最初の位置に必ずいるようにしないといけない。最初の場所はどこ?」
M「-100」
あ「うん。位置を決めるときに使うブロックは何だっけ?」
M「うーん…。」

と悩んでいる様子でしたが、先生が他の子を見て戻ってくると「x座標を◯にする」ブロックを使って、-100にしてくれていました!
その後も「x座標を◯ずつ変える」ブロックを使って、繰り返し10ずつ変わるようにしてくれました。

あ「ちゃんと10ずつ移動してるね!ただ、今-100から150まで移動するのに25秒かかってた?」
M(首を横に振る)
あ「かかってないよね。今回は1秒につき10ずつ移動して、25秒かけて移動させようっていう問題だからこれだとダメだなー。」

と伝えると「◯秒待つ」ブロックを追加して、ちゃんと25秒かかっていることも数えながら確認してくれました。
完成したものがこちらになります。

今回は課題を1つ完成させ終了となりました。
次回も新しい課題の完成を目指して進めていきましょう!

次はYくん。
Yくんは前回に引き続き、スクラッチの『信号機』の課題に取り組んでもらいました。

前回、2つ目の信号機を正しく動くようにし、自分で操作しないほうの車の動作を作成しようとしたところで、自分で動かす車の動きが正しくないことがわかり修正をしてもらいました。

あ「前回、自分で動かす車の方を修正したよね?」
Y「うん。」
あ「今回は、信号の色に合わせて自動で動くほうの車の処理を考えよう。」
Y「うん。ちょっと待って。」

となぜか自分で動かす車のブロックの数字等を変更し始めてしまいました。

あ「変更したらまた動かなくなるかもよ。」
Y「いや、大丈夫。」

というのですが、再度動かして確認したところ案の定動きがおかしくなってしまいました。

あ「ほらー。また修正からだよ。」
Y「うーん。」

今回修正した部分が原因ではない部分も一か所見つかったので、そことあわせて修正に取り組んでもらいました。

うまくいっていない箇所は、
・旗を押して右矢印キーを押していないと、車がバックしていく
・旗と右矢印キーを押して車を動かした後、右矢印キーを離して減速していったときに、スピードが0になっても止まらずバッグしていく
の2つです。

Yくんは自分で考えて、2つ目の減速後に止まる部分は1人で直せたようでした。
1つ目もいろいろと試してみてくれていたのですが、1つ目を直すと2つ目が正しくなくなるという状態になってしまっていたので、一緒にどこがいけないのかを1つずつブロックを追いながら確認していきました。

今回は、「もし~なら、でなければ」ブロックの条件等が原因だったので、
・「もし~なら、でなければ」ブロックのみを使う場合
・「もし~なら」ブロックを2つ使う場合
・「もし~なら、でなければ」と「もし~なら」の両方を使う場合
の違いについて説明をして、修正したところで時間がきてしまい終了となりました。

次回こそ、『信号機』の課題完成を目指しましょうね!

最後はTくん。
Tくんは前回に引き続き、スクラッチ問題集の『繰り返しのやり方』の課題に取り組んでもらいました。

現在はじゃんけんゲームを作成中で、前回じゃんけんの勝敗判定時の最後の処理、何勝何敗のメッセージを表示後に「じゃーんけーん」ともう一度じゃんけんを出来るようにする部分を完成させました。

今回は、じゃんけんゲームの最後の機能、プレイヤーが3回勝ったら「君の勝ち」と表示しゲーム終了、もしくはプレイヤーが3回負けたら「君の負け」と表示しゲームを終了させるという部分に取り組んでもらいました。

あ「最後の機能だね。まずは自分でどうしたらできそうか考えてみて!で、わからなかったら聞いて?」
T(うなずく)

Tくんは自分でいろいろと考えてくれている様子でしたが、なかなかわからないようで途中他の子がやっているものをぼーっと見つめていました。

あ「大丈夫?質問する?」
T(うなずく)
あ「何がわからない?」
T「どこでどうやってメッセージを表示するか。」
あ「じゃあまず、3回勝ったときから考えていこう。3回勝ったかどうかは何でわかる?」
T「勝ち(変数)。」
あ「そうだね。勝ちっていう変数をもう用意して勝った回数を数えるようにしてたよね。その変数を使ってあげるんだけど、まず自分が勝つパターンって、自分がグーのとき、チョキのとき、パーのときそれぞれにあるよね。」
T(うなずく)
あ「どの時から考える?」
T「グー。」
あ「じゃあ、自分がグーで勝つところはどこ?」

と確認をすると、下記画像の赤枠部分を指さしていました。
先頭の「◯を受け取ったとき」は、他のブロックで相手の手をランダムに決めたときに送っているメッセージなので、◯の部分の情報は相手の手なのですが、Tくんはどこが自分の手の情報で、どこが相手の手の情報なのかがわかっていませんでした。

正解は上記画像の青枠部分で、答えに入っているのが自分の手ということも合わせておさらいをしました。
今回はおさらいをしているところで時間がきてしまい終了となりました。

前回までの作成していた部分がまだいまいち把握できていないようだったので、次回はいったんコメント機能を使って、どこで何をしているのか自分でわかるようメモを残すことにしました。

何をどこでしているのか、自分で把握できるようにしていきましょうね!


次回のレポートもお楽しみに!

無料体験授業実施中!
毎週火曜日 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)