ブログ

rss

第4日 わり算[算数プログラマーになろう]

投稿日時:2021/10/10(日) 08:50

第4日目 わり算


 今回は「問題3 かけ算」を手本にして新しい問題を作ってみましょう。

 
問題名 (*) 問題4  わり算
言語 (*) 日本語
問題文 (*) 次の計算をしましょう。
問題式 (*) $3÷$2
解答式 (*) $3÷$2=$1
制約条件 (*)

 
Rd(1,9);$1$2
$1*$2=$3;d
生成可能問題数 (*) 10


問題名、問題式、解答式を変えただけです。制約条件は全く同じです。


コンピュータではかけ算を「*」で表しますが、わり算は「/」を使います。


これまでと同じようにRd(1,9);$1$2 で変数を決めて「$1÷$2」という問題を作ってもよいのですが、問題によっては割りきれない問題が出てしまいます、


そこで、1桁×1桁のかけ算の答えが分かっている$3$2で割ったのです。答えは当然$1ですね。


このように、あらかじめわかっている答えを利用して問題を作ると便利なこともあります。


例えば、2桁ー1桁の問題で、答えが1桁のものだけを作りたい場合にも利用できます。


ところで、いままで同じような変更で問題を作ったらどうなるでしょうか。

 
問題名 (*) 問題4  わり算
言語 (*) 日本語
問題文 (*) 次の計算をしましょう。
問題式 (*) $1÷$2
解答式 (*) $1÷$2=$3
制約条件 (*)

 
Rd(1,9);$1$2
$1/$2=$3;d
生成可能問題数 (*) 10


わり算は「$1/$2=$3」でしたね。


ちゃんと問題が作れていますね、実は小学生にも解ける問題になっているのです。
ただし、問題文と解答式を次のように変える必要があります。
-
問題文 (*) 次のわり算の商を答えなさい。
解答式 (*) $1÷$2 の商は $3


これまで説明してきませんでしたが、制約条件で$3を決めるときに「$1/$2=$3;d」と書いていた最後の「d」は小数点以下を切り捨てて整数だけにするのです。
ですから、商を求める問題になるのです。



 
【本日のまとめ】
答えの利用・・・あらかじめわかっている答えを利用して問題を作ってもよい。
◎わり算の記号・・・問題式、解答式では「÷」を使えるが、制約条件では「/
$1/$2=$3;d・・・最後のdは小数点以下を切り捨てて整数だけの答えにする。選ぶ。


時間があったら、次の発展問題を作ってみましょう。

 
(発展1) 2桁×2桁のかけ算を利用してわり算を作ってみましょう。
(発展2) 2桁÷1桁の問題で答えが1桁の整数になる問題を作ってみましょう。
(発展3) 5桁÷2桁の問題で答えが3桁の整数になる問題を作ってみましょう。
(発展4) 3桁÷2桁の商を求める問題を作ってみましょう。
(発展5) 2桁ー1桁の問題で、答えが1桁のものだけの問題を作ってみましょう。




 

第3日 かけざん[算数プログラマーになろう]

投稿日時:2021/10/09(土) 05:34


第3日目 かけざん


 今回も「問題1 たしざん」を手本にして新しい問題お作って見ましょう。

 
問題名 (*) 問題3  かけざん
言語 (*) 日本語
問題文 (*) 次の計算をしましょう。
問題式 (*) $1×$2
解答式 (*) $1×$2=$3
制約条件 (*)

 
Rd(1,9);$1$2
$1*$2=$3;d
生成可能問題数 (*) 10


ひきざんの時と同じように問題文と3箇所の「+}を変えました。またRd(1,9);$1$2にしました。でも、少し違っているところがあるのですがわかりますか。


最初の2箇所は「×」に変わっていますが最後の制約条件では「*」になっています。


これは、コンピュータではかけざんを「*」で表すからです。×だと文字のエックスと間違えるからでしょうか。


たしざん、ひきざんと同様に、複雑なかけざんの問題も作れますね。後の発展問題で作って見てください。


これまでの問題式は1行だけでしたが、何行でも問題式に書けます。



 
問題式 (*) $1×
$2×7


変数だけでなく、決まった数字の7なども妻得るのです。


