スプレッドーシートを使って「算数の問題作成」

未分類
スポンサーリンク
スポンサーリンク

スプレッドシートを使って問題作成

Googleのスプレッドシートは、ほぼExcelと同じなので小学生のさんすう問題であれば簡単に作成出来てしまいます。

なんですが、何問も準備するとなると、ちょっと面倒になってきました…
そうなると、やっぱりあれですよね

Excelでも良く使うマクロ!

スプレッドシートでマクロ!

マクロもそんなに難しくはないです。
ただ、Excelのマクロと全く同じってことはなかったです。
こんな感じ…

コピペ用
/** @OnlyCurrentDoc */
function myFunction() {
var spreadsheet = SpreadsheetApp.getActive()
;var leftnum;
var rightnum;
var cellrow;
// たし算
for(var x = 2; x <= 11; x++ ){ for(var i = 1; i <= 99999; i++) { leftnum = Math.floor(Math.random()
11); rightnum = Math.floor(Math.random()11); //Logger.log(leftnum); if (leftnum + rightnum <= 10) { Logger.log(leftnum + rightnum ); break; } } SpreadsheetApp.getActiveSheet().getRange(x, 1).setValue(leftnum); SpreadsheetApp.getActiveSheet().getRange(x, 2).setValue(rightnum); } // ひき算 for(var x = 2; x <= 11; x++ ){ for(var i = 1; i <= 99999; i++) { leftnum = Math.floor(Math.random()11); rightnum = Math.floor(Math.random()11); //Logger.log(leftnum); if (leftnum – rightnum >= 0 && leftnum – rightnum <= 10) {
Logger.log(leftnum + rightnum );
break;
}
}
SpreadsheetApp.getActiveSheet().getRange(x, 3).setValue(leftnum);
SpreadsheetApp.getActiveSheet().getRange(x, 4).setValue(rightnum);
}
};

上記のマクロを実行すると、以下のようなデータが作成されます。

・たし算
左辺と右辺を合計した値が、10以下になるようにマクロで作っているので、小学1年生レベルの問題に合わせて作成しています。
・ひき算
左辺と右辺のマイナスした値が、0~10の間になるように調整しています。

この結果を、問題用紙のシートに参照してあげるようにすれば完成です。
これで、何回でも作成できますね。

ほとんど何も考えずに作っちゃったんですけど、とりあえずこれでいいかなという感じです。
改善するならば、同じ問題が出た時に再計算するのとか、答えが偏ったら再計算するとかですかね?

コメント

タイトルとURLをコピーしました