12月25日の授業
繰り返し処理を使った練習問題から始まりました。
for文や while・do while を使って、足した数字の平均値を出すというプログラムを作れ…!と。
なるほど。
流れとしては、
- Scannerを使って数字を入力できるようにする
- for文を使って10回ループする形を作る
- ループ内で入力した数字を加算する
- 合計した数字を「/10」して平均値を出す
早速自分なりに作り始めたのですが、なぜか毎回入力が1回で終わってしまう。
「なんでだ?」と首をひねりつつ、
「Scannerがループに入ってないからか?」と思い、Scannerをループに入れてみる。
……が、同じ症状。
「forじゃなくて while でやってみるか。」
しかし、結果は同じ。
心の中で「なんでやねん!」と突っ込みながら、 休み時間も使って試行錯誤しましたが、残念ながらタイムアップ…。
後々になって気づいたのですが、 ワタクシ、( )を閉じた後に「;」を付けてしまう癖があったようで…。
for や while を使ったプログラムは、
条件式の後は { } でブロックを作らないと正しく動かないそうです。
エラーも出ない。
手癖で疑いもせず入力していた。
そりゃ気づかないわけです(笑)
こういう失敗を積み重ねて、成長していくんだな~と感じた授業でした。
その後に進めた内容は、
- ループを使ったネスト(「鳥の巣」という意味らしい)
- ブロックが2つ重なるプログラム
- 1次元配列
- 多次元配列
まだ「なんとなく」レベルの理解ですが、
実際に自分でプログラムを使いながら、 少しずつ深掘りしていければと思います!

コメント