Online обучение c#

Формула программиста

основатель — Волосатов Евгений Витольдович
Робот Шарп в отпуске до 28 июня 21:00, работает только java компилятор

Статистика по видеоурокам

  • Всего просмотрено уроков: 62
  • Всего выполнено уроков: 46

Отчёты по видеоурокам

Дата Видеоурок Результат
2020-01-14 15:38 Коллекция графов Инициация + 6 2 час. 24 мин.
нет комментариев
Как у ребра может быть более двух точек?
2020-01-14 13:13 Коллекция графов Рёбра + 7 2 дня 13 час. 47 мин.
познакомился с графом.
странное решение посторения графа. Мне кажется в логике ошибка. Например у нас вершина один соединяется с пятью другими вершинами. Метод добавить смежную вершину работает не корректно.  У меня к сожалению так и не получилось построить граф используя решение из урока. Или я не совсем понял условие.
2020-01-11 23:25 Коллекция графов Вершины + 9 22 час. 20 мин.
вспоминаю графы. когда то изучал их, искал в глубь и ширину но ка кто на практике так и нигде не применил в работе.

Мне кажется ребра и вершины надо хранить все вместе в двумерном массиве. Я про это уже писал выше.
ничего
2020-01-11 01:03 Коллекция графов Граф + 8 8 час. 53 мин.
Я бы сохранял граф  с помощью способа  матрицы смежности.
Т.е.  это квадратная матрица, в которой каждый элемент принимает одно из двух значений: 0 или 1.
Число строк матрицы смежности равно числу столбцов и соответствует количеству вершин графа.
0 – соответствует отсутствию ребра,
1 – соответствует наличию ребра.

Когда из одной вершины в другую проход свободен (имеется ребро), в ячейку заносится 1, иначе – 0. Все элементы на главной диагонали равны 0 если граф не имеет петель.

Для моего примера это будет выглядеть так:
    1  2  3  4  5  6
1  0  1 0  1  1  0
2  1  0  0  1  0  1
3  1  0  0  1  1  0
4  0  1  1  0  0  1
5  1  0  1  0  0  1
6  0  1  0  1  1  0

ничего сложного
2019-12-12 15:00 Коллекция графов BitArray + 10 6 час. 8 мин.
познакомился с BitArray. использовал дополнительно функции  or, get, set

2019-12-12 08:50 Коллекция графов Hashtable + 9 23 час. 22 мин.
узнал про hashtable и HybridDictionary. Почитал еще про них в документации.
Медленее всего работает ListDictionary. В 10 раз, причем для него я брал количество элементов 10 000, а для остальных 1 000 000. Т.е. елси бы брал тоже 1 000 000 наверное проргамма отрабатывала минут 15.

2019-12-07 00:26 Коллекция графов ListDictionary + 8 45 мин.
Узнал  про  коллекцию  ListDictionary. Дополнительно поэксперементировал со свойством Keys, которое возвращает список всех ключей
пока все хорошо
2019-12-02 09:45 Коллекция графов Array vs List + 3 53 мин.
освежил память про коллекции. сравнил производительность между разными коллекциями.
все было понятно
2019-11-16 16:19 Коллекция графов List + 7 33 мин.
освежил в памяти коллекции.

использовал метод Reverse. - отсортировать коллекцию в обратном порядке.
все понятно
2019-10-27 00:40 Коллекция графов ArrayList + 9 33 мин.
Познакомился с ArrayList

2019-09-13 11:27 Комбинаторика Динамика. Выход из Лабиринта + 7 1 день 20 час. 2 мин.
познакомился ближе с динамическим программированием. Узнал как можно использовать очереди для обхода лабиринта
не совсем понял где здесь динамическое программирование. Суть его заключается в том что мы используем уже готовое решение. Здесь я этого не заметил. Возможно ошибаюсь
2019-09-07 16:09 Комбинаторика Динамика. Счастливые билеты 20 + 9 3 час. 50 мин.
ближе узнал что такое динамическое программирование
пришлось просмотреть урок 3 раза, т.к. были сложности с пониманием расчета количества счастливых билетов
2019-05-23 08:03 Комбинаторика Динамика. Поле дураков + 9 41 мин.
познакомился с динамическим программированием. Увидел элегантное решение задачи "Поле дураков"
Все понятно
2019-05-15 09:03 Комбинаторика Полуфинальный урок. Ответы на вопросы + 13 5 мин.
Спасибо большое за данный курс. Очень понравилось. Я сам работаю программистом и благодоря вашему ресурсу закрываю пробелы в знаниях, особенно что касается алгоритмов.

