Войти

Или войди с помощью

Dev Story Умножение без таблицы. История для тех, кто хочет научиться умножать быстрее

Dev Story
Информатор avatar |
Умножение без таблицы. История для тех, кто хочет научиться умножать быстрее

Нам пишет Александр Мокрушин.

Идея приложения возникла летом этого года, когда мой 10-летний сын во время летних каникул решил обучаться программированию. В качестве языка программирования он выбрал язык Java. Я краем глаза посматривал как он ковыряется в среде разработки Eclipse, переписывая код из книжки, и каждый раз дремлющий во мне проджект-менеджер голосом кота Матроскина ворчал: «Ой, чой-то мы зря его кормим не используем этого джуниор-программера, пусть пользу приносит». Надо было срочно придумать задачу по программированию, несложную, но вместе с тем полезную.

Покопавшись в списке отложенных до лучших времен задач, я все-таки смог найти подходящее задание – написать код для «волшебного» умножения чисел от 2 до 12. В свое время, учась в советской средней школе, я интересовался различными математическими фокусами, хитрыми приемами и т.п. Помню, меня просто потрясла история нашего соотечественника Якова Трахтенберга, который, будучи узником нацистского лагеря, чтобы не сойти с ума от окружавшего его ужаса, придумал свою систему быстрых вычислений в уме. Впоследствии эту (или подобную) систему использовали люди-вычислители, которые поражали воображение окружающих, быстро перемножая в уме огромные числа. Помимо основных алгоритмов вычисления эта система содержала также и специальные методы умножения малых чисел от 2 до 12 на произвольные целые числа. С тех давних пор я запомнил только правило «волшебного» умножения 2-значного числа на 11. Например, чтобы умножить на 11 число 43, нужно «раздвинуть» цифры 4 и 3, написав между ними их сумму 7, т.е. результат будет 473.

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

Технология разработки

Как я уже написал, ребенок хотел учиться писать именно Java-код. Где он такого нахватался – неизвестно, что с этим делать – поначалу было непонятно. Поразмыслив, я решил сделать так:

  1. Сначала код, реализующий правила умножения, пишется на Java.
  2. После небольшой «обработки напильником» делаем из него код JavaScript. В нашем конкретном случае объем «обработки» оказался относительно невелик. Весь остальной код пишется сразу на JavaScript + HTML.
  3. Далее – готовое HTML-приложение «оборачивается» простым native-кодом, вызывающим отображение нашего HTML-приложения внутри WebView-элемента.

Данный подход имеет свои плюсы и минусы.

ПЛЮСЫ:

  • одно и то же приложение не нужно переделывать для каждой мобильной платформы отдельно, оно делается один раз для всех платформ;
  • HTML очень хорош для создания «резиновых» экранных форм, прилично выглядящих на устройствах с различными размерами экранов (особенно актуально для Android, в меньшей степени – для iOS);
  • у меня уже был опыт создания подобных приложений.

МИНУСЫ:

  • WebView-элемент не является полноценным браузером и может не поддерживать те или иные особенности HTML. На практике оказалось, что самый капризный – UIWebViewв iOS, а самый беспроблемный – в BlackBerry 10 (там вообще есть штатная поддержка таких HTML-приложений);
  • если увлечься стилями и создать «тяжелый» HTML (с градиентами, полупрозрачностью у многих элементов и т.п.), приложение начинает ощутимо «тормозить».

В общем и целом, данная технология – вполне пригодна для небольших и несложных приложений. И главная цель достигнута – ребенок пишет простой, но полезный код на Java.

«Каша из топора»

Изначально все выглядело радужно – процесс понятен, взрослые и дети хлопают в ладоши делают свою часть работы, все счастливы. В реальности все оказалось не так, как было запланировано.

Во-первых, оказалось, что «простой» код, который должен был писать 10-летний ребенок, не такой уж и простой. Если с самим кодом, реализующим умножение путем преобразования строк, сын справлялся, то код, генерирующий попутные комментарии о применении того или иного правила, был ему не под силу. А без этих комментариев пропадал весь смысл работы – умножить в коде можно было и просто так. Во-вторых, летом дети должны не работать, а отдыхать! Мой, например, закрыл книжку, выключил компьютер и уехал в «Артек». В-третьих, сама задача стала разрастаться – для тренировок и тестирования понадобилась форма, внешне похожая на калькулятор, которая позволяла бы вводить цифры произведения справа-налево, отмечать перенос десятков в следующий разряд и т.п. В-четвертых, я решил сделать сразу поддержку помимо русского еще английского и немецкого языков…

