Чему научился:
Записать видео с голосом не позволяют семейные обстоятельства, поэтому выложу короткий видеоролик без звука с демонстрацией программы "Нанософт: Прохождение теста". А уже здесь, в тексте, объясню, что и зачем.
Добрый день уважаемые коллеги. Зовут меня Андрей. 38 лет. Работаю системным администратором. Поэтому, с программированием знаком. В процедурном стиле эпизодически по работе пишу небольшие(до пары сотен строк кода) консольные скрипты для автоматизации рутинных задач. Первую свою программу написал лет в 8 на языке Basic(эпоха ZX Spectrum ... load "" .... ) На проект videosharp.info наткнулся случайно в интернете. Заинтересовала система обучения, представляемая автором. Теорию можно(и нужно) и по книгам изучать, а вот практические задачи и видео - это и интересно и тренирует тебя с другой стороны. Читая про велосипеды, не научишься на них ездить. Чтобы понять устройство велосипеда нужно собрать парочку(тысяч) своих. На вебинары пока не попал. Интересны дальнейшие планы по развитию ресурса, так как собираюсь остаться здесь надолго. А может и детей своих заинтересую потом. Ну а видеокурсы буду проходить в порядке возрастания их сложности.
Функции, на данный момент реализованные в программе: 1.Вопросы при запуске парсятся из файла json. 2. Количество вопросов и вариантов ответа на любой из вопросов заранее неизвестно. 3. RadioButton динамически создаются. Их количество зависит от количества вариантов ответов в текущем вопросе. 4. Вопросы каждый раз перемешиваются. 5. Варианты ответов каждый раз перемешиваются.
Теперь остановимся на некоторых пунктах подробнее.
1. Структуру json файла можно увидеть на видео. Зачем был выбран такой вариант представления данных? В первую очередь это было сделано для того, чтобы упростить дальнейшее развитие программы. Ведь вопросы можно записывать в БД,читать оттуда. Отображать не только в программе, но и на сайте, в мобильном приложении итп. Формат Json для этого отлично подходит. При развитии приложения не придется уже существенно менять логику обработки данных. Лишь способ их получения\отображения.
4 5 Перемешивание вопросов и вариантов ответов реализовано следующим образом: Метод ShuffleNumbers принимает на вход массив целых чисел, перемешивает его, а затем возвращает преобразованным в структуру данных стек. Длина этого стека зависит от того, что мы перемешиваем, вопросы или варианты ответов. При показе текущего вопроса\варианта ответа, мы просто снимаем его номер со стека.
Всего решённых задач: 43 Всего выполнено уроков: 22 Состою в клубе формулистов с 15 ноября. Если отчет будет принят без записи голоса на видео, то данный курс я прошел за 8 дней. А значит готов к получению 1024 байтов. :)
Научился: Повторение мать учения.
Узнал как переопределить строку new string('#',1000); Трудности: сложно решать консольные задачи с неоднозначной постановкой вопросов
невозможно разработать правильный алгоритм