Обучение программированию c#

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

Графоциклы

В этом курсе мы будем создавать циклы
для рисования различных графических узоров,
такое занятие очень поможет прочувствовать суть циклов,
научиться их использовать легко и непринуждённо.


8 миниуроков + 3 vip-урока.
2 часа 40 минут.
Доступ на 15 дней.

3,000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Подготовка графики 00:15:32 56 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 20 мин. [Показать отчёт]
Научился: Вспомнил, как зачищать pictureBox. 
Сложности: Все просто. 
Комментарии: По д/з: В двух циклах for нарисовать все вертикальные, потом горизонтальные линии (второй скриншот) 
2 Горизонтали и вертикали 00:12:47 52 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 20 мин. [Показать отчёт]
Научился: Вспомнил, как делать задержки. 
Сложности: Все просто и понятно 
Комментарии: До "д/з": Цикл с рисованием 2 линий с координатами (0,i,i,0) и (300,i,i,300). Или два цикла, чтобы рисование происходило от первой к последней по очереди, а не параллельно от начала и середины. Или в первом цикле увеличивать i до pictureBox.Width * 2, но тогда у нас линии будут уходить далеко за границы. Это если без усложнения цикла проверкой, не дошли ли мы до середины. 
3 Диагональные линии 00:15:01 50 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 20 мин. [Показать отчёт]
Научился: В уроке говорилось о том, что сам додумал в прошлом) 
Сложности: Ничего 
Комментарии: Линию с координатами (300,300,300,300) не будет видно, поэтому цикл с ограничением a<300 от двух циклов с a<300 и a<=300 конечным результатом отличаться не будет. Поэтому смысл разбиения на два цикла может быть только в желании получить красивое последовательное рисование линий от угла к углу. После работы цикла вызывать RefreshPicture() не надо - он был вызван в последней итерации цикла внутри Sleep1(). 
4 Пучок лучей 00:15:42 49 чел. ★ 5 Done
  Отчёт отправил: 10193. Minergimn Решено за 25 мин. [Показать отчёт]
Научился: Продумывать точки начала и конца линий. 
Сложности: Всё просто, всё понятно) 
Комментарии: Мне проще было, чтобы не запутываться, цикл во всех вариантах вести от 0 до 300, но на 9 кнопке сделал от 300 к 0, чтобы чуть потренировать мозг перестраиваться) 
5 Вложенные циклы 00:15:50 49 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 20 мин. [Показать отчёт]
Научился: Применил, что знал. Останавливал видео и делал сам, потом убеждался в правильности подхода) 
Сложности: Все просто 
Комментарии: Спасибо за урок. 
6 Внутренние условия 00:15:00 48 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 30 мин. [Показать отчёт]
Научился: Что оптимизация производительности может отрицательно сказаться на поддерживаемости кода. 
Сложности: Продумать код для 16 кнопки, пришлось рисовать на бумаге координаты) Также возникли сложности в взаимопонимании с Евгением Витольдовичем в том, что он сам дал такое задание - реализовать неправильное решение) 
Комментарии: Сделал 16 кнопку циклом for до 90 с рисованием с 8 сторон одновременно (видно на скриншоте) 
7 Трёхмерные циклы 00:16:49 45 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 20 мин. [Показать отчёт]
Научился: Вложенные 4 раза циклы создавались на других уроках, так что знакомы. 
Сложности: Сложного ничего, главное в координатах не запутаться, чтобы понимать, что и почему происходит именно так. А то будет просто магией. 
Комментарии: "Поиграл" с кодом 18 кнопки, сделал матрицу кругов 4х4, просто меняя условия 3 и 4 циклов (скриншот 2). Ну и Sleep1() у меня переделан сразу на Sleep(int n), чтобы не создавать варианты метода под разную задержку.0 
8 Спираль Архимеда 00:18:16 40 чел. ★ 5 Done
  Отчёт отправил: 10193. Minergimn Решено за 25 мин. [Показать отчёт]
Научился: Вспомнил о существовании синусов и косинусов. 
Сложности: Старался делать, опережая видео. Сложнее всего было продумать рисование спирали по координатам. 
Комментарии: Спасибо за урок, очень интересно) 
9 ФИНАЛЬНЫЙ УРОК 38 чел. ★ 4.9 Done
  Отчёт отправил: 10193. Minergimn Решено за 5 мин. [Показать отчёт]
Научился: В ходе курса очень наглядно показывается работы циклов for. С ними проблем особо не возникало, но благодаря курсу теперь легче будет компилировать код в голове) 
Сложности: Все было просто, иногда пришлось подумать над координатами. 
Комментарии: 1. Задачи очень понравились. 2. Поработал с System.Drawing, проработал цикл for во многих вариантах. 3. Конечно! Пытался сначала сам все делать, периодически это выливалось в занимательные рисунки. 
10 VIP - Квадрат Гарри Поттера 00:09:39 16 чел. ★ 5 Done
  Отчёт отправил: 10193. Minergimn Решено за 1 час. 30 мин. [Показать отчёт]