Но главное в программировании – начать! Дальше работа затягивает, как в той сказке – топор в котле, все остальное потихоньку к нему добавляется!

Название приложения

Когда приложение уже было готово, я задумался над названием. С одной стороны, я хотел, чтобы название содержало фамилию Якова Трахтенберга, придумавшего все эти правила. С другой стороны, сейчас эта фамилия вызывает ассоциации с чем угодно, но только не с математикой. Русскоязычные пользователи мобильных устройств, скорее всего, вспомнят шоумена Романа Трахтенберга. Англоязычные – американскую актрису Мишель Трахтенберг. Назвать просто по фамилии будет явно недостаточно – неясно, что речь именно о профессоре математики, а не о прочих Трахтенбергах.

Подумав, я решил сделать несколько названий:
1. На устройстве – приложение называется «Трахтенберг» (Trachtenberg), это самый короткий вариант названия.

2. На главном экране внутри приложения – «Умножение без таблицы» (Multiply Without Times Table), это отражает смысл приложения.

3. В AppStore – используется полное название, позволяющее, помимо прочего, использовать дополнительные ключевые слова – «Яков Трахтенберг – Система быстрого счета – Научись выполнять умножение чисел от 2 до 12 без знания таблицы умножения» (по-английски короче – Trachtenberg Speed System – Basic Multiplication Without Times Table).

В процессе перевода названия, я узнал, что по-немецки таблица умножения называется Einmaleins, что переводится как «одиножды один». А еще говорят, что у немцев нет чувства юмора!

Для кого это приложение

Приложение может быть полезно многим:

  • Детям – многие дети испытывают трудности при механическом запоминании каких-то фактов, цифр и т.п. Проблемы могут быть вызваны, в том числе, и расстройством развития – «синдромом рассеянного внимания», которым в той или иной форме страдают 3–5% процентов людей (статистика по США, данные из Википедии). Система Трахтенберга предлагает вместо заучивания чисел запомнить и применять набор правил вида: «Добавить к текущей цифре ее соседа справа».
  • Пожилым людям – с годами у человека возрастает необходимость проводить «тренировки для мозга». Решение головоломок, тренировка памяти, устный счет помогают мозгу оставаться «в форме», замедляют процесс его старения. С этой точки зрения, система Трахтенберга – один из возможных «тренажеров» для извилин.
  • Взрослым людям – среди нас немало тех, кто сохранил интерес или даже любовь к различным математическим фокусам и развлечениям. «Умножение без таблицы» – это разновидность таких развлечений. Данным методом можно проверить – сколько будет 7×8 или 6×9 в случаях, когда сомневаешься или подзабыл. Я, работая над приложением, лично для себя запомнил правила умножения на 11 и на 12. Во-первых, эти правила оказались очень простыми, а во-вторых, таблица на 11 и 12 не входила в школьный курс, это было для меня новым знанием.

Сколько стоит и кто покупает

Изначально я планировал сделать приложение бесплатным, добавив несколько in-app покупок, для того, чтобы можно было сделать donate. Но сын настоял на том, чтобы приложение было платным (а то нам вообще ничего не заплатят). В итоге, установили цену в $0.99. Приложение размещено в магазинах для 3-х мобильных платформ:

1. iOS – AppleAppStore (универсальное приложение).
2. Android – Google Play, Amazon, Samsung Apps, Barnes & Noble.
3. BlackBerry 10 – BlackBerry World (универсальноеприложение).

Продажи пока невелики. Приятно, что большая часть покупок делается нашими соотечественниками. Ниже – фрагмент отчета из сервиса AppAnnieс процентами продаж по странам в App Store.

Вместо заключения

В данном приложении рассмотрены лишь специальные методы для умножения маленьких чисел (до 12). Ознакомиться с полной системой можно в книге Э. Катлер, Р. Мак-Шейн «Система быстрого счета по Трахтенбергу», изданной в издательстве «Просвещение», Москва, 1967. Настоятельно рекомендую эту книгу всем, кто заинтересовался системой быстрого счета. Книга содержит еще очень много материала, не попавшего в приложение. Соответственно, в качестве развития приложения в будущем можно рассматривать реализацию того, что еще есть в этой книге – основного метода быстрого умножения (уже с использованием таблицы), быстрого деления, возведения в квадрат и взятия квадратного корня. В идеале, приложение должно стать кратким справочником и тренажером для отработки правил, изложенных в книге. Надеюсь, приложение будет востребовано. Спасибо!

