Обучение c# видеоуроки

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

Отзывы о вебинарах комбинаторики




Комбинаторика

Практическое знакомство с фундаментальными аспектами теории алгоритмов: рекурсия, комбинаторика, динамическое программирование, работа с графами; разбор нескольких задач по каждой теме. Рисование фракталов.

Объём: 22 видеоурока
Темы: Рекурсия, комбинаторика,
динамическое программирование, фракталы.
Срок: 30 дней.


Хочу купить!

Купить в рассрочку за мегахеши

Цена: 2000 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Рекурсия. Вступление 167 чел. ★ 4.7 Done
 

«Человеку свойственна итерация,
рекурсия - божественна».


Мы начнём наш курс с такой интересной и трепетной темы, как РЕКУРСИЯ.
Вокруг рекурсии ходит множество толков, загадок, непоняток и заблуждений.
Сегодня мы один раз и навсегда, просто и понятно выясним, что такое рекурсия и как её понять.

Задание:
Дать определение рекурсии своими словами.
Найти красивую и достойную картинку на тему рекурсии.

Видео на этом уроке нет.
Отчёт отправил: 10558. Иван Воронин Выполнено за 7 мин. [Показать отчёт]
Научился: повторение мать учения =) 
Сложности: найти "интересные" картинки 
Комментарии: рекурсия это когда функция в какойто момент может обратиться к самой себе, эдакая матрёшка при этом размер этой функции-матрёшки зависит от её самой 
2 Рекурсия. Главный секрет 00:31:52 98 чел. ★ 4.9 Done
  На вебинаре рассмотрели несколько примеров по созданию рекурсивных алгоритмов.
Рассказал основной секрет, как понимать рекурсию.

Задание:
Нарисовать кривую Гильберта на листе бумаги.
Отчёт отправил: 10558. Иван Воронин Выполнено за 9 мин. [Показать отчёт]
Научился: Кривой Гильберта 
Сложности: Вспомнить как чертить на бумаге, а не на экране =) 
Комментарии: Очень познавательно, спасибо 
3 Рекурсия. Заливка области 00:47:23 91 чел. ★ 5 Done
  Пишем алгоритм заливки, как в программе Паинт.
Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 17 мин. [Показать отчёт]
Научился: рекурсии 
Сложности: ничего 
Комментарии: решил добавить перетасовку последовательности проверки пути при каждой рекурсии движения, количество запросов в целом не изменилось, но само по себе движение стало хаотично аля Броуновское =) 
Видеообзор: https://youtu.be/YSGs2wLwpAQ
4 Рекурсия. Факториал 00:04:35 58 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

Задание:
Решить задачу «Факториал».
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: вычислению факториала при помощи рекурсии 
Сложности: ничего 
Комментарии: коротко и ясно, спасибо 
5 Рекурсия. Числа Фибоначчи 00:03:46 54 чел. ★ 5 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

Задание:
Решить задачу «Числа Фибоначчи».
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: вычислять Число Фибоначчи при помощи рекурсии 
Сложности: ничего 
Комментарии: нагляднее показано использование рекурсии, спасибо 
6 Рекурсия. Общий делитель 00:04:08 54 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

Задание:
Решить задачу «Общий делитель».
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: нахождению наибольшего общего делителя двух чисел при помощи рекурсии 
Сложности: ничего 
Комментарии: очень интересный урок, спасибо з.ы. каждый урок всё лучше и лучше показывает смысл рекурсии 
7 Рекурсия. Обратный отсчёт 00:05:52 53 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

Задание:
Решить задачу «Обратный отсчёт».
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: рекурсии ввода данных 
Сложности: ничего 
Комментарии: очень похоже на алгоритм в уроке заливки, спасибо, позновательно 
8 Рекурсия. Фракталы. Спираль 00:25:42 67 чел. ★ 5 Done
  На этом уроке мы сначала сделаем заготовку
