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

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

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




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

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

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


Хочу купить!

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

Цена: 2000 p.


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

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

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


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

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

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

Задание:
Нарисовать кривую Гильберта на листе бумаги.
Отчёт отправил: 4004. Елена Выполнено за 42 мин. [Показать отчёт]
Научился: затрудняюсь ответить 
Сложности: ничего 
Комментарии: Задачи уже не нашла в разделе "НОВЫЕ ЗАДАЧИ". Но раньше их уже решала. 
3 Рекурсия. Заливка области 00:47:23 91 чел. ★ 5 Done
  Пишем алгоритм заливки, как в программе Паинт.
Отчёт отправил: 4004. Елена Выполнено за 20 мин. [Показать отчёт]
Научился: Не знаю даже. Сама догадалась, как функцию написать. 
Сложности: Ничего 
Комментарии: Интересно и просто. 
4 Рекурсия. Факториал 00:04:35 58 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

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

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

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

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

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

Отчёт отправил: 4004. Елена Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Применению сложной рекурсии 
Сложности: Урок оказался сложнее, чем два предыдущих. Хотя и достаточно доступный. 
Комментарии: Пожалуй, это мой первый практический пример применения сложной рекурсии. Раньше - только в теории изучала, с примерами, "высосанными из пальца" : http://prog-cpp.ru/recursion/ 
11 Комбинаторика. Счастливые билеты 6 00:02:33 48 чел. ★ 4.9 Done
  На этом уроке мы рассмотрим самый простой
способ решения комбинаторных задач,
с использованием вложенных циклов.

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

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

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

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


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

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


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

Отчёт отправил: 4004. Елена Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Решать головоломки с цифрами. 
Сложности: Составить функции expr(), rang() в классе Calc. 
Комментарии: Теперь знаю, как помочь детям в решении подобных задач повышенной сложности из учебника математики. А то долго голову ломали. Теперь можно просто запустить программку, и все решения отыщутся. Очень понравился класс Calc. Можно его использовать для других вычислений. Может, калькулятор напишу на его основе. 
17 Полуфинальный урок. Ответы на вопросы 46 чел. ★ 4.9 Done
  Ты уже практически закончил курс «Комбинаторика».
Пожалуйста, ответь на несколько вопросов.
Эти ответы пригодятся тебе при записи видеоотзыва.
(видео в этом уроке нет)
Отчёт отправил: 4004. Елена Выполнено за 10 мин. [Показать отчёт]
Научился: Писать отзывы 
Сложности: Придумать, что писать 
Комментарии: Да, курс оказался очень полезным. Надеюсь, что дальше будет еще интереснее. Ведь именно из-за динамического программирования хотела изучить этот курс. Рекурсия - тема давно мне знакомая, но ее применение открыло новые границы. Очень понравилась задача с математическими действиями. Хочется теперь все это применить и поделиться новыми знаниями. Надеюсь, что это удастся. Как и просили, прикрепляю свою фотографию :) P.S. В ближайшее время тему обязуюсь расширить. 
18 Динамика. Поле дураков 00:18:40 52 чел. ★ 5 Done
  Вступление в тему "Динамическое программирование".
Решение олимпиадной задачи "Поле дураков".
Отчёт отправил: 4004. Елена Выполнено за 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


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

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

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

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

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




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

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

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

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


Трудности: Рассказывать, не уверен, что у меня получилось хорошо
Спасибо за курс) Классика в программировании важная часть становления мировозрения программиста. Всем добра.


Научился: Научился записывать видео.
Трудности: Сложность одна. Не могу озвучить видео. На горле была операция.
Прошу отнестись с пониманием. Все остальное я постарался раскрыть в видео. Еще раз огромная благодарность Евгению Витольдовичу и всем сокурсникам за помощь и поддержку.
Смотреть видеозапись: https://www.youtube.com/watch?v=CZ1ErVBgNlI