Научился: Работать с условиями в цикле. 
Сложности: Понять, как нарисовать 12 рисунок. Пришлось вспомнить, что такое уравнение окружности. Сложно было остановить и перестать создавать разные варианты рисунков) 
Комментарии: 1. 06.jpg: Console.Write(x < 10 || y < 10 ? "# " : ". "); 2. 11.jpg: Console.Write(x == 1 || x == 23 || y == 1 || y == 23 ? "# " : ". "); 3. 12.jpg: Console.Write(x * x + y * y <= 400 ? "# " : ". "); (уравнение окружности) 4. 13.jpg: Console.Write(x + y >= 20 && x + y < 29 ? "# " : ". "); 5. 16.jpg: Console.Write(x + y > 14 && x + y < 34 && x - y > -10 && x - y < 10 ? "# " : ". "); (может что - то перемудрил, упростить не получилось) 6. 20.jpg: Console.Write((x + y) % 2 == 0 ? "# " : ". "); 7. 25.jpg: Console.Write(x % 6 == 0 || y % 6 == 0 ? "# " : ". "); Моё заклинание: Console.Write(x * y % 24 == 0? "# " : ". ") Результат на скиншоте. Еще оно интересно с mod12 и mod6 получается) 
11 VIP. Узоры на окружности 00:23:45 26 чел. ★ 5 Done
  Отчёт отправил: 10193. Minergimn Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Создавать залипательные анимации. 
Сложности: Всё просто. Немного повозился с реализацией остановки и настройки. 
Комментарии: Всё красиво, но не понравилось, что вся программа висит, пока не отработает полный цикл. Поэтому сделал дополнение, кнопку 22а. По нажатию она запускает анимацию, по повторному останавливает (видно на видео). Рядом записывают значения коэффициента и шага, которые можно менять на ходу. Значения проверяются при парсинге и сбрасываются на 1 и 0,02 (видно в видео) Если шаг поставить 0, то можно смотреть фигуры, которые получатся с определенным коэффициентом. Предвидя возможные вопросы - так, как сделано в видео я реализовал в первую очередь (второй скриншот). Потом уже пошли дополнения =) 
Видеообзор: https://www.youtube.com/watch?v=k8QM0HSIaSs
12 VIP. Спирограф 00:05:43 15 чел. ★ 5 Done
  Отчёт отправил: 10193. Minergimn Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Создавать спирограф =) 
Сложности: Сначала было сложно решиться сделать. Применить формулу гипотрохоиды к уже реализованным функциям оказалось несложно. А потом было сложно остановиться переделывать интерфейс программы) 
Комментарии: Немного переделал интерфейс финальной версии, подписав всё. Для спирографа также сделал настройку радиуса малой окружности, расстояния от ее центра и числа кругов. Ну и два варианта кнопки - на фиксированное числом кругов выполнение и бесконечное рисование. Спасибо за курс. 
  Итого:   12 видеоуроков общей продолжительностью 2 час. 44 мин. 11 чел. ★ 4.95  
  Финалисты:   Alcatraz,   Tekashnik,   Neverwinter 2,   Кирилл Лебедев,   Алексей В.,   Minergimn,   Сергей Витальевич,   Константин,   Фомичева Наталья,   Владимир,   220s .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Всё знал))
Трудности: Написать отзыв, конечно!
Ну, чтож. Курс мне понравился. Он был легкий и приятный на вкус)))) Я экспериментировал с циклами... чуть-чуть.... немноооожко))) И узнал, как реализовывать задержку! Спасибо за эту фишку! Очень полезная штука! Конечно проследить работу циклов тоже было любопытно. Теперь, со знанием правила "первой и последней итерации" мне будет уже легче проверять свои циклы на работоспособность. На счет идей похожего плана сложно что либо сказать. Хотелось бы сделать диаблоподобную игру - вот идея! но она конечно не уложится в рамки такого мини-курса)
Научился: Экспериментировать.
Трудности: Ничего
Замечаний нет. Курс Прекрасный. При изменении параметров циклов, менялись узоры. Иногда получались довольно интересные. Нечто подобное было в уроках по Комбинаторике в теме - Рекурсия. В курсе показаны наглядные примеры, что будет происходить при изменениях параметров циклов и как это отразится на выполнении программы. Вообще цикл - это круг на плоскости, а в объеме это будет уже спираль, или соленоид, если хотите. Весь наш мир не только рекурсивен, но и движется по спирали. И я думаю, что это второй Божественный закон после Рекурсии.