для рисования линий на форме, а потом
нарисуем спираль используя рекурсию.
Потом мы её немного изменим,
чтобы наша спираль стала
настоящим фракталом.
Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт]
Научился: фракталам в рекурсии 
Сложности: ничего 
Комментарии: очень интересный урок, можно вечно эксперименты проводить, напомнило 3Д игры на спектруме =) хотя там линий было поменьше 
9 Рекурсия. Фракталы. Треугольник Серпинского 00:23:41 52 чел. ★ 5 Done
  На этом уроке мы будем рисовать треугольник Серпинского.
Нам опять поможет рекурсия, которая будет "тройной",
потому что на каждом следующем шаге мы
будем рисовать три новых треугольника.

Отчёт отправил: 10558. Иван Воронин Выполнено за 50 мин. [Показать отчёт]
Научился: рисовать Треугольник Серпинского рекурсивным методом 
Сложности: ничего 
Комментарии: интересный урок, спасибо, изучил оба метода генерации Треугольника Серпинского, как обычный, но он перерисовывает повторно линии, так и перевёртыша, который понравился больше, только базовый треугольник нарисовать надо, так сказать точку отсчёта =) 
10 Рекурсия. Фракталы. Кривая Гильберта 00:35:18 40 чел. ★ 5 Done
  На этом уроке мы нарисуем кривую Гильберта.
Да-да, ту самую, которую ты рисовал
на листике в начале курса Комбинаторика.
Мы здесь познакомимся с косвенной рекурсией,
это когда несколько функций вызывают друг друга.

Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 14 мин. [Показать отчёт]
Научился: рисовать Кривую Гильберта при помощи косвенной рекурсии 
Сложности: ничего 
Комментарии: чтобы была красивая картинка, решил симметрично в каждой из 4 функций увеличить шаг по середине в 2 раза, что вышло, видно на 2 скриншоте =) 
11 Комбинаторика. Счастливые билеты 6 00:02:33 49 чел. ★ 4.9 Done
  На этом уроке мы рассмотрим самый простой
способ решения комбинаторных задач,
с использованием вложенных циклов.

Задание
Решить задачу «Счастливые билеты»
Отчёт отправил: 10558. Иван Воронин Выполнено за 8 мин. [Показать отчёт]
Научился: оптимизации алгоритмов сравнения со вложенными циклами 
Сложности: ничего 
Комментарии: оптимизированный вариант выглядит не очевидно, ощущение, что в этом случае просто совпадение по итоговому количеству, для проверки был добавлен параллельный вывод счастливых чисел и стало всё ясно, мысленно всё ещё перебирались единицы, а на деле перебираются максимум десятки, а единица уже как остаток, который если в пределах 0..9 то является верным, логика это сила =) 
12 Комбинаторика. Счастливые билеты N 00:40:51 64 чел. ★ 5 Done
  На этом уроке мы рассмотрим
два основных способа решения комбинаторных задач:
Первый способ - когда известно количество объектов - вложенные циклы.
Второй способ - любое количество объектов - использование рекурсии.

Задание:
Решить задачу «Счастливые билеты N».
Скачать книжку для чтения по комбинаторике:
Как решать комбинаторные задачи.
Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 40 мин. [Показать отчёт]
Научился: поиску более эффективного алгоритма для уже созданного ранее 
Сложности: найти идеальный алгоритм 
Комментарии: нашёл, но уже после того, как выполнил задание в консоли робота Шарпа, очень интересный урок и не менее интересный курс, скачал книжку, прочитал, надо будет найти полное издание на досуге 
13 Комбинаторика. 4 x 4. Ладья x Ферзь 00:26:01 58 чел. ★ 5 Done
  На этом уроке мы рассмотрим две шахматные задачи,
про расстановку ладьей и ферзей на доске, чтобы они не рубили друг друга.
Задачи решаются первым способом - перебор вариантов без использования рекурсии.

Задание:
Решить задачу «Четыре Ладьи».
Решить задачу «Четыре Ферзя».

Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 14 мин. [Показать отчёт]
Научился: поиску комбинаций расстановки фигур на доске так, чтобы они не били друг-друга 
Сложности: ничего 
Комментарии: интересные уроки, пригодится в процессе доработки шахматной эпопеи =) 
14 Комбинаторика. Много ферзей. Демонстрация 00:47:45 52 чел. ★ 5 Done
  Теперь составим программу для расстановки N ферзей на шахматной доске N x N.
