1)課題
左側の数値2つ(A, B)ごとに割り算(A÷B)を行い、その商を右側へ運んで下さい。
ただし、2つ目の数字に0が来る事は無いものとする。
TIPS: 前の課題で書いたコードを「コピー&はりつける」で持ってくると手間が省けて便利かもしれません。
2)解説
入社24年目で, 割り算をした余りを求めました. この課題では, 余りではなく商, つまりAからBを何回引けるか, を求めます. まず, 問題文にもあるように, 入社24年目で作成したコードをコピーして貼り付けます.
入社24年目からコードをコピーして貼り付けました. ここからプログラムを改造していきます.
- 初期設定する時, 商を表すカーペットに0を配置します. このカーペットに「Q」と名前を付けます.
- 「A-B」の結果がプラスであれば, 「Q」を1増やします. つまりBUMP+コマンドを使います. JUMPコマンドで引き算に戻る時, 「A」のパネルに持ち替えることに注意してください.
- 「A-B」の結果がマイナスであれば, 「Q」の値を右のコンベアに運びます.
コードを修正するとこのようになります. これを実行すると課題をクリアーできます.
サイズ目標まであと1行です. 簡単に修正できますが, このままにしておきます. スピード目標については, 入社24年目と同様に達成できてしまいました. 開発元がどのような想定でプログラムを作成したのか気になります.
0 件のコメント:
コメントを投稿