2.64M
Категория: ПрограммированиеПрограммирование

Разработка telegram-бота для тестирования знаний по квадратам чисел. Введение

1.

РАЗРАБОТКА TELEGRAM-БОТА
ДЛЯ ТЕСТИРОВАНИЯ ЗНАНИЙ
ПО КВАДРАТАМ ЧИСЕЛ
Бесогонов Данила Сергеевич

2.

ВВЕДЕНИЕ
В современном мире цифровые технологии находят широкое
применение в образовании. Одним из эффективных методов проверки
знаний является использование чат-ботов. Telegram-бот может стать
удобным инструментом для тестирования и самопроверки знаний по
математике. Данный проект посвящен разработке Telegram-бота для
проверки знаний учеников в области квадратов чисел с использованием
фреймворка aiogram.
Проект актуален, так как позволяет автоматизировать процесс
тестирования, что снижает нагрузку на учителя и дает ученикам
возможность оперативно получать обратную связь. В работе
рассматриваются основные этапы разработки бота, анализируются
используемые технологии и приводится программный код.

3.

ЦЕЛЬ И ЗАДАЧИ
Цель проекта – создать Telegram-бота, тестирующего знания
пользователей по квадратам чисел.
Задачи проекта:
Анализ существующих методов тестирования в Telegram-ботах;
Изучение библиотеки aiogram и её возможностей;
Разработка структуры бота и программной логики;
Реализация функционала тестирования и проверки ответов;
Тестирование бота и исправление возможных ошибок;
Оформление проекта и разработка документации.

4.

ПЛАН ВЫПОЛНЕНИЯ ПРОЕКТА
1.
Изучение Telegram API и библиотеки aiogram.
2.
Разработка структуры бота и определение функционала.
3.
Написание программного кода.
4.
Тестирование и отладка бота.
5.
Подготовка проекта и презентации.

5.

АНАЛИЗ АНАЛОГИЧНЫХ РЕШЕНИЙ
1.
Сайт “onlinetestpad.com”
Плюсы: Доступен с любого устройства,
предлагает разные математические темы.
Минусы: Тестовая форма опроса, нужно
выбирать варианты ответа, а не вписывать
самому
2. Сайт “MathTrainer”
Плюсы: Интерактивные упражнения,
подсказки и объяснения ошибок.
Минусы: Долгая загрузка страниц, нет
автоматического учета времени ответа,
тестовая форма опроса

6.

ПОЧЕМУ TELEGRAM-БОТ ЛУЧШЕ?
Создание Telegram-бота решает несколько проблем:
Простота использования: не нужно заходить на сайт, достаточно открыть мессенджер.
Автоматическое тестирование с учетом времени ответа.
Гибкость: можно легко добавлять новые вопросы и менять параметры тестирования.
Доступность на мобильных устройствах без необходимости открывать браузер.
Таким образом, Telegram-бот представляет собой удобную и
современную альтернативу сайтам для тестирования знаний по
квадратам чисел.

7.

МЕТОДИКА ПРОВЕДЕНИЯ
РАБОТЫ
Для реализации проекта использовалась методика пошаговой разработки, включающая:
1. Анализ существующих решений по созданию Telegram-ботов – изучение подходов к реализации
тестирующих систем с использованием Python и aiogram.
2. Определение требований к функционалу – бот должен проверять знания пользователей по квадратам чисел,
учитывать время ответа, выставлять итоговую оценку.
3. Разработка алгоритма работы бота – бот регистрирует пользователя, задает вопросы, фиксирует время
ответа, проверяет правильность и ведет учет результатов.
4. Программирование на языке Python с использованием aiogram – реализация бота с использованием
состояний, обработкой команд и ответов пользователя.
5. Тестирование работы бота с разными пользователями – проверка корректности работы функционала и
учета времени.

8.