Для решения этой задачи нам потребуется рекурсия.
А чтобы понять, как она работает -
сделаем визуальную демонстрацию процесса работы алгоритма.


Отчёт отправил: 10558. Иван Воронин Выполнено за 3 час. 45 мин. [Показать отчёт]
Научился: визуализация алгорита в консоли 
Сложности: ничего 
Комментарии: отличный урок, пришлось потратить несколько часов, но воссоздал алгоритм, подробнее на приложенном видео 
Видеообзор: https://youtu.be/-2TtVhX2vsU
15 Комбинаторика. Сложение букв 00:36:25 54 чел. ★ 5 Done
  Существует серия головоломок на математическое выражение из букв, например:
ШРАМ * Ы = ШРАМЫ
БУЛОК + БЫЛО = МНОГО
Как правило в этих примерах каждой букве соответствует одна цифра.
Одинаковым буквам одинаковые цифры, разным буквам - разные цифры.
Необходимо решить эту головоломку, то есть разгадать, какой был пример.

Для решения этих задач комбинаторика так и напрашивается.
Первую задачу мы решим первым способом, через вложенные циклы.
Вторую задачу вторым способом, через рекурсию.


Отчёт отправил: 10558. Иван Воронин Выполнено за 50 мин. [Показать отчёт]
Научился: работать с кириллистическими переменными 
Сложности: ничего 
Комментарии: кириллистические переменные как-то не привычно выглядят, да и переключаться между раскладками постоянно не удобно, сделали бы уже полностью кириллистические всё абсолютно, в 1С тавно такая поддержка, на любом языке коди, какой нравится больше, а по теме, очень интересные уроки, повторение мать учения =) 
16 Комбинаторика. Математические операции 00:22:34 50 чел. ★ 5 Done
  Продолжаем комбинаторную практику.
Дан ряд цифр и одно число, например:
1 2 3 4 5 6 7 8 и 100.
Расставить между цифрами знаки
"пробел", "умножить", "плюс" и "минус"
таким образом, чтобы получилось заданное число.

Отчёт отправил: 10558. Иван Воронин Выполнено за 6 час. 30 мин. [Показать отчёт]
Научился: вспомнил рисование блок-схем алгоритмов, вычисление формул записанных в строчку 
Сложности: ничего 
Комментарии: отличный урок, 9 версию блок-схемы прикрепил к работе, думал перерисовать её цветными карандашами, чтобы выделить каждую переменную своим цветом, но потом подумал, так хардкорнее =) спасибо за замечательный урок, немного модифицировал код 
17 Полуфинальный урок. Ответы на вопросы 46 чел. ★ 4.9 Done
  Ты уже практически закончил курс «Комбинаторика».
Пожалуйста, ответь на несколько вопросов.
Эти ответы пригодятся тебе при записи видеоотзыва.
(видео в этом уроке нет)
Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт]
Научился: ничему новому =) 
Сложности: приложить фото =) 
Комментарии: 1 - все алгоритмы были интересные, но особенно: Заливка области, Спираль, Треугольник Серпинского, Кривая Гильберта, Счастливые билеты N, Много ферзей, Математические операции 2 - да, очень интересный курс, комбинированные задания заставили потратить не мало времени, было интересно 3 - замечаний нет, а вот пожелание: "удачи проекту, продолжайте в том же духе, отличный подход к формированию заданий" 4 - этот курс добавил новых знаний, а это самое ценное! 5 - зовут меня Воронин Иван Анатольевич, фото прилагается 
18 Динамика. Поле дураков 00:18:40 52 чел. ★ 5 Done
  Вступление в тему "Динамическое программирование".
Решение олимпиадной задачи "Поле дураков".
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: поиску оптимального пути при помощи динамического программирования 
Сложности: ничего 
Комментарии: интересный урок, на курсе Бинарная жизнь было похожее в игре Жизнь =) 
19 Динамика. Счастливые билеты 20 00:58:04 46 чел. ★ 5 Done
  Решаем уже знакомую задачу новым способом.