Углубился в рекурсию.  Вспомнил и узнал для себя много нового. И сейчас где есть необходимость стараюсь внедрять на работе.

Дмитри, Гомель, Беларусь
Мне кажется кроме видео было бы хорошо выкладывать сам код. Приходится иногда вникать и не очень удобно перематывать вперед назад видео.
2019-05-14 09:51 Комбинаторика Комбинаторика. Математические операции + 4 1 час. 6 мин.
Очень интерессно. Повторил все как у уроке. разобрался.
все понятно
2019-05-06 05:28 Комбинаторика Комбинаторика. Сложение букв + 8 1 час. 21 мин.
Познакомился как находить варианты сложения букв с помощью циклов и рекурсии
Понимание логики работы рекурсии при поиске варантов сложения букв.
2019-05-01 15:11 Комбинаторика Комбинаторика. Много ферзей. Демонстрация + 4 1 час. 20 мин.
Понравилось решение отрисовки шахматн. доски с ферзями.
Все таки тяжеловато просто по видео понять досконально работу алгоритма. Мне все таки больше подходит самому повторить все. Но кажется в целом все понятно. Спасибо
2019-04-29 22:28 Комбинаторика Комбинаторика. 4 x 4. Ладья x Ферзь + 9 3 час. 55 мин.
познакомилсяс алгоритмами для шахматных фигур через рекурсию
сложновато с первого раза понять как рабтает алгоритм. приходилось пересматривать
2019-04-24 05:25 Комбинаторика Комбинаторика. Счастливые билеты N + 11 22 час. 9 мин.
Познакомился с практическим применением рекурсии. Ближе узнал что такое комбинаторика и какие способы есть для отптимального решения разных комбинаторных задач.
Нисразу понял алгоритм через рекурсию как мы проходим по цифрмам и суммируем их. Отладка все таки сильная вещь.
2019-04-19 18:43 Комбинаторика Комбинаторика. Счастливые билеты 6 + 12 25 мин.
находить счастливые билеты
все понятно
2019-04-19 18:15 Комбинаторика Рекурсия. Фракталы. Кривая Гильберта + 12 3 дня 1 час. 11 мин.
рисовать с помощью рекурсии кривую гильберта
не сразу уловил как рисуется.
2019-04-15 05:44 Комбинаторика Рекурсия. Фракталы. Треугольник Серпинского + 11 20 час. 50 мин.
ЕЩЕ ГЛУБЖЕ ПОЗНАКОМИЛСЯ С РЕКУРСИЕЙ, УЗНАЛ ПРОТРЕУГОЛЬНИК СЕРПИНСКОГО. ПО ПРАВДЕ ГОВОРЯ РАНЬШЕ НЕ СЛЫШАЛ ПРО ТАКОЕ.
К сожалению Windows form у меня не было под рукой, wpf тоже. Пришлось делать в консольки. Экспериментировать все таки лучше в windows form.
2019-04-05 18:44 Комбинаторика Рекурсия. Фракталы. Спираль + 13 2 час. 32 мин.
узнал что такое фрактал
все понятно
2019-04-05 16:10 Комбинаторика Рекурсия. Обратный отсчёт + 15 23 час. 2 мин.
узнал еще больше про рекурсию
все понятно
2019-03-31 16:52 Комбинаторика Рекурсия. Общий делитель + 8 47 мин.
все понятно
ничего
2019-03-30 23:25 Комбинаторика Рекурсия. Числа Фибоначчи + 7 8 мин.
посчитал числа фибоначи через рекурсию
все понятно
2019-03-30 23:16 Комбинаторика Рекурсия. Факториал + 6 15 мин.
написал решение факториала с помощью рекурсии
все понятно
2019-03-28 22:40 Комбинаторика Рекурсия. Заливка области + 16 1 день 13 час. 49 мин.
глубже проникся магией рекурсии
кажется пока все понятно
2018-09-05 10:56 Комбинаторика Рекурсия. Главный секрет + 13 10 дней 9 час. 29 мин.
вспомнил рекурсию, познакомился с е применением на прмерах
понимание как локальная переменная ведет себя при вызове рекурсии
2018-08-26 01:25 Комбинаторика Рекурсия. Вступление + 15 5 мин.
с рекурсией встречаюсь постоянно в своей работею
ничего сложного не было
2018-08-26 00:18 Бурные потоки ФИНАЛЬНЫЙ УРОК + 15 3 мин.
Всегда хотел познакомиться с многопоточностью. Узнал базу по этой теме. Спасибо Евгений.
Не всегда с первого раза была понятна логика.  Приходилось пересматривать два раза.
2018-08-24 09:07 Бурные потоки Смысл жизни + 16 23 мин.
Спасибо, все понравилось.  Узнал про потоки. когдла то раньше поднимал эту тему у себя, но не было потребности на работе.  Сейчас возникла.
все понятно. у матросов нет вопросов
2018-08-22 23:35 Бурные потоки Замри! + 16 1 день 14 час. 56 мин.
узнал глубже как остановить и управлять потоками.
При добавлении в метод Start

            while (true)
            {
                ConsoleKeyInfo key = Console.ReadKey();
                if (key.KeyChar >= '0' && key.KeyChar <= '9')
                    threads[Convert.ToInt16(key.KeyChar.ToString())].Abort();
            }
