За время работы преподавателем математики в начальных классах, возникла необходимость часто придумывать однотипные задачи, чтобы набить руку. Вот тут лень и знания пришли на помощь!



Расскажу о своем опыте разработки приложения генератора задач для начальных классов.

Переливания



Задача состоит в том, что при помощи трех склянок отмерить определенное количество воды. При этом можно наливать воду из источника (наливать доверху сосуда, а не на глаз) и сливать в сток всю склянку. Основная механика задачи строиться на переливании воды из одного сосуда в другой, наливая доверху.

Весь фокус состоит в том, что если есть две склянки и их объём разной чётности (1 и 3, 2 и 5, 1 и 6 и так далее), то обладая третьим сосудом (складируя туда нужный объем воды), можно налить любой объем.

Потому создаем механику на основе OnMouseDown (при нажатии на склянку она подсвечивается, а дальше нажать на сток/исток, чтобы слить/набрать воды или на другую склянку, чтобы перелить туда воду). При этом нужно сделать так, чтобы емкости были объёмов разной четности.


Взвешивания


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


Генерация довольно простая: на верхней левой чаше ставим большого котика и нескольких маленьких, на верхней правой гирю с их весом. На нижней левой ставим нескольких (или одного) маленьких котиков и на правую гирю с их весом.

Задача получилось очень простой, но подходящей для «первой встречи». Так что усложним задачу. На обеих левых чашах поставим по одному большому котику и нескольких (но не одинаковое количество для разных весов) маленьких. Справа, как и раньше, вес всех котов на левой чаше.

Коробки



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

Генерация оказалась проще, чем сделать подходящую анимацию вытаскивания шариков:

  • Генерируем распределение цветов шариков
  • Красим шарики в ящике в соответствии с распределением цветов
  • Выбираем цвет искомого шарика и подсчитываем нужное количество


Upd


Дописал то, чего не было утром

Логические высказывания




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

Формулу для этой задачи подбирал вручную, потому меняются только предметы в коробках и то, что ищем. Но для того, чтобы это было сложнее заметить, коробки меняются местами (грубо говоря к каждой коробке заранее прикреплена своя формула, но место коробки не закреплено и может быть одно из трех). В данном случае примем, что персик, тыква и слива это s1,s2 и s3 соответственно. Тогда на первой коробке s1, на второй s2 или s1, а на третьей не s1.

Как можно заметить, правдивой может быть только надпись с не s1. На том и держится весь алгоритм.

Спички




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

Это самая интересная и важная для меня задача. Когда то с другом мы составили таблицу «переходов спичек». Посмотрели, какие цифры можно получить из других цифр, убрав или добавив одну спичку


Алгоритм теперь не представляет больших проблем: создаем случайное равенство (a+b=c) до тех пор, пока в нем не будет пары чисел, которые можно изменить добавлением и удалением спички (по таблице замен). После на экран выводим изменённые числа, выложенные из спичек.

Числовой криптекс




Задача прокрутить колеса криптекса так, чтобы получилось верное равенство.

Источников вдохновения для этой задачи много, как и целей. Помимо того, что это возможность перебрать руками (дети такое любят), так еще это привлекательнее обычных равенств и задач на деление.

Механизм поворота достаточно прост: каждая плоскость колеса пронумерована и при повороте колеса меняется значение, выставленное этим колесом. Вроде головоломка одноразовая, но есть небольшая уловка: на одной позиции колеса стоит несколько вариантов колесиков, что увеличивает вариативность решения головоломки.

Статистика и применение




Не знаю, как по меркам хабра, но такое распространение только благодаря нахождению приложения в каталоге приложений (без рекламы, постиков в вк и прочего) говорит о том, что приложения такого рода интересны людям. Пусть они и уступают в графике и привлекательным персонажам мультфильмов в целом.

Ссылка на проект:
Google Play
GitHub
Поделиться с друзьями
-->

Комментарии (8)


  1. pantlmn
    27.10.2016 21:11
    +1

    Со спичками цифры 6, 7 и 9 можно по-разному выложить (они могут чуть непривычно выглядеть, но всё же однозначно читаться). И ещё можно перекладывать спички внутри одной цифры и получать из 2 — 3, из 3 — 5, из 6 — 9 или 0 и т.д.

    При таком подходе вариантов получается намного больше.


    1. Gr13
      28.10.2016 00:20

      Придется сделать больше деталей спичек, но да, согласен.
      Спасибо!


  1. third112
    27.10.2016 21:50

    За время работы преподавателем математики в начальных классах, возникла необходимость часто придумывать однотипные задачи, чтобы набить руку.
    Не работал преподавателем математики в начальных классах, поэтому извините за вопрос со стороны: разве так мало задачников, что нужно придумывать новые задачи?


    1. Gr13
      28.10.2016 00:20

      Что проще сделать прямо перед учеником: найти задачу в учебнике и в своей программе, когда четко знаешь уровень и задачи и ученика. Пока что я не настолько хорошо умею в разные учебники по математике, потому мне легче открыть приложение :3


  1. ru_vlad
    28.10.2016 01:05
    +1

    Спасибо!
    Сам препод, поэтому такие вещи одобряю. Детям интересно когда идет не сухой материал, а виде игры.
    В какой среде делали?


    1. Gr13
      28.10.2016 01:39

      Unity3d
      Если что проект можно скачать и доделать (GitHub)
      Или воспользоваться готовой версией (Google play)

      Возможно буду доделывать и расширять набор задач, но пока не могу выделить под это время :(


  1. vadoo
    28.10.2016 13:22

    «Тогда на первой коробке s1, на второй s2 или s3, а на третьей не s1.»
    А в таблице s1 или s2. Чему верить?


    1. Gr13
      28.10.2016 13:22

      s1 или s2 конечно
      Ошибся в тексте