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

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

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




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

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

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


Хочу купить!

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

Цена: 2000 p.


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

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

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


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

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

Видео на этом уроке нет.
Отчёт отправил: 4780. Дмитрий Выполнено за 20 мин. [Показать отчёт]
Научился: рекурсия - воспроизведение объектом исходной начальной формы/кода 
Сложности: искать картинки 
Комментарии: no comments ;) 
2 Рекурсия. Главный секрет 00:31:52 97 чел. ★ 4.9 Done
  На вебинаре рассмотрели несколько примеров по созданию рекурсивных алгоритмов.
Рассказал основной секрет, как понимать рекурсию.

Задание:
Нарисовать кривую Гильберта на листе бумаги.
Отчёт отправил: 4780. Дмитрий Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: кривая Гильберта, факториал и переворот массива через рекурсию 
Сложности: переделать консольный пример в winForms 
Комментарии: =) 
3 Рекурсия. Заливка области 00:47:23 90 чел. ★ 5 Done
  Пишем алгоритм заливки, как в программе Паинт.
Отчёт отправил: 4780. Дмитрий Выполнено за 50 мин. [Показать отчёт]
Научился: рекурсивно закрашивать область 
Сложности: понять как она это делает) 
Комментарии: под впечатлением. сколько экземпляров функции открывается при ее выполнении? 
4 Рекурсия. Факториал 00:04:35 57 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

Задание:
Решить задачу «Факториал».
Отчёт отправил: 4780. Дмитрий Выполнено за 20 мин. [Показать отчёт]
Научился: Факториалу 
Сложности: Не ошибиться в синтаксисе 
Комментарии: =) 
5 Рекурсия. Числа Фибоначчи 00:03:46 53 чел. ★ 5 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

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

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

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

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

Отчёт отправил: 4780. Дмитрий Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: сложной рекурсии и построению кривой Гильберта 
Сложности: логика работы рекурсии 
Комментарии: не очевидная вещь она, рекурсия... 
11 Комбинаторика. Счастливые билеты 6 00:02:33 48 чел. ★ 4.9 Done
  На этом уроке мы рассмотрим самый простой
способ решения комбинаторных задач,
с использованием вложенных циклов.

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

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

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

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


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

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


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

Отчёт отправил: 4780. Дмитрий Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: вычислять арифметико-логические выражения при помощи специального калькулятора. 
Сложности: не сразу понятно(до видео), как делать слияние символов, и как продвигаться с сохранением приоритета операции 
Комментарии: хороший урок, хотя и задание само по себе не простое. Кажется, что все понятно) 
17 Полуфинальный урок. Ответы на вопросы 47 чел. ★ 4.9 Done
  Ты уже практически закончил курс «Комбинаторика».
Пожалуйста, ответь на несколько вопросов.
Эти ответы пригодятся тебе при записи видеоотзыва.
(видео в этом уроке нет)
Отчёт отправил: 4780. Дмитрий Выполнено за 5 мин. [Показать отчёт]
Научился: комбинаторике 
Сложности: рекурсия 
Комментарии: 1. рекурсивное закрашивание области и расстановка ферзей. В общем те, что с картинками) 2. да, ожидания оправдались полностью 3. можно еще добавить консольных примеров с консольной графикой, получается быстро и эффектно 4. использование рекурсии и разбор сложных задач, объяснение их алгоритмов 5. Дмитрий 
18 Динамика. Поле дураков 00:18:40 52 чел. ★ 5 Done
  Вступление в тему "Динамическое программирование".
Решение олимпиадной задачи "Поле дураков".
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: динамическому принципу решения задач 
Сложности: не совсем понятный прием - считать с конца) но, преимущество перед рекурсией, конечно, есть. 
Комментарии: --\_(^^)_/-- 
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


Отчёт отправил: 4780. Дмитрий Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: решению задачи счастливые билеты для 40-значных чисел с использованием подхода динамического программирования. 
Сложности: алгоритм программы, именно математическая ее часть. 
Комментарии: Очень рациональный подход, и очень быстрый, хотя именно алгоритм составить сложно. Спасибо за хорошую визуализацию процесса, без этого понять код было бы просто нереально. 
20 Динамика. Выход из Лабиринта 00:59:02 44 чел. ★ 5 Done
  Мы рассмотрим наиболее популярный, интересный и полезный алгоритм теории графов:
Поиск кратчайшего пути в графе. В основе идеи лежит принцип динамического программирования.

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

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

Отчёт отправил: 4780. Дмитрий Выполнено за 10 мин. [Показать отчёт]
Научился: делать быстро 
Сложности: ничего 
Комментарии: Спасибо за курс Комбинаторика, очень полезный и интересный! Можно применить не только с языком c#. 
Видеообзор: https://youtu.be/L927U995uQM
22 VIP. Простые числа. Оптимизация алгоритма 01:19:28 37 чел. ★ 5 Done
  Пишем функцию для поиска простых чисел и
поэтапно оптимизируем её в двух направлениях.
Отчёт отправил: 4780. Дмитрий Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: различным алгоритмам проверки числа на простоту 
Сложности: сделать решето Эратосфена. 
Комментарии: сделал решето через рекурсию. Чувствую, что создал франкенштейна какого-то, но по-другому не придумал)) Понравился подробный разбор и оптимизация алгоритма по принципу от простого к сложному, спасибо. 
Видеообзор: https://youtu.be/L927U995uQM
  Итого:   22 видеоурока общей продолжительностью 9 час. 57 мин. 24 чел. ★ 4.96  
  Финалисты:   Елена,   alexmail19Q,   Максим Лапшинов,   Андрей Поляков,   Vera,   Иван,   Артём,   Tekashnik,   Михаил Ермишин,   Николай,   Alcatraz,   Den Andreevich,   Дмитрий,   Иван Воронин,   Ильшат,   Алексей В.,   Новопашин Владимир,   Сергей Зулкарнаев,   Алексей Малышев,   Александр,   Sergio,   Сергей Стефаненко,   Денис,   chokayes .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Записывать видеообзоры и рассказывать свои решения задачек по программированию, объяснять алгоритмы решения.
отчет о выполнении курса: http://videosharp.info/5029/checking/task3=100
Научился:  научился писать отзыв, вернее ещё раз закрепил
Трудности: Собраться и сформулировать отзыв
Всё супер, следующий курс, который я буду проходить это Хранитель Экрана.