このように問題式を変えた解答式や 制約条件も変える必要がありますね。



 
解答式 (*) $1×7=$3
$2×7=$4

 
制約条件 (*)

 
Rd(1,9);$1$2
$1*7=$3;d
$2*7=$4;d




この変更でも良いのですが、$1$2が同じ場合もありますので、次のようにしたほうがよいでしょう。


Rd(1,9);$1$2:$1!=$2
等しくないという条件は「!=」と書くのでしたね、思い出しましたか。


また、問題式を次のように書いてかけさん九九の練習もできます。
MathPubでは、工夫するといろいろな問題が作れるのです。

 
問題式 (*) $1×$2
$1×($2+1)
$1×($2+2)




今度は問題式を次のように変えてみてください。

 
問題式 (*) $1×□$3


$3はかけざんの答えのために用意した変数ですが、このように問題式に使ってもよいのです。


 なお、少し複雑になりますが、次のような問題も簡単に作ることができるのです。



 
問題式 (*) $1×□$3×$4
解答式 (*) $1×$2=$3×$4
制約条件 (*)

 
Rd(1,9);$1$2$3$4:$1*$2==$3*$4,$3!=$1,$3!=$2


×3=3×2 は同じ答えになることはすぐにわかりますが、3×8=4×6 のような同じ答えになる問題もコンピュータが見つけてくれるのです。


制約条件で等しい時は「==」、等しくない時は「!=」だったですね。
$1*$2==$3*$4 で同じ答えのものを探していますが、$3$1に等しくなく($3!=$1)、$2にも等しくない($3!=$2)ものを選んでいます。



 
【本日のまとめ】
かけざんの記号・・・問題式、回答式では「×」を使えるが、制約条件では「*
問題式・・・1行だけでなく何行でもかける。7などの決まった数字も使える。
問題式とmonndaishikito
1,5);$1$2:$1>$2・・・$1$2より大きいものだけが選ばれる。
Rd(1,5);$1$2$3:$1>$2,$2>$3・・・$1,$2,$3の順に大きいものだけが選ばれる。
$1$2の条件は次のように書きます。
$1==$2・・・$1は$2と等しい
$1!=$2・・・$1は$2に等しくない
$1>$2・・・$1は$2より大きい
$1>=$2・・・$1は$2以上(大きいか等しい)
$1<$2・・・$1は$2より小さい
$1<=$2・・・$1は$2以下(小さいか等しい)


時間があったら、次の発展問題を作ってみましょう。
作成する問題の数は限られていますので、発展問題は問題2の制約条件を変えるだけで同じ問題番号で保存してください。

 
(発展1) 2桁×2桁のかけ算を作ってみましょう。
(発展2) 3×2桁のかけ算を作ってみましょう。
(発展3) 3×2桁のかけ算で答えが5桁になるものを作ってみましょう。
(発展4) 2桁×2桁で同じ答えになる問題を作ってみましょう。
(発展5) 6 ×□ = 5 × 54のような1×2桁で同じ答えになる問題を作ってみましょう。




 

第2日 ひきざん[算数プログラマーになろう]

投稿日時:2021/10/08(金) 20:32

第2日目 ひきざん


 メニューの「問題を作る」で新しい問題を作っても良いですが、前と同じような問題になりますので、前回作成した問題を利用して新しい問題を作ってみましょう。


メニューの「問題を探す」をクリックすると公開された問題を検索できるようになりますが、この対象「公開」の部分を「自分(全て)」に変更して検索のボタンをクリックします。


これまでに作成した問題が表示されますので。問題名のところをクリックするとその問題を編集できるようになります。


ここで「この問題を手本にして問題を作る」をクリックします。


そうすると、右側と同じ内容が左に表示されますので、左の部分を直して新しい問題を作ります。



 
問題名 (*) 問題2  ひきざん
言語 (*) 日本語
問題文 (*) 次の計算をしましょう。
問題式 (*) $1-$2
解答式 (*) $1-$2=$3
制約条件 (*)

 
Rd(1,5);$1$2
$1-$2=$3;d
生成可能問題数 (*) 10


問題名を「問題2  ひきざん」に変えたのと「+」の3箇所を「-」に変えました。
なお、「+」や「-」は全角でも半角でも影響はありません。


