Учебно-методические материалы для студентов кафедры АСОИУ

Практикум по программированию

Общее задание

Разработка прикладной программы (по вариантам) и комплекта сопроводительной документации.

Общие требования к разработке

Общие требования к документации

Сопроводительная документация на программу оформляется в виде веб-сайта, размещенного в Интернет и представляемого как результат выполнения СРС по дисциплине «Веб-программирование».

Структура сайта и содержание страниц должно соответствовать требованиям к содержанию документации на программное обеспечение по ГОСТ ЕСПД:

Минимальные требования к содержанию:

  1. Введение (краткое описание предметной области для которой разработана программа)
  2. Цель разработки
  3. Обзор аналогов (3-4 подобных программы, информация о разработчике, описание возможностей, преимущества и недостатки)
  4. Постановка задачи и требования, предъявляемые к программе
  5. Описание алгоритма работы программы (текстовое и графическое (блок-схемы на уровне структурных компонентов — обязательно))
  6. Выбор и обоснование выбора средства разработки, исходный код программы
  7. Тестирование программы (описание методики тестирования, набор тестовых данных и результаты выполнения)
  8. Руководство по установке
  9. Руководство пользователя
  10. Руководство администратора (если требуется)

Оформление сайта и дополнительные требования — в соответствии с заданием на СРС по веб-программированию.

Условия принятия работы

  1. Программа должна выполняться как минимум под управлением MS Windows и GNU/Linux.
  2. Программа и ее исходный код должны быть доступны для скачивания с официального сайта (см. «Общие требования к документации»)
  3. Сайт программы должен быть размещен в Интернет и проиндексирован в одной или более поисковых системах по меньшей мере на 40%.

Варианты заданий

Электронные часы с многоголосным будильником

Будильник должен отслеживать несколько событий, для каждого — свой сигнал. События можно задавать как однократные (пример: «10:00, сегодня, Позвонить в отдел кадров»), так и периодические (пример: «13:00, пнд-птн, Обеденный перерыв»).

Игра «Пятнадцать»

В поле 4х4 находятся 15 фишек с числами от 1 до 15. Есть одна пустая ячейка. В начале игры фишки перемешаны. Задача игрока состоит в том, чтобы перемещая фишки через пустое поле, выстроить их в правильном порядке. Управление — клавишами со стрелками.

«Собери картинку»

Аналог игры «Пятнадцать», в которой игрок будет перемещать не фишки с цифрами, а фрагменты картинки.

Паззлы

Картинка размером 600х400px разделена на заданное количество частей. Фрагменты картинки нужно перемещать мышью в игровое поле, собирая из них целую картинку. 3 уровня сложности в зависимости от количества фрагментов (24, 48, 96).

Тренажер внимания и реакции

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

Игра «Парные картинки»

Игровое поле разделено на клетки, за каждой из которых скрыта картинка (настраиваемый параметр). Картинки — парные, т. е. на игровом поле есть две клетки, в которых находятся одинаковые картинки. В начале игры все клетки "закрыты". Щелчок мышью «открывает» клетку, в клетке появляется картинка. Теперь надо найти клетку, в которой находится такая же картинка, как и в открытой клетке. Щелчок по другой клетке открывает вторую картинку. Если картинки в открытых клетках одинаковые, то эти клетки «исчезают». Если разные — то клетки остаются открытыми. Очередной щелчок закрывает открытые клетки и открывает следующую. Следует обратить внимание, что ОБЕ открытые клетки ЗАКРЫВАЮТСЯ даже в том случае, если новая открытая картинка такая же, как и одна из двух ранее открытых. Игра заканчивается, когда игрок откроет («найдет») все пары картинок.

Оболочка для создания тестов в формате QuizML

Программа создания и редактирования XML-файлов в формате QuizML (Quiz Markup Language) должна быть представлена в виде пошагового мастера тестов в соответствии со спецификацией QuizML. Возможности: отображение списка ранее созданных тестов, создание нового, добавление и правка имеющегося файла теста, откат изменений, автосохранение.

Оболочка для проведения тестов в формате QuizM

Программа должна запросить имя пользователя, потом последовательно считывать вопросы из опросника в формате QuizML, фиксировать ответы пользователя и формировать XML-файл с результатами выполнения теста этим пользователем.

Программа «Генератор стихов»