iPhone: 33 руб. [Скачать из App Store] + сайт приложения

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
26
undefined
iPhones.ru
Нам пишет Александр Мокрушин. Идея приложения возникла летом этого года, когда мой 10-летний сын во время летних каникул решил обучаться программированию. В качестве языка программирования он выбрал язык Java. Я краем глаза посматривал как он ковыряется в среде разработки Eclipse, переписывая код из книжки, и каждый раз дремлющий во мне проджект-менеджер голосом кота Матроскина ворчал:...

26 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. rslw avatar
    rslw 21 октябрь 2013
    0

    вот это интерфейс..

    Артур Малосиев avatar
    Артур Малосиев21 октябрь 2013
    0

    @rslw, написано же, что ребенок делал прогу.

    WrongLie avatar
    WrongLie21 октябрь 2013
    0

    @Артур Малосиев, это наглая ложь.

    Alexander Mokrushin avatar
    Alexander Mokrushin21 октябрь 2013
    0

    @WrongLie, ребенок участвовал (см. текст истории). Внешний вид мы пытались сделать в “школьном” стиле: фон – листок в клеточку, шрифт – как-бы написанный от руки, заголовок – цвета школьной доски. Тут нигде не приведена главная форма, можно посмотреть по ссылке “Скачать из App Store”.
    Если есть конкретные замечания – напишите, постараемся исправить.

    Войди на сайт, чтобы ответить
    Ответить
  2. AnnaBublik avatar
    AnnaBublik 21 октябрь 2013
    0

    А почему оно не бесплатное? Это же одно из условий рубрики было раньше. Так бы скачала – посмотрела…

    Артур Малосиев avatar
    Артур Малосиев21 октябрь 2013
    0

    @AnnaBublik, нет такого условия в Девстори.
    Это только в рубрике Краш-тест.

    Войди на сайт, чтобы ответить
    Ответить
  3. dio45rus avatar
    dio45rus 21 октябрь 2013
    0

    Думаю, для большинства скачивающих, Трахтенберг, прежде всего, Роман и внутри их ждёт некоторое разочарование.

    Alexander Mokrushin avatar
    Alexander Mokrushin21 октябрь 2013
    0

    @dio45rus, поэтому в iTunes приложение называется так длинно, и помимо фамилии указано и имя Яков. Кстати, Мишель Трахтенберг – тоже довольно популярна, если верить поисковикам.

    Войди на сайт, чтобы ответить
    Ответить
  4. Aliva avatar
    Aliva 21 октябрь 2013
    0

    Перевод сайта приложения на русский язык с помощью встроенного гугла – далеко не самое хорошее решение. Хотя бы на русский стоило перевести нормально, а не эти “Хотели бы Вы размножаться без использования запомнил таблицу умножения? Похоже ли это невозможно?”

    Alexander Mokrushin avatar
    Alexander Mokrushin21 октябрь 2013
    0

    @Aliva, извиняюсь, сайт – только на английском.
    В iTunes написано на нормальном русском, кликайте по первой ссылке “Скачать из App Store”.

    Войди на сайт, чтобы ответить
    Ответить
  5. Язь avatar
    Язь 21 октябрь 2013
    0

    Сомнительное приложение. Сегодня оно будет полезно разве что юным владельцам айДевайсов, а таких сейчас очень много. К тому же школьники 5 класса уже могут найти на iPhone калькулятор, а значит данная программа не будет востребована у большинства населения.

    Язь.

    Alexander Mokrushin avatar
    Alexander Mokrushin21 октябрь 2013
    0

    @Язь, данное приложение – не альтернатива калькулятору. Оно для тех, кому хочется научиться умножать не так, как учат в школе. С калькулятором можно вовсе не учиться умножать :)

    Язь avatar
    Язь22 октябрь 2013
    0

    @Alexander Mokrushin, Пользы от умножения в уме сейчас немного.

    Язь.

    Войди на сайт, чтобы ответить
    Ответить
  6. rudaltsov avatar
    rudaltsov 21 октябрь 2013
    0

    Короче, пора бы вводить рейтинги новостей, и яростно плюсовать/минусовать их :)

    Артур Малосиев avatar
    Артур Малосиев21 октябрь 2013
    0

    @rudaltsov, первым делом введем для комментариев – 5 минусов = бан, ыыыы.

    Войди на сайт, чтобы ответить
    Ответить
  7. robot1 avatar
    robot1 21 октябрь 2013
    0

    спасибо за наводку. обязательно обучу парочке приемов своего малого. “3-5%” – это про нас(

    Войди на сайт, чтобы ответить
    Ответить
  8. DarkLadyDarina avatar
    DarkLadyDarina 21 октябрь 2013
    0

    Интересно, я не пожалела 33р и скачала пригодится.

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.