Генератор математических  заданий

Разрядность, числе в примерах (целое число)
Операнды,которые должны участвовать в примерах (+-*/)
Количество операций в генераторе (целое число)
Использовать скобки в примерах?
ДА

Созданные примеры для учащихся

о генераторе выражений

Данный бот наверняка заинтересует преподавателей, организаторов математических конкурсов и олимпиад.  В настоящее время практически на каждый учебник с заданиями есть свой решебник ( с ответами и иногда с подробным решением). Как в таком случае оценить знания ученика? 

На мой взгляд самое простое  решение, и оно конечно же лежит на поверхности и используется большинством  преподавателей, это способность ученика объяснить  ход решения заданной задачи. Это неплохо действует на физических задачах, но совсем не действует на решении арифметических задач, где нужно посчитать  результат заданного выражения, ничего не доказывая и не объясняя.

Пример 2-(4+5)=? или 3*(2-5)+7=?

Задавать подобные примеры на дом, это 100% вероятность что ученик, посчитает это на калькуляторе, на компьютере. Разве этого мы хотим добиться от своих подопечных? Что бы они умели быстро нажимать на клавиатуру? Возможно это и важно, но это не относится никак к разделу математики.

Цель подобных заданий, научить ребенка мыслить, уметь считать в уме.

Чем же наш генератор лучше чем другие? 

1. Он планируется как универсальное решение. То есть это база, для создания дальнейших генераторов ( например заданий по высшей алгебре или комплексной арифметики)

2. Он бесплатен.

3. Убраны все возможные ограничения по размеру заданий и сложности.

4. Выражение может содержать скобки.

Конечно же есть и недостатки

- к сожалению скобок в любом выражении  будет не больше двух. Но если генератор будет пользоваться спросом, то решим и эту проблему.

Но вернемся к вопросу как же проверить знания ученика при решении задач по арифметики? На наш взгляд самый простой способ это дать сгенерированное задание ученику, который вызван к доске и решает именно там. Такие задания на устный счет, без возможности воспользоваться калькулятором, помогут учителю оценить способности подопечного.

Существует еще другой генератор - Генератор матриц с детерминантом

Синтаксис:

exam разрядность,операнды, количество операндов

разрядность - показывает с какими числами будут создаваться задания. Если 1 то от 1 до 10, если два, то от 1 до 100, если 3, то от 1 до 1000 и так далее

операнды - символы арифметических операций. Если  мы генерируем задания для младшего возраста которые умеют только складывать и вычитать, то пишем +- или -+.

Если это средний уровень и ученики умеют уже умножать числа то пишем +-*, а если еще и деление то запишем вот так +-*/

количество операндов - фактически это количество операций в одном задании.  Опять же все зависит от уровня тестируемых. Если нам нужно генерировать примеры  типа 2+4,  5-8 и так далее то видно что операнд тут один, и значит количество тоже будет равно единице.

А если мы хотим генерировать примеры типа 2*(3-4)+4-7+3/2 то количество операндов будет равно 5

Бот создает 20 заданий  в табличной форме, а также в другом столбце дает правильный ответ.

Правильный ответ может содержать как число, так и вид число=число. Такой  вид говорит лишь о том, что есть  два альтернативных ответа. Самый простой пример это решение с дробями..  где ответ можно выдать как и 0.25, так и 1/4

Это будет очень удобно для сверки ответов, когда ответ должен быть выражен в виде дроби.

Пример

Создадим задания с использованием скобок, с числами от 1 до 10, с используемыми операндами +(плюс) и -(минус), и длиной в 4 элемента.

Делаем вот такой запрос

exam 1,+-,4!

Получаем вот такой ответ ( если используем XMPP клинета)

 
8-(10-1) = -1 = -1/1
(2+2+2)+6+8 = 20 = 20/1
(10-10)+1+5-4 = 2 = 2/1
(8-4-6+10)-4 = 4 = 4/1
4+1-(7-3)+9 = 10 = 10/1
(7-7-1+6)-3 = 2 = 2/1
(6-4+10-3)+5 = 14 = 14/1
(7+3)-7+9-2 = 10 = 10/1
(5-1+4)-5+6 = 9 = 9/1
1+(4-9-3+3) = -4 = -4/1
10-(1+1+9)-1 = -2 = -2/1
2-(9+9+3)+3 = -16 = -16/1
2-7-(1-8)+1 = 3 = 3/1
(8+2+2)-1-1 = 10 = 10/1
2+9+(1-5+7) = 14 = 14/1
(3-7-8+5)-7 = -14 = -14/1
5-(1+5-2)-6 = -5 = -5/1
(9+6-9-6)-2 = -2 = -2/1
(5-2+7)+9-1 = 18 = 18/1
1-(1+1)+1-10 = -10 = -10/1
 
 
Анализируя полученный ответ, мы можем заметить банальные примеры как  (2-4+4) или   8+(2-2).  Да, есть такое. Объяснение простое, так как у бота нет критерия "установить сложность", а сложность понятие субъективное, то он оперирует только в рамках строго заданных параметров.
 
 
Но с другой строны и преподавателю, будет всегда из чего выбрать.

 

Вот еще один пример, совсем простой для первоклашек

exam 1,+-,1

1+6 = 7 = 7/1
2-6 = -4 = -4/1
3+7 = 10 = 10/1
2-9 = -7 = -7/1
5-5 = 0 = 0/1
4+6 = 10 = 10/1
4-3 = 1 = 1/1
6+1 = 7 = 7/1
5-10 = -5 = -5/1
8+9 = 17 = 17/1
9+7 = 16 = 16/1
5+3 = 8 = 8/1
9-9 = 0 = 0/1
7-2 = 5 = 5/1
1+6 = 7 = 7/1
6-6 = 0 = 0/1
10+4 = 14 = 14/1
2+1 = 3 = 3/1
3-3 = 0 = 0/1
4+8 = 12 = 12/1
 
 
Хоть сейчас, копируй печатай и раздавай для расчетов.
 

А вот более  сложный ( с умножением и делением двухзначных чисел)

exam 2,+-/*,4!
 
(1-24+88/75-63) = -84.826666666667 = 6362/-75
(88/68-11-3/37) = -9.7869634340223 = -6156/629
55/16/98/(99+26) = 0.0002806122449 = 11/39200
82+23+40/(25+59) = 105.47619047619 = 2215/21
(8696*15)*60*32 = 250444800 = /1
43*85/(6220*27) = 0.0217637251399 = 731/33588
(20+67)+73+51/28 = 161.82142857143 = 4531/28
21+(31-98+28)-79 = -97 = -97/1
72+(54-87*26-98) = -2234 = 2234/-1
68+(58/39-85/30) = 66.653846153846 = 1733/26
28/(94-29)*3-31 = -29.707692307692 = 1931/-65
(96*82+11)*93+20 = 733139 = /1
(96/8-34)/61+24 = 23.639344262295 = 1442/61
75-(28*86)-14/70 = -2333.2 = -11666/5
78-47+(23/81-77) = -45.716049382716 = -3703/81
913*(1+7)-9 = 7295 = 7295/1
95+41*60-(35/17) = 2552.9411764706 = 43400/17
(54*9294*99)+78 = 49685802 = /1
52*24/84-(10+45) = -40.142857142857 = 281/-7
(35*50/20/89) = 0.9831460674158 = 175/178
 

Как видите ответ может быть в виде числа с точкой, так и предусмотрен альтернативный вывод результата в виде дроби.

 

Удачных расчетов Вам!