10の補数の練習プリントを生成する



 言語:Google Apps Script
 機能:10の補数の練習プリントを生成する
 入力:なし
 出力:シートの所定の位置に乱数列を記入する
 実行画面: 


説明:

足し算や引き算が苦手な子は、10の補数、つまりある数を10から引いた残りがいくつかがあやふやであることが多いです。逆に、ここがしっかりしていると、繰り上がり、繰り下がりでミスすることが少なくなります。
小学2年生くらいで足し算、引き算でよく間違えるという場合、この10の補数をよく練習することには大きな意義があります。
さてそのための練習プリントは、Googleスプレッドシートで簡単に作成することができますが、どうせなら、乱数を使って毎回違う問題にしたいものです。
以下のスクリプトを、「スプレッドシートから・起動時」をトリガーとして動くようにしておけば、開きなおすたびに新しいプリントができます。
スクリプトの動作としては、2重Forループの中で1ケタの乱数を発生させているだけですが、同じ数字が続かないように一工夫しています。


 function fillRandom() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
sh.getRange("A2:H18").clearContent();
var val=0;
for( var c=1;c<=3;c++ ){
for( var r=1;r<=15;r++ ){
var newVal = Math.floor(Math.random()*9)+1;

while( newVal == val){
newVal = Math.floor(Math.random()*9)+1;
}
//同じ値が連続するのを防いでいる

val = newVal;
sh.getRange(r+1,3*c-2).setValue( val );
}
}
}