Нам пишет Александр Мокрушин.
Идея приложения возникла летом этого года, когда мой 10-летний сын во время летних каникул решил обучаться программированию. В качестве языка программирования он выбрал язык Java. Я краем глаза посматривал как он ковыряется в среде разработки Eclipse, переписывая код из книжки, и каждый раз дремлющий во мне проджект-менеджер голосом кота Матроскина ворчал: «Ой, чой-то мы зря его кормим не используем этого джуниор-программера, пусть пользу приносит». Надо было срочно придумать задачу по программированию, несложную, но вместе с тем полезную.
Покопавшись в списке отложенных до лучших времен задач, я все-таки смог найти подходящее задание – написать код для «волшебного» умножения чисел от 2 до 12. В свое время, учась в советской средней школе, я интересовался различными математическими фокусами, хитрыми приемами и т.п. Помню, меня просто потрясла история нашего соотечественника Якова Трахтенберга, который, будучи узником нацистского лагеря, чтобы не сойти с ума от окружавшего его ужаса, придумал свою систему быстрых вычислений в уме. Впоследствии эту (или подобную) систему использовали люди-вычислители, которые поражали воображение окружающих, быстро перемножая в уме огромные числа. Помимо основных алгоритмов вычисления эта система содержала также и специальные методы умножения малых чисел от 2 до 12 на произвольные целые числа. С тех давних пор я запомнил только правило «волшебного» умножения 2-значного числа на 11. Например, чтобы умножить на 11 число 43, нужно «раздвинуть» цифры 4 и 3, написав между ними их сумму 7, т.е. результат будет 473.
Вот мы и решили сделать полезное приложение, которое бы обучало подобным правилам умножения без заучивания таблицы. Может, в процессе разработки и сами так умножать научимся!
Технология разработки
Как я уже написал, ребенок хотел учиться писать именно Java-код. Где он такого нахватался – неизвестно, что с этим делать – поначалу было непонятно. Поразмыслив, я решил сделать так:
- Сначала код, реализующий правила умножения, пишется на Java.
- После небольшой «обработки напильником» делаем из него код JavaScript. В нашем конкретном случае объем «обработки» оказался относительно невелик. Весь остальной код пишется сразу на JavaScript + HTML.
- Далее – готовое 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] + сайт приложения
26 комментариев
Форум →вот это интерфейс..
@rslw, написано же, что ребенок делал прогу.
@Артур Малосиев, это наглая ложь.
@WrongLie, ребенок участвовал (см. текст истории). Внешний вид мы пытались сделать в “школьном” стиле: фон – листок в клеточку, шрифт – как-бы написанный от руки, заголовок – цвета школьной доски. Тут нигде не приведена главная форма, можно посмотреть по ссылке “Скачать из App Store”.
Если есть конкретные замечания – напишите, постараемся исправить.
А почему оно не бесплатное? Это же одно из условий рубрики было раньше. Так бы скачала – посмотрела…
@AnnaBublik, нет такого условия в Девстори.
Это только в рубрике Краш-тест.
Думаю, для большинства скачивающих, Трахтенберг, прежде всего, Роман и внутри их ждёт некоторое разочарование.
@dio45rus, поэтому в iTunes приложение называется так длинно, и помимо фамилии указано и имя Яков. Кстати, Мишель Трахтенберг – тоже довольно популярна, если верить поисковикам.
Перевод сайта приложения на русский язык с помощью встроенного гугла – далеко не самое хорошее решение. Хотя бы на русский стоило перевести нормально, а не эти “Хотели бы Вы размножаться без использования запомнил таблицу умножения? Похоже ли это невозможно?”
@Aliva, извиняюсь, сайт – только на английском.
В iTunes написано на нормальном русском, кликайте по первой ссылке “Скачать из App Store”.
Сомнительное приложение. Сегодня оно будет полезно разве что юным владельцам айДевайсов, а таких сейчас очень много. К тому же школьники 5 класса уже могут найти на iPhone калькулятор, а значит данная программа не будет востребована у большинства населения.
Язь.
@Язь, данное приложение – не альтернатива калькулятору. Оно для тех, кому хочется научиться умножать не так, как учат в школе. С калькулятором можно вовсе не учиться умножать :)
@Alexander Mokrushin, Пользы от умножения в уме сейчас немного.
Язь.
Короче, пора бы вводить рейтинги новостей, и яростно плюсовать/минусовать их :)
@rudaltsov, первым делом введем для комментариев – 5 минусов = бан, ыыыы.
спасибо за наводку. обязательно обучу парочке приемов своего малого. “3-5%” – это про нас(
Интересно, я не пожалела 33р и скачала пригодится.
Не поленился и зашел в гугл. Профит 33 рубля. Затраченное время – 3 секунды. Освоить можно за 1 час.
@lxprost, освоить можно. Можно найти книгу, про которую я написал, там все есть. Только осваивать придется с бумажкой и ручкой, а в приложении есть спец. форма для тренировок и тестирования. И еще в приложении примеров неограниченно много – они налету генерируются.
2 УМНОжить на 3 = 8 это по моему))) , а по Вашему? И вопрос # 2 – это какая таблица?
@EugeneD, по-моему, 2*3=6. У Вас, скорее, не умножение, а возведение в степень. Речь идет о таблице умножения, которую учат в младших классах. Она, обычно, печатается на задней стороне тетради в клеточку )
@Alexander Mokrushin, 2*3=2*2*2=2в3степени=8. А по Вашему 2*3=2+2+2=6 возведение в степень и есть умножение. Вы будете удивлены, но на задней стороне тетради нам с Вами печатали таблицу сЛОЖения которую мы и знаем. Нас давно и всех дурят.
@EugeneD, это каким словом договориться называть. Сложение одинаковых чисел, проведенное несколько раз подряд договорились называть умножением. Аналогично – многократное умножение самого на себя – возведением в степень. Вообще, хватает неточностей в определениях. Например, то, что в русском языке называют 1-м, 2-м и 3-м склонением правильно было бы называть “типами склонения”. Ведь само по себе склонение – это изменение по падежам. Так что со сложением-умножением еще все более-менее нормально названо :)
Рыбников Ю.С. В интернете Вам много нового расскажет. И проще чем он у меня врядли получится.
Хорошая софтинка и обзор качественный.
@Lexsurian, спасибо за поддержку! Мы старались!
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Почему отличается номер модели iPhone или iPad в Настройках и на сайте Apple
Почему в Safari на Mac некорректно работают сервисы Google
Как на Mac изменить приложение по умолчанию для разных типов файлов
Как настроить параметры вида в Finder отдельно для разных папок?
Как мониторить расход мобильного трафика на iPhone
Как установить WhatsApp на iPad?
iPhone не подключается к домашней сети Wi-Fi. Что делать?
Как правильно настроить фишку «Не беспокоить водителя» в iOS 11