# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Мы начинаем серию видеоуроков по созданию алгоритма решения головоломки Судоку. Ваша задача - разобраться с правилами этой игры. найти/распечатать бумажное (!) Судоку. Решить его ручкой или карандашом. Сфоткать решение и приложить к отчёту. Отчёт отправил: 2146. Иван Выполнено за 13 мин. [Показать отчёт] Научился: Осознал, что есть 2-а подхода к решению задач - с точки зрения математика, и с точки зрения программиста. Сложности: --- |
|||||
2 | Сетка для цифр |
1 тест |
|||
На этом уроке мы создадим класс Sudoku, опишем в нём две константы и создадим функцию для отображения сетки для цифр. Отчёт отправил: 2146. Иван Выполнено за 23 мин. [Показать отчёт] Научился: Все здорово. Очень полезно вспомнить курс графоциклы Сложности: Было не сложно |
|||||
3 | Печать цифр в таблице |
|
|||
На этом уроке мы добавим метод для добавления цифр в наш Судоку. Также напишем функцию для отображения цифр в консольном экране. И свяжем их через использование делегата. В конце урока заполним наше поле случайнмыи цифрами. Отчёт отправил: 2146. Иван Выполнено за 44 мин. [Показать отчёт] Научился: Тренировка использования делегатов. Делегат дает возможность использовать функцию из другого класса. Сложности: Все получилось. |
|||||
4 | Проверка правил игры |
1 тест |
|||
На этом уроке мы наконец-таки начнём писать алгоритм. В метод PlaceDigit() мы запрограммируем проверку правил игры. Числа должны быть из верного диапозона, они не должны повторяться в строчке, в столбце и в квадрате. Под занавес мы сгенирируем случайную матрицу по всем правилам судоку. Не факт, что её можно будет решить, и что решение будет единственным. Отчёт отправил: 2146. Иван Выполнено за 6 час. 3 мин. [Показать отчёт] Научился: Спасибо. Очень понравились проверки. Особенно проверка маленьких квадратов! Сложности: Идем дальше |
|||||
5 | Загрузка головоломки с интернета |
1 тест |
|||
На этом уроке мы напишем функцию для загрузки Судоку с интернет-сайта. Через буфер обмена содержимое страницы будет размещено в текстовом файле. Алгоритм будет его анализировать и добавлять в матрицу класса Sudoku. Отчёт отправил: 2146. Иван Выполнено за 34 мин. [Показать отчёт] Научился: не удалось воспользоваться методом предложенным Евгением Витольдовичем. Сложности: Но спасибо Новопашину Владимиру, благодаря которому удалось разрешить эту проблему. Решение увидел в его отчете https://www.videosharp.info/7119/checking/sudoku=910. |
|||||
6 | Идея алгоритма - 81 цикл |
|
|||
На этом уроке мы вручную проработаем алгоритм поиска в глубь с возвращением. Твоя задача - не аналитически решить судоку, а программно, применяя описанный на уроке алгоритм. Отчёт отправил: 2146. Иван Выполнено за 39 мин. [Показать отчёт] Научился: решать судоку бесстрастно. Выбрал легкий судоку , поэтому получилось с первого раза |
|||||
7 | Рекурсивная функция поиска |
1 тест |
|||
На этом уроке мы напишем рекурсивную функцию NextDigit(), которая и будет заниматься поиском решения головоломки. Способы оптимизации алгоритма поиска решения: https://habrahabr.ru/post/173795/ Отчёт отправил: 2146. Иван Выполнено за 1 час. 49 мин. [Показать отчёт] Научился: Использовать рекурсию Сложности: Найти все ошибки |
|||||
8 | Сохранение ответа |
1 тест |
|||
На этом уроке мы напишем функцию для сохранения решения головоломки в текстовый файл.
Отчёт отправил: 2146. Иван Выполнено за 16 мин. [Показать отчёт] Научился: Сохранять в файл. Когда то сам делал сохранение, но уже все подзабылось. Сложности: Спасибо. Все получилось |
|||||
9 | Генерация головоломок |
|
|||
На этом уроке мы напишем алгоритм для формирования Судоку-головоломок, поэкспериментируем с генератором случайных полей. Отчёт отправил: 2146. Иван Выполнено за 2 час. 27 мин. [Показать отчёт] Научился: Пытался анализировать код. Сложности: Что-то с этим уроком закопался. Было ощущение, что вообще ничего не работает. Но потом все-таки нашел, где останавливать программу, чтобы увидеть, что же там программа нашла, или вообще нашла ли?. Была еще проблема, что в файл не записывалось, если не стереть старый файл. С этим пока не стал разбираться, хотя думаю, что это не самая сложная проблема. Можно , наверное , использовать appendText. Спасибо за урок. |
|||||
10 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением этого видеокурса! Запиши и опубликуй видеообзор созданной программы. Напиши, какой курс будешь проходить следующим. Отчёт отправил: 2146. Иван Выполнено за 42 мин. [Показать отчёт] Научился: Находить время и желание. Сложности: Пока не решил за что взяться. Разбегаются глаза.. Спасибо за курс. Забыл сказать на видео, что еще стал яснее себе представил место делегатов в общем смысле программирования. Видеообзор: 0Pe70twIWOQ |
|||||
11 | VIP. Модульное тестирование |
|
|||
На этом уроке мы познакомимся с модульным тестированием. Мы напишем небольшой калькулятор, в который добавим проект для модульного тестирования, и покажем, как это всё работает, как это нужно использовать. Отчёт отправил: 2146. Иван Выполнено за 6 дней 3 час. 15 мин. [Показать отчёт] Научился: Научился создавать тесты. Сложности: Ура! Наконец-то, получилось! Получилось раза с 4-го, а все потому, что в тестах у меня почему-то не паблик стоял, а приват. Поэтому тесты не проходились в test explorer. |
|||||
Итого: 11 видеоуроков |
2 час. 54 мин. 6 тестов |
15 чел. | |||
Финалисты: zhikharevav, Максим, Новопашин Владимир, Максим Лапшинов, Волнухин Владимир, Tekashnik, Александр, Николай Денисов, Иван, no name, Александр, Anatoli, Freud, Татьяна, MaxB . |