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日(金)です。

ページトップへ