Курсы для программистов

Формула программиста
основатель — Волосатов Евгений Витольдович

Решение Судоку

Серия видеоуроков по созданию алгоритма решения известной головоломки.

Мы пишем консольное приложение,
которое считывает с файла/интернета поле,
находит все возможные решения заданной головоломки
рекурсивным алгоритмом, по правилам игры Судоку.
Процесс поиска отображается визуально.

Посмотрите сайт, посвящённый этой игре: http://робомозг.рф
Автор сайта - наш формулист 3397. Сергей.


Решение головоломки Судоку.
Генерация полей.

2,000 руб.


Для подписки на пакет необходимо авторизоваться.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:05:08 14 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Решить судоку 
Комментарии: Честно говоря, никогда не любил судоку.. Такая себе задача, в которой нужно больше гадать чем думать. Я, конечно, не знаю спецальных техник по его решению, но пока так 
2 Сетка для цифр 00:16:08 14 чел. ★ 4.9 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Рисовать сетку для судоку 
Сложности: Ничего 
Комментарии: • Стоп, а почему именно такое условие для цикла? По сути у нас получается: (x + 1) * x, что можно преобразовать в: x^2 + x, а учитывая, что x^2 = max, так что получается: max + sqr Как по мне эта формула смотрится лучше =) • И можно же сделать, чтобы значение sqr само считалось в зависимости от max 
3 Печать цифр в таблице 00:17:57 14 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: А делегат вообще что-то ещё может кроме хранения ссылки на функцию с определёнными аргументами? Никаких дополнительных функций, никаких модификаций (например, необязательные аргументы). Вроде в курсе про функциональному программированию немного затрагивали эту тему и там, если я правильно помню, делегаты были немного больше того, что показано, например, в том же уроке из Новых технологий или здесь (хотя, может, я и ошибаюсь). 
4 Проверка правил игры 00:13:23 13 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Проверять, можно ли вставить число 
Сложности: Ничего 
Комментарии: Ещё и по квадратам нужно было проверять?? Я всю жизнь играл неправильно =) 
5 Загрузка головоломки с интернета 00:25:44 12 чел. ★ 4.8 Done
  Отчёт отправил: 9567. Максим Решено за 30 мин. [Показать отчёт]
Научился: Заполнять судоку из файла 
Сложности: Ничего 
Комментарии: Ух, 4 вложенных цикла, неплохая ёлочка получилась =) 
6 Идея алгоритма - 81 цикл 00:11:48 11 чел. ★ 4.8 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Рекурсивному методу решения судоку 
Сложности: Ничего 
Комментарии: Можно было назвать урок "81 вложенный цикл" 
7 Рекурсивная функция поиска 00:25:24 9 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 30 мин. [Показать отчёт]
Научился: Находить решение судоку 
Сложности: Ничего 
Комментарии: • Хорошо, но можно же разделить PlaceDigit на два метода (1 - проверяет правила, 2 - записывает число), и тогда вместо ClearDigit вызывать второй • А почему в списку уроков у этого длительность - 00:00:00 
8 Сохранение ответа 00:07:28 9 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Что-то мне всё больше начинает казаться, что делегаты - не лучшее решение подобных проблем. Лучше было бы подписка на событие. То есть чтобы мы в Prigram.Start написать что-то вроде: ss = new SudokuSolver(); ss.PlaceDigit += PlateDigit; //где ss.PlaceDigit - событие У меня даже где-то был пример, как это сделать 
9 Генерация головоломок 00:15:25 8 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 10 мин. [Показать отчёт]
Научился: Генерировать случайное судоку 
Сложности: Ничего (у меня сразу всё заработало) 
Комментарии: Следующий на очереди - Сокобан, который закончит моё комбо из 5 курсов подряд. Если, конечно, ещё какого-то супер предложения не будет =) (Устал уже немного, но очень хочу его пройти) 
10 ФИНАЛЬНЫЙ УРОК 6 чел. ★ 4.7 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Алгоритму решения судоку 
Сложности: Сложного ничего не было, но было интересно =) 
Комментарии: Интересный получился курс. На нём вы повторите рекурсию, работу с файлами и делекаты, и что самое главное, напишете программу, которая сможет решить абсолютно любое судоку (так что теперь вы сможете скоротать зимние вечера перед камином за чем-нибудь другим). Особо ничего нового на нём вы не узнаете, но это не помешает вам с интересом его проходить. А ещё это отличная практика =) Что касается следующего курса: Это будет Сокобан, который закончит моё комбо из 6 курсов подряд. Если, конечно, не будет ещё какого-то супер предложения =) (Устал уже немного, но очень хочу его пройти) 
11 VIP. Модульное тестирование 00:36:07 5 чел. ★ 5 Done
  Отчёт отправил: 9567. Максим Решено за 20 мин. [Показать отчёт]
Научился: Создавать автоматические тесты 
Сложности: Ничего 
Комментарии: А если один и тот же урок есть в разных курсах, его нужно несколько раз проходить? 
  Итого:   11 видеоуроков общей продолжительностью 2 час. 54 мин. 5 чел. ★ 4.93  
  Финалисты:   zhikharevav,   Максим,   Новопашин Владимир,   Максим Лапшинов,   Волнухин Владимир .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Терпению. Удалось только с n-ного раза записать. Домашние постоянно влазили в обзор.
Трудности: Не выйти из себя
Всё отлично
Смотреть видеозапись: https://youtu.be/_pBQeSv6Gq4
Научился: null
Трудности: null
По поводу будущих курсов написал в прошлом отчёте.
Смотреть видеозапись: https://youtu.be/8sIZMNLjXzU