正しく入力されていれば問題が印刷されるはずですが、問題を見て困ったことはありませんか。


もしかすると「(1)2-4」のような問題が印刷されているかもしれません。
中学生には計算できるのですが、小学生には難しいですね。


Rd(1,5);$1$2 で問題の数字を決めるときに、いつも$1$2より大きくしたいですね。
そういう場合は、次のように書けばよいのです。

 
Rd(1,5);$1$2:$1>$2


Rd(1,5);$1$2 の後にコロン(:)をつけて$1$2の条件を書くことができるのです。
$1$2よりも大きくしたいので、Rd(1,5);$1$2:$1>$2 と書けば小学生にも安心して計算できるひきざんの問題が作れます。


Rd(1,5);$1$2:$2<$1 でもよいですね。


$1$2以上にしたい場合もあるでしょう。そのときは、 Rd(1,5);$1$2:$1>=$2 と書きます。
$2$1以下にするならば、Rd(1,5);$1$2:$2<=$1 となります。


$1$2を同じ値にしたくない場合は次のように書きます。難しいかな。
Rd(1,5);$1$2:$1!=$2


同じ値にしたい場合はどうするかですが、実際は$2を使わず$1だけにすればよいわけですが、同じ値にしたいときは Rd(1,5);$1$2:$1==$2 のように=を2つ書くのです。


条件式を2つ以上並べたいときはカンマ(,)で区切ります。


Rd(1,5);$1$2$3:$1>$2,$2>$3


このようにすすると、どのような結果になるかわかりますね。


なお、$1と$2の計算結果を指定するころもできます。

 
Rd(10,18);$1
Rd(1,9);$2:$1-$2<10
$1-$2=$3;d


上の場合は、2桁ー1桁のひきざんで、答えを1桁にしたいという場合の例です。
$1が19以上だと1桁を引いても2桁以上ですから、18までにしておきました。
1桁の$2を決めるときに$1-$2を計算して10より小さいものだけを選ぶようにしています。

 
【本日のまとめ】
Rd(1,5);$1$2:$1>$2・・・$1$2より大きいものだけが選ばれる。
Rd(1,5);$1$2$3:$1>$2,$2>$3・・・$1,$2,$3の順に大きいものだけが選ばれる。
$1$2の条件は次のように書きます。
$1==$2・・・$1は$2と等しい
$1!=$2・・・$1は$2に等しくない
$1>$2・・・$1は$2より大きい
$1>=$2・・・$1は$2以上(大きいか等しい)
$1<$2・・・$1は$2より小さい
$1<=$2・・・$1は$2以下(小さいか等しい)


時間があったら、次の発展問題を作ってみましょう。
作成する問題の数は限られていますので、発展問題は問題2の制約条件を変えるだけで同じ問題番号で保存してください。



 
(発展1)Rd(10,99);$1$2:$1>$2 と変えて2けたのひきざんを作ってみましょう。
(発展2) Rd(100,999);$1$2:$1>$2と変えて3桁のひきざんを作ってみましょう。
(発展3) 3桁ー1桁のひきざんを作ってみましょう。
(発展4) 3桁ー2桁のひきざんを作ってみましょう。
(発展5) 3桁ー2桁のひきざんで答えが1桁になるものだけを作ってみましょう。

 

第1日 たしざん[算数プログラマーになろう]

投稿日時:2021/10/06(水) 20:29

 さっそく問題を作ってみましょう。


左のメニューの「問題を作る」をクリックしてください。
新しい問題を入力できる画面になります。


たくさんの項目がありますが、必ず入力しなければならない(*)の項目だけを次のように入力してください。
日本語は全角ですが、数字や文字、記号は半角で入力してください。

 
問題名 (*) 問題1 たしざん
言語 (*) 日本語
問題文 (*) 次の計算をしましょう。
問題式 (*) $1+$2
解答式 (*) $1+$2=$3
制約条件 (*)

 
Rd(1,5);$1$2
$1+$2=$3;d
生成可能問題数 (*) 10


言語 (*)は▼をクリックしてたくさん表示される言語の中から「日本語」を選びます。
生成可能問題数 (*)はすでに10が入力されていますので、そのまま使います。