Начальные данные: число N от 1 до 10.
Вывод результата: количество 2N-значных счастливых билетов.
Работает - моментально!

Рекомендую ознакомиться с публикациями на эту же тему:
http://www.sql.ru/forum/932580/posobie-dlya-studentov-i-shkolnikov?mid=15179128#15179128
https://goo.gl/RyNCXH


Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: оптимизации вычислений при помощи динамического программирования 
Сложности: ничего 
Комментарии: отличное завершение данное задачи, при замене long на ulong можно вычислить 22-значные билеты, вот и кончился лимит в 64 бит... когда-то казалось что 64 бит непреодолимая цифра, никогда не закончится, но не для таких задач =) з.ы. ждём 128 битную ось =) ну или хотя-бы 128 битную поддержку переменных (хотя можно самим реализовать подобное, когда-то мы таким эмитированием баловались, давно это было...) 
20 Динамика. Выход из Лабиринта 00:59:02 44 чел. ★ 5 Done
  Мы рассмотрим наиболее популярный, интересный и полезный алгоритм теории графов:
Поиск кратчайшего пути в графе. В основе идеи лежит принцип динамического программирования.

В качестве графа у нас будет Лабиринт, мы будем в нём искать кратчайший путь из одной клетки в другую.

Прошу перед уроком ознакомиться со следующими материалами:
1. Очередь в C#.
2. Поиск в ширину в графе.
Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 40 мин. [Показать отчёт]
Научился: поиску в ширину и работе с очередями 
Сложности: ничего 
Комментарии: отличный урок, конечно же сразу вспомнился урок по заливке области, но тут движение во все стороны намного больше похоже на растекании жидкости, спасибо и за урок работы с очередями, очень полезный, приходилось когда-то реализовывать аналогичное с добавлением в список и забирать первый, пока есть записи, а тут встроенная функция имеется для данных целей, отлично =) 
21 ФИНАЛЬНЫЙ УРОК 00:23:23 31 чел. ★ 4.9 Done
  Задание
Записать видео обзор твоих лучших программ этого курса.

Отчёт отправил: 10558. Иван Воронин Выполнено за 11 час. 30 мин. [Показать отчёт]
Научился: ничему новому 
Сложности: найти время 
Комментарии: подробнее в видео 
Видеообзор: https://www.youtube.com/watch?v=W8NnZHxfKCk
22 VIP. Простые числа. Оптимизация алгоритма 01:19:28 37 чел. ★ 5 Done
  Пишем функцию для поиска простых чисел и
поэтапно оптимизируем её в двух направлениях.
Отчёт отправил: 10558. Иван Воронин Выполнено за 3 час. 30 мин. [Показать отчёт]
Научился: делегатам и реализации сравнения работы функций 
Сложности: ничего 
Комментарии: очень интересный урок, много полезного узнал, спасибо огромное =) 
  Итого:   22 видеоурока общей продолжительностью 9 час. 57 мин. 23 чел. ★ 4.96  
  Финалисты:   Елена,   alexmail19Q,   Максим Лапшинов,   Андрей Поляков,   Vera,   Иван,   Артём,   Tekashnik,   Михаил Ермишин,   Николай,   Alcatraz,   Den Andreevich,   Дмитрий,   Иван Воронин,   Алексей В.,   Новопашин Владимир,   Сергей Зулкарнаев,   Алексей Малышев,   Александр,   Sergio,   Сергей Стефаненко,   Денис,   chokayes .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Трудности: Сделать видео обзор
мне не нравится делать видео обзоры, сделал какой не какой обзор и воздуха не хватает и путаюсь еще я с обзором и лезят ко мне когда я за компом ужас :-)


Научился: Познакомился с динамикой и комбинаторикой (надо больше работать над ними) Стал использовать рекурсивные алгоритмы в деле Следующий курс пока не выбрал, глаза разбегаются прям :D