Вылазит исключение:

System.Threading.ThreadAbortException
  HResult=0x80131530
  Message=Поток находился в процессе прерывания.
  Source=mscorlib
  StackTrace:
  at System.Threading.Monitor.Enter(Object obj)
  at Python.Python.Run() in C:\Users\Administrator\projects\Python\Python\Python.cs:line 220
  at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
  at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
  at System.Threading.ThreadHelper.ThreadStart()


Я так понимаю связано с тем что поток что то не успел завершить.
Пытался через отладку понять, также убрал все блоки(block). НО пока безрезультатно.
Кто нибудь сталкивался с таким в данном уроке.
Или просьба наведите в нужном направлении, куда копать?
2018-08-20 06:35 Бурные потоки Приоритет + 16 47 мин.
Узнал про виды потоков, как установить их приоритет.  Узнал про метод Монитор
я думаю если не правильно установить приоритет потоков, в будущем создашь себе куча проблем. Вывод: желательно меньше этим заниматься.
2018-08-19 07:17 Бурные потоки Бурная жизнь + 16 1 час. 10 мин.
добавил тело питона, чтобы проглатывал зайцев.

Я думаю стоит сделать вывод счеткиков, сколько зайцев съел каждый питон. А также не стоит добавлять новых зайцев. Игра должна продолжаться пока не съедят последнего зайца.
сложностей не было.
2018-08-19 05:55 Бурные потоки Поток питонов + 17 4 дня 13 час. 7 мин.
Вспомнил  что такое потоки и как их использовать. Познакомился, как использовать критические секции, а также что такое у потока свойство Background.
Наш класс Python сильно увеличился. было бы классно все таки  повынoсить часть логики в другие места. Но в целом все хорошо. Спасибо за ваши уроки.
2018-08-14 16:47 Бурные потоки Поворот головы + 15 1 день 10 час. 44 мин.
добавил методы step, turn turnto.
Попробовал оживить питонов через цикл для вызова метода step. сложностей больших не возникло.
2018-08-13 06:01 Бурные потоки Питонатор + 16 1 день 6 час. 48 мин.
Было все понятно. Реализовал добавление питона. Вспомнил что такое очередь, какие методы есть для работы с очередью.
сложного пока ничего не было.
2018-08-11 22:49 Бурные потоки Зайчики + 16 3 дня 5 час. 11 мин.
рандомное добавление зайчиков.
Я в пердыдущем уроке делал чуть по другому. Все реализовал в одном методе.
Не совсем понимаю зачем нам делать проверку, добавление зайчика за пределы стены. У на в любом случае это не произойдет, мы же делаем от 0 до size.x и size.y.