Имеется, к примеру, 4 текстовых файла с рифмами. В первом файле — подлежащие (Кто? Что?), во втором — обстоятельства места (Где?), в третьем — обстоятельства времени (Когда?), в четвертом — сказуемые (Что делал?). Программа должна автоматически, по заданной схеме (например такой: кто — когда — что делал) выбирать из этих файлов слова и «писать стихи»

Программа «Угадай слово»

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

Флип-флоп

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

Дартс

Игра с компьютером по правилам «501», «Bull-eye» или «Big Round» (на выбор). Таблица рекордов. Режим тренировки (игра без соперника). Управление прицелом — клавиши со стрелками, сила броска — клавиши PageUp и PageDown.

501
Цель игры: по очереди игроки кидают по 3 дротика, списывая набранные очки. Выигрывает тот, кто первый дойдёт от 501 до 0.
Правило подсчёта очков: Считаются попадания во все сектора, также сектора удвоения и утроения (при попадании в сектор утроения очки сектора умножаем на 3). Очки, набранные за 1 подход (3 дротика), суммируются и вычитаются из суммы очков после предыдущего подхода.
Правило окончания: последний бросок должен попасть в удвоение соответствующего сектора (например, если осталось 40 очков, то нужно попасть в удвоение сектора «20», а если осталось 32 очка, то нужно попасть в удвоение сектора «16»).
Правило перебора: Если игрок при последнем подходе набрал больше очков, чем нужно, то этот подход не засчитывается. Например, если у игрока осталось 7 очков, а он попал в сектор «16», то при следующем подходе этот игрок опять начинает с 7 очков.
Bull-eye
Цель игры: первым набрать оговоренное перед игрой количество очков, например, 500. Засчитываются попадания только в «bull-eye» («бычий глаз» — центр мишени) и зелёное кольцо.
Правило подсчёта очков: булл (красное кольцо) — 50 очков, а зелёное кольцо — 25 очков.
Big Round (Большой раунд)
Цель игры: набрать как можно больше очков, кидая по три дротика поочерёдно в каждый сектор от «1» до «20» и в центр.
Правило подсчёта очков: Количество попаданий в сектор умножается на номер этого сектора. Например, если, кидая в сектор 2, попали один раз в утроение и один раз в сектор, то очки, набранные на этом секторе:
(3 + 1) * 2 = 8.
Очки, набранные на каждом из секторов, суммируются и выводится конечный результат.

Морской бой

Реализация игры против компьютера по классическим правилам. Таймер. Рейтинг игроков (мин. затраченное время на победу).

Калькулятор биоритмов

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

Менеджеры закачек

Фронт-енд к менеджеру закачек

Графическая оболочка для одного из консольных менеджеров закачки (curl, wget, axel, aria2 и т.п.). Через приложение должны быть доступны все функции выбранного даунлодера. Дефолтные настройки должны считываться из конфигурационного файла.

Обучающая программа «Таблица умножения»

Программа для изучения таблицы умножения. По таймеру выводится пример на умножение или деление двух чисел. Обучаемый должен ввести ответ на этот пример. Два режима работы: обучение (количество примеров и время не ограничено) и контроль (заданное время и количество примеров). Возможность указания типа заданий: только на умножение, только на деление, оба вида. Возможность выбора фрагмента таблицы (например, только умножение на 4, или, другой пример, задания на деление чисел от 1 до 6). Сохранение результатов в файл (формат CSV или любой другой текстовый, с разделителями): дата, тип задания, количество заданий, отведенное время, количество правильных ответов, количество примеров без ответа(по истечении таймера), %правильности выполнения, общее затраченное время, среднее время на решение одного примера.

Обучающая программа для запоминания иностранных (напр., англ.) слов

На экран выводятся два списка по 10 (15 или 20) русских и иностранных слов. Пользователь выделяет пары слов, если это оригинал и перевод, слова исчезают, а пользователь получает 1 балл. Когда все слова выбраны, они заменяются новыми. Два режима работы: обучение (без ограничения времени и количества повторов) и контроль (с ограничением по времени и заданным количеством слов). Сохранение результатов в html-файл: количество слов, затраченное время, количество правильных и неправильных ответов, % ошибок, среднее время на один ответ.

Дополнительно

CC-BY-CA Анатольев А.Г., 11.01.2013