Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Демо игры / VIP. Устный счёт

  • На этом уроке мы напишем программу для тренировки устного счёта.

    Задание:
    Сделать тренажёр устного счёта по основным арифметическим операциям.
  • Дата отправки отчёта: 5 ноября 2018 г.
  • Задание выполнено: за 11 час. 8 мин.
  • Чему научился: Очень интересный урок, спасибо) с progress_bar ещё не работал, клёвая штука)
  • Что было сложным: Когда начинал делать урок, поставил у TextBox с результатом MultiLine true (не спрашивайте зачем, я сам не знаю). Под дня потом искал почему не работает код )))) но всё таки всё доделал , ошибку исправил)
  • Оценка видео-уроку:
Отчёт от 20105 за Демо игры / VIP. Устный счёт


Отчёт от 20105 за Демо игры / VIP. Устный счёт




Оцени работу

 
Сохранить страницу:

20302. --
Дмитрий
Дмитрий
ответить
→  Макс Тимашков  # Демо игры / VIP. Устный счёт / 2018-11-05 02:03

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


20215. --
Андрей Бебнев
Андрей Бебнев
ответить
→  Макс Тимашков  # Демо игры / VIP. Устный счёт / 2018-11-05 09:17

Хорошая работа. Надо будет тоже организовать нечто подобное. Для детей самое оно


13417. --
Chip
Chip
ответить
→  Макс Тимашков  # Демо игры / VIP. Устный счёт / 2018-11-05 10:41

Если возникает проблема и не знаешь в чем ошибка, то на первых порах можно просто пересмотреть видео и выполнить повторно с нуля урок, но на этот раз более внимательно. Здесь будет двойная польза, первое это то что будешь уже угадывать и понимать что нужно сделать для понятных задач, лучше закрепится в памяти. И вторая польза в том, что увидишь, то, что пропустил при первом просмотре, детали и полезные мелочи.


  • Отчёт оценивали:
    20105Макс Тимашков+1   11019Trira+1   20302Дмитрий0   17947Dmitry Sinitsin+1   18493Evgenii Kudriavtcev+1   16568Игорь Тюлькин+1   16396Денис+1   20329Bega0   3922Александр+1   162Андрей+1   17606Виктор+1   9013Stainlessrat+1   20215Андрей Бебнев+1   791Валерий Жданов+1   13417Chip+1   19525Александр Балбашов+1   14981DimanDOS+1   16218Дмитрий+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: То что высота компонента TextBox зависит только от размера выводимого шрифта.
Трудности: Проблем как таковых по уроку не было, я их сам себе создал, когда решил добавить абстракцию выбранной операции(сложение, вычитание и т.д.) Достаточно долгое время работал над интерфейсом программы.
В уроке понравился способ генерации чисел для операции деления, где a = random.Next(1, 10); b = random.Next(1, 10); first_arg = a * b; second_arg = b; В итоге получаем, что результат деления всегда получается целый. От себя добавил, хм, много чего. Изменил интерфейс, освежил в памяти свои давние знания по GroupBox, RadioButton. Добавил операцию "остаток от деления". Заменил текстовое поле диапазона генерируемых чисел на три RadioButton (уровни сложности). Добавил таймер обратного отсчета, дифференцировал результат сдачи теста по оценкам (учитывая затраченное время на прохождение). Кроме того, при запуске теста "наглым образом" уменьшаю высоту окна, чтобы скрыть настройки и добавить сверху информационные поля (см. на скриншотах). Добавил кнопку отмены теста, поработал с выводом MessageBox при различных результатах работы программы: тест успешно пройден на оценки 5, 4, 3, тест не пройден (по ошибке), тест не пройден (время истекло). В целом, чудненько, работа с интерфейсом затягивает, хочется добавить что-нибудь эдакое) По коду. В принципе, модификаций не очень много. Решил поиграться, выделить операцию в отдельную абстракцию - BinaryFunction. Сделал ее в виде абстрактного класса, от которого наследовал классы Plus, Minus, Mult, Div, Modulo. Для управления всем этим добром, и с учетом необходимости постоянной генерации случайных аргументов функции, добавил "драйвер" - класс BinaryCalculation. Этот класс создает нужный экземпляр класса BinaryFunction в момент нажатия на кнопку "Начать тест" и затем каждый раз обращается за результатом работы функции в момент нажатия пользователем кнопки Enter на поле ввода ответа. Хотел абстрагироваться еще дальше, добавить класс UnaryFunction (например для вычисления факториала), потом TernaryFunction, а потом вообще замахнулся на вычисление сложных, вложенных выражений. Задумался, а зачем? Программа создается с целью проверки устного счета, поэтому остановился на одном классе BinaryFunction. В целом, здорово позанимался, я доволен. Спасибо, Евгений Витольдович)


Научился: использовать progressbox и textbox, и функции к ним прилагающиеся
Трудности: добавлял второй уровень сложности - получилось дофига строчек, долго не мог понять, куда что засунуть(в самом коде), чтобы баги исправить с переходом, чтобы еще одно окно не делать..
все норм)