Я бы добавил следующие нестат. поля для питона:
1. количество съеденных зайчиков
2. выйграл или проиграл
3. первоначальная позиция питона на экране
 
2018-08-08 14:49 Бурные потоки Террариум + 18 4 дня 23 час. 21 мин.
реализация экрана в консоли, знакомство с Random
как быстро и проще очертить экран на консоли
2018-08-01 17:18 Бурные потоки Вступление + 18 1 час. 3 мин.
избавиться в консольном приложении от статика. Но пока не пойму, зачем это надо. Я бы добавил еще размер шага змейки.

пока все понятно
2018-08-01 16:12 Функционал ФП - ФИНАЛЬНЫЙ УРОК + 18 3 мин.
что такое функциональное программирование. Разобрался с делегатами и лямбда выражениями. Все очень поверхностно. Хотелось бы больше практики, самостоятельных задачек.

Планирую дальше просмотреть курс по алгоритмам.
понимание замыканий
2018-08-01 15:34 Функционал ФП - Короткое замыкание + 20 16 час. 30 мин.
разобрался, что такое замыкание
понимание как переменная замыкается на саму себя в контексте анонимной функции
2018-07-30 22:38 Функционал ФП - Свой метод Where + 18 16 час. 15 мин.
Научился создавать свои собственные linq методы с  помощью делегатов
понять как работает сам делегат в методе where, а также не совсем понятны дженерики.
2018-07-29 00:02 Функционал ФП - Сортировка списка + 17 1 час. 27 мин.
использование лямбда выражений в качестве параметра метода
ничего
2018-07-28 02:05 Функционал ФП - Калькулятор + 17 58 мин.
узнал ближе конструкции лямбда выражений
пока ничего
  Комбинаторика ФИНАЛЬНЫЙ УРОК   Открыто


  Демо софт Вступительное слово   Открыто


  Нано-игры Арканоид - Шарик и кирпичики   Открыто


  Нано-игры Арканоид - Уровень и ракетка   Открыто


  Теория ООП Инкапсуляция мечты   Открыто


  Бинарная жизнь Правила игры   Открыто


  Коллекция графов Отображение   Открыто


  Бурные потоки VIP. Игры со словами   Открыто


  Портфолио на Bootstrap Презентация курса   Открыто


  Без конкуренции Как избежать конкуренции?   Открыто


  Демо игры C# чего начать программировать   Открыто


  PHP фреймворк Yii2 - вторая часть Welcome - Вступление   Открыто


  Невидимка Кто такая C# Невидимка?   Открыто


  SQL: ничего лишнего Инструменты и доступ   Открыто


  Дневник успеха 2018-07-29 Отчёт за неделю   Открыто


  Начало здесь День №1. Создание микро-Привычки.   Открыто


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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Вспомнил что такое потоки и как их использовать. Познакомился, как использовать критические секции, а также что такое у потока свойство Background.
Трудности: Наш класс Python сильно увеличился. было бы классно все таки повынoсить часть логики в другие места. Но в целом все хорошо. Спасибо за ваши уроки.



Научился: Я бы сохранял граф с помощью способа матрицы смежности. Т.е. это квадратная матрица, в которой каждый элемент принимает одно из двух значений: 0 или 1. Число строк матрицы смежности равно числу столбцов и соответствует количеству вершин графа. 0 – соответствует отсутствию ребра, 1 – соответствует наличию ребра. Когда из одной вершины в другую проход свободен (имеется ребро), в ячейку заносится 1, иначе – 0. Все элементы на главной диагонали равны 0 если граф не имеет петель. Для моего примера это будет выглядеть так: 1 2 3 4 5 6 1 0 1 0 1 1 0 2 1 0 0 1 0 1 3 1 0 0 1 1 0 4 0 1 1 0 0 1 5 1 0 1 0 0 1 6 0 1 0 1 1 0