統括です。先週宣言した通り、昨日割り算編を作成する記事です。
想像より割り算の計算プログラミングが難しくて、3時間かかりました。
まだ。ステージのマスター化や制御はできていません。(次回の記事のネタにします)
一番簡単なのは足し算と掛け算
足し算と掛け算は、1−10のランダムの数を取得するだけでOKです。
引き算について 「答えがマイナスにできません」
小学生の引き算では、答えの結果がマイナスにはなりません。(6-7=−1は習っていません)
現状小学生・中学生も同じ問題なので、答えの結果がマイナスにできません。
答えがマイナスにならないようにプログラムする必要があります。
最終的(来年ぐらい)には、中学生以上は −5ー(−6)= ? な100ます計算も用意できるととてもいいのではと思います。
縦軸の行は1−10ランダムで配置して、
列は「10-19」をランダム配置すれば、列ー行なので、マイナスになることはありません。
本題 割り算の注意点は「割り切れるようにすること」
余りがあるとかなりややこしいです。
本家「100ます計算」では、基本余り無しになっています。
足し算・割り算・引き算の100ますレイアウトよりも、答えが割り切れる必要があるため、
列を毎回違う値にしないといけません。
その結果かなり縦に長い画面になります。また、難易度も上がります。
余りを出さないようにどうするか?
先に行を0−9をランダム配置して、答えも0ー9までランダム配置すれば、
列は 行×答え=列となります。
上の画像のように、答えを0−9でランダム配置する必要があります。
そして、足し算と割り算と違い、1行ずつ0−9の配置が必要です。
そのため、LOOPの処理が3段階になっています。
だいたい作成できたが、問題点もあり 0の行の答えが・・・
0行の場合は、答えは0−9の配置となるため、行は全て0になっています。
正しくは、0行の場合は答えが0で上が一応0−9です。
行と答えをひっくり返す必要があり、そのプログラムを書かないといけません。
上の画像の72〜75行目が「行の数値が0の場合は列の数値を答えにする」プログラムになります。
割り算編完成です。
次回は、ステージのマスター化や制御についてです。
ステージのマスター化は
例)A君は20ますの足し算を制限時間に合格したら、100ますの足し算に行き、2回連続降格時間を下回ったら、20ますの足し算に戻るという ルールを決める内容です。
ステージのマスターを作り、正しいステージに移動するのも3時間ぐらい作成に時間がかかりそうです。
ステージ制限は、
2回連続降格時間を下回ったらという、それをどうプログラムで計算するかと考えです。
同時並行でプログラミングの勉強をしています。
こちらの方のYouTubeを寝転がっている時、朝ごはん、トイレなど時間があるときに見ています。
京進スクール・ワンでは、一部の教室でプログラミング教室も開講しております。
ぜひ、興味のある方はご覧ください。
https://www.kyoshin.co.jp/s1/event/detail/291211/
2020/02/10 時点でどの教室が導入予定かは載っていません(笑)
富田・川越富洲原・四日市ときわ教室は、まだ導入予定がありません。
してもいいかなぁと教室長、したくない教室長様々です。