# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы начинаем серию видеоуроков по созданию алгоритма решения головоломки Судоку. Ваша задача - разобраться с правилами этой игры. найти/распечатать бумажное (!) Судоку. Решить его ручкой или карандашом. Сфоткать решение и приложить к отчёту. Отчёт отправил: 24765. Anatoli Выполнено за 35 мин. [Показать отчёт] Научился: Очень, нравиться иногда решить пару судоку, особенно на бумаге. |
|||||
2 | Сетка для цифр |
1 тест |
|||
На этом уроке мы создадим класс Sudoku, опишем в нём две константы и создадим функцию для отображения сетки для цифр. Отчёт отправил: 24765. Anatoli Выполнено за 34 мин. [Показать отчёт] Научился: Много раз мучился с выводом вот таких таблиц, а оказывается можно это сделать проще, хотя я конечно это знал, но вот все дело в привычке. Надо обязательно пройти курс Графоциклы стало интересно. |
|||||
3 | Печать цифр в таблице |
|
|||
На этом уроке мы добавим метод для добавления цифр в наш Судоку. Также напишем функцию для отображения цифр в консольном экране. И свяжем их через использование делегата. В конце урока заполним наше поле случайнмыи цифрами. Отчёт отправил: 24765. Anatoli Выполнено за 49 мин. [Показать отчёт] Научился: Урок интересный работа с делегатами нужное умение. Делегат это метод вызываемый в определенном месте программы, но вызвать можно любую функцию, которая больше соответстыует контексту программы. Это похожие функции, и можно вызвать одну(делегата) из этих функций в нужном месте. |
|||||
4 | Проверка правил игры |
1 тест |
|||
На этом уроке мы наконец-таки начнём писать алгоритм. В метод PlaceDigit() мы запрограммируем проверку правил игры. Числа должны быть из верного диапозона, они не должны повторяться в строчке, в столбце и в квадрате. Под занавес мы сгенирируем случайную матрицу по всем правилам судоку. Не факт, что её можно будет решить, и что решение будет единственным. Отчёт отправил: 24765. Anatoli Выполнено за 29 мин. [Показать отчёт] Научился: Создали правила заполнения таблицы числами. Сложности: Без математики тут сложно, разобраться и самому это реализовать так лаконично. |
|||||
5 | Загрузка головоломки с интернета |
1 тест |
|||
На этом уроке мы напишем функцию для загрузки Судоку с интернет-сайта. Через буфер обмена содержимое страницы будет размещено в текстовом файле. Алгоритм будет его анализировать и добавлять в матрицу класса Sudoku. Отчёт отправил: 24765. Anatoli Выполнено за 11 час. 13 мин. [Показать отчёт] Научился: Пришлось самому считывать с файла, но там проще только по горизонтали надо прочитать. Сложности: Указанный в уроке сайт уже не подошел, пробовал файрфоксе и хроме. |
|||||
6 | Идея алгоритма - 81 цикл |
|
|||
На этом уроке мы вручную проработаем алгоритм поиска в глубь с возвращением. Твоя задача - не аналитически решить судоку, а программно, применяя описанный на уроке алгоритм. Отчёт отправил: 24765. Anatoli Выполнено за 10 час. 20 мин. [Показать отчёт] Научился: Выбрал самый легкий вариант решил, было не обычно решать последовательно, много решал судоку и там другие привычки, но теперь понятнее как булет работать алгоритм. |
|||||
7 | Рекурсивная функция поиска |
1 тест |
|||
На этом уроке мы напишем рекурсивную функцию NextDigit(), которая и будет заниматься поиском решения головоломки. Способы оптимизации алгоритма поиска решения: https://habrahabr.ru/post/173795/ Отчёт отправил: 24765. Anatoli Выполнено за 1 час. 24 мин. [Показать отчёт] Научился: Рекурсия всегда мне с трудом давалась, а тут все так просто и красиво. |
|||||
8 | Сохранение ответа |
1 тест |
|||
На этом уроке мы напишем функцию для сохранения решения головоломки в текстовый файл.
Отчёт отправил: 24765. Anatoli Выполнено за 30 мин. [Показать отчёт] Научился: Показано как сохранять в текстовой файл через стрим. |
|||||
9 | Генерация головоломок |
|
|||
На этом уроке мы напишем алгоритм для формирования Судоку-головоломок, поэкспериментируем с генератором случайных полей. Отчёт отправил: 24765. Anatoli Выполнено за 3 час. 25 мин. [Показать отчёт] Научился: Простое решение, все просто, решает хорошо поставленную задачу. Сложности: Очень долго перебирает решаемый вариант и ждал долго, думал ошибка в коде, потом выбрал для 10-20 цифр поле и пошел быстрее поиск решения. Видеообзор: Ytdfz9fjpPk |
|||||
10 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением этого видеокурса! Запиши и опубликуй видеообзор созданной программы. Напиши, какой курс будешь проходить следующим. Отчёт отправил: 24765. Anatoli Выполнено за 5 мин. [Показать отчёт] Научился: Как-то сам хотел тоже сделать решалку судоку, но вот не хватало витальности, теперь все просто и ясно видиться. Сложности: На уроке где нужно было считать данные с сайта, не получилось выделением всего текста захватить ячейки, так что пришлось искать другой источник данных. Видеообзор: Ytdfz9fjpPk |
|||||
11 | VIP. Модульное тестирование |
|
|||
На этом уроке мы познакомимся с модульным тестированием. Мы напишем небольшой калькулятор, в который добавим проект для модульного тестирования, и покажем, как это всё работает, как это нужно использовать. Отчёт отправил: 24765. Anatoli Выполнено за 4 час. 16 мин. [Показать отчёт] Научился: Замечательный урок, решать через тесты думал сложнее на с#. Сложности: Какой-то глюк, справиться не получилось с этим методом умножения, почему-то тесты не проходят, выдает синтактическую ошибку. У меня закончилась фантазия как исправить ошибку, может кто-то с подобным сталкивался, все запускается, но почему-то какая-то ошибка и только в этом методе умножения. Видеообзор: aXtS6s9NXQM |
|||||
Итого: 11 видеоуроков |
2 час. 54 мин. 6 тестов |
15 чел. | |||
Финалисты: zhikharevav, Максим, Новопашин Владимир, Максим Лапшинов, Волнухин Владимир, Tekashnik, Александр, Николай Денисов, Иван, no name, Александр, Anatoli, Freud, Татьяна, MaxB . |