Помощь в обучении переводу натуральных чисел между десятичной и двоичной системами счисления

Направление: Научно-технологическое

Автор:

9 класс, Лицей № 000 при МГТУ имени

Научный руководитель:

Заместитель директора по организации и оценке качества образования,

Преподаватель Информатики и ИКТ

Содержание


Введение

3

Цель работы

3

Метод

3

Основная часть

4

Результат

5

История изменений

6

Область применения

6

Перспективы

6

Заключение

7

Вывод

7

Приложение

8

Приложение 1 – объяснение выбора платформы и средств

8

Приложение 2 – приложение BinaryQuiz

8

Приложение 3 – загрузка приложения на устройства Android

13

Приложение 4 – список используемых источников

13



Введение

       Как мне кажется, школьники, начиная еще с 4-5 класса уже должны уметь оперировать числами в самой главной для компьютера системе счисления – двоичной. Ведь если не понимать логики компьютера, нельзя и научиться программировать хотя бы процедурно-функциональные алгоритмы, что там уж говорить об объектно-ориентированных программах. Оказалось, что самое сложное для большинства детей при работе с системами счисления – не операции в одной системе счисления, а перевод между ними. Поэтому я решил, что необходимо разработать метод обучения переводу между используемой человеком(обычно) и компьютером системами счисления, который одновременно и понравился бы обучаемому, и был бы эффективным. Я обратил внимание на метод обучения слепой печати, в которой ученик набирает с клавиатуры слова, которые показываются на мониторе. Таким образом, положение букв на клавиатуре запоминается от частого повторения, и в дальнейшем касание клавиш происходит словно машинально. В моей практике этот был действенным. Также стоит обратить внимание на то, что с развитием информационных технологий мобильные игры стали очень популярны. А играть в них можно, например, находясь в дороге. У меня, например, этот путь занимает около часа.

НЕ нашли? Не то? Что вы ищете?

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

Цель работы:

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

Метод:

       Разработать программное обеспечение для мобильных устройств на операционной системе Android, служащее организации игрового процесса практического обучения в виде викторины-марафона.        

Основная часть

Целевая операционная система Android была выбрана по статистическим соображениям

<Приложение 1.1>

Из популярных языков программирования для разработки под Android подходят Java, C#, C++, Python и Pascal в плагинах или плагинах интегрированных сред разработок(IDE) Android Studio, MonoDevelop, KiVy и Embracodero FireMonkey соответственно. У каждого есть свои недостатки и плюсы, но мой выбор пал на C# по следующим соображениям:

    Java и C# мультиплатформенны за счет использования виртуальной машины для запуска кода, но в C# она чуть сильней привязана к системе, от чего работает быстрей. С++ работает еще быстрее за счет аппаратной привязки, но в проекте используются рекурсии, объекты различных классов, и прочее, для чего нет нужды держать их в памяти все время исполнения программы. В C# и Java есть отличные деаллокатор объектов (или же просто — сборщик мусора), который автоматически удаляет объекты, когда они перестают быть нужными. Плагин FireMonkey не позволяет использования «гибкого» размера дисплея устройства, а, как известно, управляются Android много различных моделей от 3.5Inch до 10Inches и более, что абсолютно неприемлемо для разметки форм. KiVy в не зависимости от использования библиотек, тянет за собой тяжелые библиотеки построения интерфейсов, стандартную библиотеку и сам интерпретатор языка Python.

Как IDE был выбран MonoDevelop, имелся выбор между ним и Microsoft Visual , но я склонился к первому за меньшими требованиями к свободному дисковому пространству: 1.2GB максимум против 3.8GB минимум.

<Приложение 1.2>

График, показывающий производительность при расчете массива. Java-C#-C++

Результат

<Приложение 2>

Генерация случайного числа происходит с помощью этой функции GenNum(), которая определяет уровень сложности по количеству кнопок на форме

<Приложение 2.2>

Весит приложение 57,77 MB после установки, установочный APK-файл почти в 2 раза меньше, 23,6 MB

<Приложение 2.1>

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

<Приложение 2.3.5>

Режимы игры «Обучение», «Продвинутый» и «PRO»

<Приложения 2.3.2 – 2.3.4>

Также предусмотрен раздел помощи

<Приложение 2.3.6>

И калькулятор

<Приложение 2.4>

История изменений:

    1.0.0: Единственная интерактивная форма тренажера – нынешний уровень сложности «Легкий» 1.0.1: Добавлены другие уровни сложности, раздел помощи; 1.0.2: Добавлен калькулятор систем счисления, добавляющий возможность перевода чисел между двоичной и десятичной системами счисления 1.0.3: Приложение полностью переведено на русский язык. Сжаты некоторые растровые элементы


Область применения

    Обучение в игровой форме учащихся младших классов и более старших заинтересованных быстрому переводу между системами счисления Тренажер для практики быстрого кодирования Досуг


Перспективы


    Добавить перевод из 16-ричной позиционной системы счисления в двоичную. До FF FF=1111 1111 1111 1111 Внедрить статистический модуль, собирающий и анализирующий игровые достижения игроков, на основе которых будет откалиброван timebar Оптимизировать файлы, чтобы игра была «легче» по используемой ПЗУ(По ОЗУ все, относительно, нормально) Добавить тренировку перевода дробнодесятичных чисел в дробные двоичные Добавить в калькулятор наглядное объяснение-доказательство результата, а также анимировать раздел помощи Выложить в Google Play Store, чтобы пользоваться и обучаться могли все желающие с доступом к сервису дистрибуции и свободными 60MB и версия операционной системы Android моложе 4.3 Jelly Bean

(Для загрузки в настоящий момент – приложение 3)

Заключение

В итоге мной разработан тренажер для обучения и практики в переводе из десятичной в двоичную систему счисления, а также работающий калькулятор.

Вывод

Данная программа может быть широко внедрена для практического использования

Приложение

Приложение 1

Приложение 1.1 – диаграмма рынка

Приложение 1.2 – график производительностей (C# - центральная кривая)

Приложение 2

Приложение 2.1 – объем после установки

Приложение 2.2 – функция GenNum()

Приложение 2.3 – игровой процесс

Приложение 2.3.0 – Меню

Приложение 2.3.1 – Панель паузы

Приложение 2.3.2 – Уровень сложности «Обучение»

Приложение 2.3.3 и 2.3.4 – Уровень сложности «Продвинутый» и Уровень сложности «PRO»

Приложение 2.3.5 – экран поражения

Приложение 2.3.6 – помощь

Приложение 2.4 – калькулятор

Приложение 3

Ссылка на общую папку Google Drive с установочным APK-файлом, презентацией и данным текстом работы:

https://drive. /open? id=0BxLyUSKL7R-hRGt5MzlOUy1OaG8

Сам установочный APK файл(v1.0.3):

https://drive. /open? id=0BxLyUSKL7R-hSFpmVjJBVFJMMTg

Информация по файлу:

MD5: 26d87d7a35e9610ab382fd4a00252f24

SHA256: dc814adaf59e28bc22e9f6f670706f938a5d04d0c1fd4192860fb457c7f4471c

Размер файла: 27574572 bytes

Приложение 4 – Список использованных источников

https://www. itbestsellers. ru/statistics/detail. php? ID=22018 - Доля Android на российском рынке смартфонов в 2012 г. достигла 58% всех продаж в штуках

https:///lenta/main/java-protiv-c-kakoy-yazyk-proizvoditelnee-v-realnyh-proektah - Java против C#: какой язык производительнее в реальных проектах?