入力に間違いがなければ、これで問題が作れるようになっています。


まず、「チェック」のボタンをクリックしてみましょう。


何も表示されなければ正しく入力されているので問題が作成できますが、次のようなメッセージが表示されたかもしれません。

 
制約条件の文法に誤りがあります (1行目の ':' あたり)

これは、制約条件の1行目が「Rd(1,5);$1$2」ではなく「Rd(1,5):1$2」と入力されていると思います。セミコロン(;)とコロン(:)という記号は間違えやすいので、これからも注意してください。


「チェック」で何も表示されなかったら「プレビュー」をクリックしてみましょう。


次のように問題が4問表示されたと思います。




問題生成のところで10を指定したので、本来は10問が作られるのですが、プレビューでは4問だけしか表示されないのです。


予定した問題が作られることを確認したら、「作成中保存」をクリックして問題を保存しましょう。


問題を保存したら「印刷リストに追加」をクリックして「PDFダウンロード」からPDFを印刷すれば問題用紙と解答用紙が印刷されます。


もう一度同じことを実行すると、今度は別の問題が印刷されたと思います。


MathPubでは、同じように問題を作成するプログラミングを行っても、実行するたびに別の問題が作られるのです。

ここで、MathPubでは、どのようにして問題が作成されるのか説明してみましょう。

 
問題式 (*) $1+$2


問題式には、10問作成した場合に、(1)(2)などの後に表示したいものを書きます。
ここでは「(1)5+1」のように表示させたいので「$1+$2」と書きました。
$1&2は「変数」と呼ばれるもので、コンピュータが毎回数値を決めるものです。
それ以外の文字は、そのまま印刷されます。


問題式は、次のように書いてもよいのです。

 
問題式 (*) $1+$2
問題式 (*) $1たす$2はいくつですか。
問題式 (*) りんごが$1個、みかんが$2個あります。あわせていくつでしょう。


解答式は問題用紙ではなく正解を印刷する用紙に表示するものを書きます。

 
解答式 (*) $1+$2=$3


答えを$3という変数に入れておくことができれば、上のように書くことで「(1)5+1=6」のように正解が表示されます。


次の制約条件が難しいかもしれないですね。

 
制約条件 (*)

 
Rd(1,5);$1$2
$1+$2=$3;d


詳しい説明は後ですることにして、ここでは呪文のように意味がわからなくてもそのまま真似をして使うようにしてください。
 ただ、少しは説明しないと似たような問題が作れませんから、ここで知っておきたい所だけ解説します。


Rd(1,5);$1$2 は1から5までの整数(つまり、1,2,3,4,5のどれか)を$1に入れて、また別の1から5までの整数を$2に入れるようなプログラムになっています。
$1$2は同じ値とは限りません。偶然同じ値になることはあるかもしれません。


Rd(0,5);$1
Rd(1,5);$2
上のように$1$2に入れる数字が違う場合は2行にわけて書いてください。






2行目の $1+$2=$3;d は、最初は見当がつくでしょう。
$1$2のたしざんの結果を$3に入れるプログラムになっています。
最後の「;d」については、このように書くものだと思って、そのまま真似をして書いてください。

 
【本日のまとめ】
$1,$2,$3・・・「変数」(コンピュータが計算した数字になって印刷される。)
問題式、解答式・・・変数以外は入力した文字がそのまま印刷される。
(制約条件)
Rd(1,5);$1$2・・・1,2,3,4,5のどれかの数を$1$2にそれぞれ入れる。
$1+$2=$3;d・・・$1$2を足した値を$3に入れる。 


時間があったら、次の発展問題を作ってみましょう。
作成する問題の数は限られていますので、発展問題は問題1の制約条件を変えるだけで同じ問題番号で保存してください。

 
(発展1)Rd(0,9);$1$2 と変えて0から9までのたしざんを作ってみましょう。
(発展2) Rd(10,99);$1$2と変えて2桁のたしざんを作ってみましょう。
(発展3) Rd(100,999);$1$2と変えて3桁のたしざんを作ってみましょう。
(発展4) 4桁のたしざんを作ってみましょう。
(発展5) 5桁+6桁のたしざんを作ってみましょう。