# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы начинаем серию видеоуроков по созданию алгоритма решения головоломки Судоку. Ваша задача - разобраться с правилами этой игры. найти/распечатать бумажное (!) Судоку. Решить его ручкой или карандашом. Сфоткать решение и приложить к отчёту. Отчёт отправил: 8275. Tekashnik Выполнено за 47 мин. [Показать отчёт] Научился: Решать судоку Сложности: Решить судоку на сложном уровне Комментарии: Алгоритмы это наше всё, поэтому думается мне что курс будет крутой. Будем посмотреть как говоится |
|||||
2 | Сетка для цифр |
1 тест |
|||
На этом уроке мы создадим класс Sudoku, опишем в нём две константы и создадим функцию для отображения сетки для цифр. Отчёт отправил: 8275. Tekashnik Выполнено за 21 мин. [Показать отчёт] Научился: Делать рамку для судоку Сложности: Придумать, что было самым сложным Комментарии: Сделал не смотря урок, суть такая же. Реализация маленько другая, некоторые действия переставлены местами |
|||||
3 | Печать цифр в таблице |
|
|||
На этом уроке мы добавим метод для добавления цифр в наш Судоку. Также напишем функцию для отображения цифр в консольном экране. И свяжем их через использование делегата. В конце урока заполним наше поле случайнмыи цифрами. Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт] Научился: Заполнять поле цифрами Сложности: Разобраться с делегатами Комментарии: Делегат это ссылка на функции, используется в случае, если искомую функцию нельзя вызвать непосредственно. Немного раскрасил поле, что бы празднечно выглядело. |
|||||
4 | Проверка правил игры |
1 тест |
|||
На этом уроке мы наконец-таки начнём писать алгоритм. В метод PlaceDigit() мы запрограммируем проверку правил игры. Числа должны быть из верного диапозона, они не должны повторяться в строчке, в столбце и в квадрате. Под занавес мы сгенирируем случайную матрицу по всем правилам судоку. Не факт, что её можно будет решить, и что решение будет единственным. Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт] Научился: Добавлять правила судоку Сложности: Найти время Комментарии: Всё красиво работает. Поехали дальше |
|||||
5 | Загрузка головоломки с интернета |
1 тест |
|||
На этом уроке мы напишем функцию для загрузки Судоку с интернет-сайта. Через буфер обмена содержимое страницы будет размещено в текстовом файле. Алгоритм будет его анализировать и добавлять в матрицу класса Sudoku. Отчёт отправил: 8275. Tekashnik Выполнено за 46 мин. [Показать отчёт] Научился: Считывать судоку из файла Сложности: Считывать судоку из файла Комментарии: Элегантное решение для загрузки задач по судоку, мне нравится)) |
|||||
6 | Идея алгоритма - 81 цикл |
|
|||
На этом уроке мы вручную проработаем алгоритм поиска в глубь с возвращением. Твоя задача - не аналитически решить судоку, а программно, применяя описанный на уроке алгоритм. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 39 мин. [Показать отчёт] Научился: Делать рекурсивный алгоритм на пальцах Сложности: Делать рекурсивный алгоритм на пальцах Комментарии: Лучше эту задачу оставить компьютеру |
|||||
7 | Рекурсивная функция поиска |
1 тест |
|||
На этом уроке мы напишем рекурсивную функцию NextDigit(), которая и будет заниматься поиском решения головоломки. Способы оптимизации алгоритма поиска решения: https://habrahabr.ru/post/173795/ Отчёт отправил: 8275. Tekashnik Выполнено за 5 час. 34 мин. [Показать отчёт] Научился: Писать рекурсивный алгоритм Сложности: Ждать когда закончится алгоритм, на самой сложной судоке Комментарии: Так и не дождался когда закончится алгоритм, 64 миллиона итераций прошло, а алгоритм всё уныло выполнялся (где то около 5ти часов), мне это надоело и я заверщил его))) можно посмотреть на втором скриншоте. |
|||||
8 | Сохранение ответа |
1 тест |
|||
На этом уроке мы напишем функцию для сохранения решения головоломки в текстовый файл.
Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт] Научился: Сохранять ответ в файл Сложности: Придумать, что было самым сложным Комментарии: Сохранять было достаточно просто) |
|||||
9 | Генерация головоломок |
|
|||
На этом уроке мы напишем алгоритм для формирования Судоку-головоломок, поэкспериментируем с генератором случайных полей. Отчёт отправил: 8275. Tekashnik Выполнено за 47 мин. [Показать отчёт] Научился: Рамдомно генерировать судоку Сложности: Найти некоторые ошибки Комментарии: Крайне не оптимальный способ, от 35 рандомно установленных чисел уже почти невероятно найти решения, как правильно говорил ЕВ нужно просто генерировать случайные полностью заполненные поля, а затем уже убирать нужное количество цифр. |
|||||
10 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением этого видеокурса! Запиши и опубликуй видеообзор созданной программы. Напиши, какой курс будешь проходить следующим. Отчёт отправил: 8275. Tekashnik Выполнено за 48 мин. [Показать отчёт] Научился: Записывать видео обзор Сложности: Найти время что бы никто не мешал Комментарии: Ночью снилось, что я придумываю алгоритм решения судоку... Это вообще нормально? Курс хороший, рекомендую. Следующий будет шифрование, улитки вперёд!!!! Видеообзор: FyxjrPh6_lM |
|||||
11 | VIP. Модульное тестирование |
|
|||
На этом уроке мы познакомимся с модульным тестированием. Мы напишем небольшой калькулятор, в который добавим проект для модульного тестирования, и покажем, как это всё работает, как это нужно использовать. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 11 мин. [Показать отчёт] Научился: Использовать тестирование с помощью ЮнитТест Сложности: Стыковка ЮнитТеста с проектом Комментарии: Очень полезная вещь, как я раньше без нее кодил... Но ещё большой ворпос кто победит лень или юнит тесты))) |
|||||
Итого: 11 видеоуроков |
2 час. 54 мин. 6 тестов |
15 чел. | |||
Финалисты: zhikharevav, Максим, Новопашин Владимир, Максим Лапшинов, Волнухин Владимир, Tekashnik, Александр, Николай Денисов, Иван, no name, Александр, Anatoli, Freud, Татьяна, MaxB . |