2016/08/05
スクラッチで筆算を作ろう~引き算編その2
東京都渋谷区にある小学生対象のプログラミング教室スモールトレインで講師をしております福井です。今日は前回の引き算のひっ算でできていなかったところを直してみました。これで1000-999も答えがきれいにでます。試してみましょう。
引かれる数に1000を入力
次に引く数を999にします。
答えは1ですよね。
以前起こった現象は次の位が0の場合、0から1が引かれるので-1になるという現象でした。そこで-1になっているものを9に置き換え、次の位から1を引くという作業を毎回行うようにしました。以下の左の部分。
しかしこのままだと1000-999=001になってしまいます。そこで0以外の数字が出てくるまで0を消す処理を右側の「完成」で行っています。しかし、ここでまたしても問題が起こります。右側の「完成」の処理では0を消していたので、100-100=空欄になってしまいました。そうですよね、0を消してしまったので空欄になるわけです。そのため空欄の場合は、0を入れる処理を追加しています。
そのため、以下のように100-100=0と出力されます。
さてここでいじわるをしてみました。566-666をしてみましょう。答えは-100ですが、小学生は負の数は習っていないので、「計算できません」が正しい答えになりますが、今回は「計算できません」という処理は入れていません。さて、答えはどのようになるでしょうか。やってみましょう。
おかしいのはすぐに分かりますよね。さてなぜこの答えになるのか考えてみましょう。続きはまた次回で。説明会で聞いていただいても良いですよ。現在、プログラミング教室スモールトレインでは、説明会&体験会を実施中です。8月の説明会&体験会は8月17日(水)~19日(金)です。