ФУНКЦИОНАЛЬНЫЕ
ВОЗМОЖНОСТИ БОТА
• 1. Обучающая функция
Бот помогает пользователю изучить квадраты чисел, задавая вопросы в формате:
"Сколько будет 12²?"
Пользователь отвечает, а бот сразу сообщает, правильно или нет. Это позволяет пользователю запомнить правильные ответы в
процессе тестирования.
• 2. Контролирующая функция
Бот фиксирует, насколько быстро и правильно пользователь отвечает на вопросы. По итогам тестирования он выставляет "оценку"
на основе количества правильных ответов. Если время истекло, бот сообщает, что ответ не засчитан. Это мотивирует пользователя
отвечать быстрее и точнее.
• 3. Мотивационная функция
После завершения теста бот выдает оценку, стимулируя пользователя улучшать свои знания. Если результат слабый, бот
подсказывает, что нужно тренироваться.

9.

ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К
ФУНКЦИОНАЛУ
На основе анализа были сформулированы основные функциональные
требования:
бот должен запрашивать у пользователя ввод фамилии и класса,
задавать вопросы в формате «Сколько будет n²?»,
учитывать правильность и скорость ответа,
выдавать итоговую оценку.
Для реализации данных функций использовался язык программирования
Python и библиотека aiogram, позволяющая разрабатывать асинхронных
Telegram-ботов.

10.

РАЗРАБОТКА АЛГОРИТМА
РАБОТЫ БОТА
Основой проекта стал алгоритм, включающий следующие этапы:
1.
Регистрация пользователя и сохранение его данных.
2.
Последовательная генерация вопросов с учетом случайного
выбора чисел.
3.
Фиксация времени на ответ.
4.
Автоматическая проверка правильности.
5.
Завершение теста и выставление итоговой оценки.
Для реализации алгоритма была использована концепция конечных
автоматов (FSM - Finite State Machine), обеспечивающая управление
состояниями пользователя во время тестирования.

11.

ПРОГРАММИРОВАНИЕ И
РЕАЛИЗАЦИЯ
Разработка Telegram-бота велась на языке программирования Python с
использованием aiogram – асинхронной библиотеки для работы с
Telegram API. Основные компоненты кода обеспечивают взаимодействие
бота с пользователем, управление состояниями, обработку команд,
проверку ответов и выставление итоговой оценки.

12.

ИМПОРТ БИБЛИОТЕК

13.

ИНИЦИАЛИЗАЦИЯ БОТА И ХРАНИЛИЩА

14.

ОПРЕДЕЛЕНИЕ СОСТОЯНИЙ
ДЛЯ ТЕСТА

15.

ХРАНЕНИЕ ДАННЫХ
ПОЛЬЗОВАТЕЛЕЙ

16.

ОБРАБОТЧИК КОМАНДЫ /START

17.

ОБРАБОТЧИК ВВОДА ФАМИЛИИ
И КЛАССА

18.

НАЧАЛО ТЕСТА

19.

ФУНКЦИЯ ОБРАТНОГО ОТСЧЕТА

20.

ФУНКЦИЯ ОТПРАВКИ ВОПРОСА

21.

ОБРАБОТЧИК ОТВЕТОВ

22.

ЗАВЕРШЕНИЕ ТЕСТА

23.

ТЕСТИРОВАНИЕ РАБОТЫ БОТА
Завершающим этапом разработки стало тестирование, которое
проводилось с участием нескольких пользователей. В ходе тестирования
проверялись:
корректность регистрации пользователей,
точность определения правильных и неправильных ответов,
работа системы ограничения времени,
корректность выставления итоговой оценки.
Тестирование подтвердило работоспособность бота и соответствие
заявленным требованиям.

24.

ВЫВОДЫ
В ходе выполнения проекта был разработан Telegram-бот, который
позволяет тестировать знания пользователей по квадратам чисел. Бот
предоставляет возможность пользователю проходить тестирование в
интерактивном режиме, оценивает результаты и выдает итоговый балл.
Использование aiogram позволило создать эффективный и удобный
инструмент для образовательных целей. Дальнейшие перспективы
развития проекта включают добавление других математических тем и
усовершенствование интерфейса.

25.

СПИСОК ЛИТЕРАТУРЫ
1.
Официальная документация aiogram: https://docs.aiogram.dev/
2.
Telegram API: https://core.telegram.org/bots
3.
Поляков “Информатика 10 класс Базовый и углубленный уровни”
4.
Учебник Яндекс Лицея
5.
Шилдт Г. "Язык программирования Python". 2021 г.

26.

СПАСИБО ЗА ВНИМАНИЕ!
English     Русский Правила