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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

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




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

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

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


Хочу купить!

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

Цена: 2000 p.


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

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

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


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

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

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

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

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

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

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

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

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

Отчёт отправил: 1232. Фомичева Наталья Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Рисовать кривую Гильберта 
Сложности: Все разжевано. Найти удачный эксперимент сложно. 
Комментарии: Это можно считать подобным описанием? http://информатика.1сентября.рф/1999/art/zlat1.htm 
11 Комбинаторика. Счастливые билеты 6 00:02:33 48 чел. ★ 4.9 Done
  На этом уроке мы рассмотрим самый простой
способ решения комбинаторных задач,
с использованием вложенных циклов.

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

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

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

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


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

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


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

Отчёт отправил: 1232. Фомичева Наталья Выполнено за 8 час. 00 мин. [Показать отчёт]
Научился: Сворачивать и выворачивать рекурсию. 
Сложности: Додуматься до такого элегантного решения и не продолжить искать другие способы подсчета. 
Комментарии: А получится обойтись двумя циклами, если свой текстовый редактор/транслятор писать? 
17 Полуфинальный урок. Ответы на вопросы 47 чел. ★ 4.9 Done
  Ты уже практически закончил курс «Комбинаторика».
Пожалуйста, ответь на несколько вопросов.
Эти ответы пригодятся тебе при записи видеоотзыва.
(видео в этом уроке нет)
Отчёт отправил: 1232. Фомичева Наталья Выполнено за 30 мин. [Показать отчёт]
Научился: Анализ пройденного материала. 
Сложности: Дойти до этого урока. 
Комментарии: 1. Алгоритм разбора выражения с учетом приоритета операций. 2. Счастливые билеты звучали также страшно как интерполяционный полином, оказалось это простая задачка по типу олимпиадных. Потом была удивлена, что задачи практически дублируют консоль. Но курс получился интересный, можно погрузиться в алгоритмы и не думать об интерфейсе. 3. Все хорошо. 4. Время, проведенное за интересными задачками. Хорошая зарядка для мозга. 5. Наталья. 
18 Динамика. Поле дураков 00:18:40 52 чел. ★ 5 Done
  Вступление в тему "Динамическое программирование".
Решение олимпиадной задачи "Поле дураков".
Отчёт отправил: 1232. Фомичева Наталья Выполнено за 4 час. 00 мин. [Показать отчёт]
Научился: Находить самый тяжелый путь. 
Сложности: Написать красивый код без подсматривания решения. 
Комментарии: Лишнее сравнение написала, max не нужен. { arr[i, j] += Math.Max(j > M - 2 ? 0 : arr[i, j + 1], i > N - 2 ? 0 : arr[i + 1, j]); } Console.WriteLine(arr[0,0]); 
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


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

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

Прошу перед уроком ознакомиться со следующими материалами:
1. Очередь в C#.
2. Поиск в ширину в графе.
21 ФИНАЛЬНЫЙ УРОК 00:23:23 31 чел. ★ 4.9 $
  Задание
Записать видео обзор твоих лучших программ этого курса.
22 VIP. Простые числа. Оптимизация алгоритма 01:19:28 37 чел. ★ 5 $
  Пишем функцию для поиска простых чисел и
поэтапно оптимизируем её в двух направлениях.
  Итого:   22 видеоурока общей продолжительностью 9 час. 57 мин. 24 чел. ★ 4.96  
  Финалисты:   Елена,   alexmail19Q,   Максим Лапшинов,   Андрей Поляков,   Vera,   Иван,   Артём,   Tekashnik,   Михаил Ермишин,   Николай,   Alcatraz,   Den Andreevich,   Дмитрий,   Иван Воронин,   Ильшат,   Алексей В.,   Новопашин Владимир,   Сергей Зулкарнаев,   Алексей Малышев,   Александр,   Sergio,   Сергей Стефаненко,   Денис,   chokayes .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Формировать видеообзор своей программы и выкладывать его на YouTube .
Трудности: Сохранять спокойствие при записи ролика ).
Спасибо за шаблон подготовки видеороликов - пригодиться однозначно !
Научился: Наконец-то добавил звуковую дорожку к обзору. )
Трудности: Хотел по всем урокам пробежаться, но там видео получилось по длине нереальное. Пришлось повырезать. Про некоторые вещи забыл сказать. )