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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!
Вебинар «Карточки памяти на Android» начнётся через 2 дня 6 час. 40 мин.

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




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

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

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


Хочу купить!

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

Цена: 2000 p.


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

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

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


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

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

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

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

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

Задание:
Решить задачу «Числа Фибоначчи».
Отчёт отправил: 6925. Артём Выполнено за 10 мин. [Показать отчёт]
Научился: Закрепил знания по рекурсии и вспомнил числа Фибоначчи 
Сложности: Относительно просто.  
Комментарии: проблема в том, что чем больше число, тем дольше работать будет программа (пример на 2м скрине). Я вывел все числа Фибоначчи до 40-го через циклы: int u = 1, v = 1; // два первых числа? в дальнейшем - текущие числа for(int i=0; i<40; i++) { Console.WriteLine("{0}", u); // печатаем текущий элемент int w = u + v; // замена переменных u = v; v = w; // w - промежуточная переменная: v=u+v } Console.ReadKey();  
6 Рекурсия. Общий делитель 00:04:08 53 чел. ★ 4.9 Done
  На этом уроке мы пойдём в гости к роботу Шарпу.

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

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

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

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

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

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

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

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


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

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


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

Отчёт отправил: 6925. Артём Выполнено за 4 час. 00 мин. [Показать отчёт]
Научился: Научился решать задачи на расстановку знаков через рекурсию.  
Сложности: Сложно было понять блок-схему, однако после этого написать класс стало легче  
Комментарии: Довольно интересно, но с каждым шагом труднее) 
17 Полуфинальный урок. Ответы на вопросы 47 чел. ★ 4.9 Done
  Ты уже практически закончил курс «Комбинаторика».
Пожалуйста, ответь на несколько вопросов.
Эти ответы пригодятся тебе при записи видеоотзыва.
(видео в этом уроке нет)
Отчёт отправил: 6925. Артём Выполнено за 5 мин. [Показать отчёт]
Научился: За половину учебного курса я изучил несколько алгоритмов, с помощью которых можно решать математические задачи.  
Сложности: Заставить себя сидеть и не лениться.  
Комментарии: В течение 5 дней я прохожу курс "Комбинаторика". Я думал, что уделят внимание математическим понятиям, как "Комбинации, перестановки, факториалы" и т.д. Мои ожидания оправдались: изучив рекурсию, я изучил рекурсию :) Так вот, после изучения рекурсии я чувствовал себя, как рыба в воде, решая задачи о и другие, связанные с комбинаторикой. Однако при изучении алгоритма нахождения ферзей у меня вылезли глаза на лоб, т.к. вообще не понимал, что к чему. Немного потерял интерес, мне показались дальнейшие уроки скучными и долгими, пока не понял, что проблема в моей лени. Поэтому, через "не хочу", "не могу" сидел, слушал эти уроки и понял, что это основа для всего. Уверен, что невозможно стать хорошим программистом, не зная алгоритмов. И как-то стал лучше понимать происходящее. Поэтому алгоритм поиска ферзей я назову лучшим, который я когда-либо видел. Вот только программу консоли составить поленился :( Ну да всё впереди! А самое ценное - это то, что курс воспитывает силу воли, поэтому охотно буду продолжать его выполнять. Спасибо! С уважением, Артём Быцко. P.S. В университете нам как-то рассказывали построение графов через программы. Мне интересно, будет ли теория графов?  
18 Динамика. Поле дураков 00:18:40 52 чел. ★ 5 Done
  Вступление в тему "Динамическое программирование".
Решение олимпиадной задачи "Поле дураков".
Отчёт отправил: 6925. Артём Выполнено за 45 мин. [Показать отчёт]
Научился: Познакомился с динамическим программированием.  
Сложности: Вспомнить, что координаты меняются слева направо и сверху вниз. 
Комментарии: Замечательная задача, чем-то похоже на задачу из графов по нахождению максимальной вершины или что-то такое 
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


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

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

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

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил создание видео обзоров.
Трудности: Кратко рассказать про программу заливки области.
Курс очень понравился, спасибо, Евгений Витольдович :)
Все отлично! Скорость инета очень слабый не могу выкладывать видео. Sorry((