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

Формула программиста
основатель — Волосатов Евгений Витольдович
C# Олимпиада из Простоквашино
Скидка на Комбинаторику

Графоциклы

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


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

1,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Подготовка графики 00:15:32 80 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 3 час. 00 мин. [Показать отчёт]
Научился: Работать с отрисовкой линий 
Сложности: Переделать проект под WPF. 
Комментарии: И циклы пройду и WPF освою. Двух зайцев убью. 
2 Горизонтали и вертикали 00:12:47 75 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 5 час. 00 мин. [Показать отчёт]
Научился: Продолжаю писать программу на WPF. Узнала, что slip здесь не работает, а для задержки async await нужен framework 4.5. Научилась работать с таймером.  
Сложности: Реализовать попеременное появление линий. 
Комментарии: С диагональками на кнопке 5 сделала шторки, красиво. :-) 
3 Диагональные линии 00:15:01 73 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Ждать завершения предыдущего таймера. 
Сложности: Уже все не такое страшное. 
Комментарии: Вызвала мой таймер таким образом tick2(draw5, draw6, 5, 99, 100). А если загнать в функцию лист из структуры bool+ delegate + int, то пожалуй можно и универсальный последовательный таймер реализовать. 
4 Пучок лучей 00:15:42 71 чел. ★ 5 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Повторила работу с таймерами и лямбда выражениями. 
Сложности: Выбрать способ организации циклов. 
Комментарии: Попеременное отображение реализовала так. Как оптимизировать когда лимит2 исчерпан, а первые нет, голову сломала. private void tick02(Dr pr1, Dr pr2, int step, int limit1 = 100, int limit2 = 100) { DispatcherTimer timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, 100); EventHandler eh = null; int t = 0; bool fl = false; eh = (object mySender, EventArgs args) => { if (t <= limit1 && (fl = !fl)) pr1(t); else if (t <= limit2) { pr2(t); t += step; } else if (t > limit1) timer.Stop(); else t += step; }; timer.Tick += eh; timer.Start(); } 
5 Вложенные циклы 00:15:50 70 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Рассчитывать задержку. 
Сложности: Выводить первую отрисовку без задержек. 
Комментарии: Мой таймер принял такой вид. private void tick1(Dr pr, int step, int limit = 100, int interval = 100) { EventHandler eh = null; int t = 0; DispatcherTimer timer = new DispatcherTimer(); eh = (object mySender, EventArgs args) => { pr(t); t += step; if (t > limit) timer.Stop(); }; eh(this, new EventArgs()); timer.Tick += eh; timer.Interval = new TimeSpan(0, 0, 0, 0, interval); timer.Start(); } 
6 Внутренние условия 00:15:00 68 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Подставлять переменные вместо значений. 
Сложности: Добиться логики в вычислениях. 
Комментарии: Не знаю как у других, у меня задача убрать квадратики посередине в 16 функции не вызвала затруднений . 
7 Трёхмерные циклы 00:16:49 64 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 4 час. 00 мин. [Показать отчёт]
Научился: Поломала голову над отображением не более 25 кадров в секунду, помянула добрым словом гномиков... 
Сложности: Реализовать последовательное отображение элементов. 
Комментарии: Задумалась о прозрачном image, чтоб не перерисовывать рисунок полностью каждый раз. 
8 Спираль Архимеда 00:18:16 59 чел. ★ 5 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Рисовать стрелки, вспомнила школу. 
Сложности: Сделать спираль плавной. 
Комментарии: Этот урок получился проще предыдущих, не надо напрягаться с приоритетом отображения фигур. Осталось добавить цвета и запустить часики. 
9 ФИНАЛЬНЫЙ УРОК 57 чел. ★ 4.9 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 1 час. 00 мин. [Показать отчёт]
Научился: 1.1. Работать с циклами. 1.2. Научилась работать с таймерами на WPF. 1.3. Определять делегаты с помощью лямбда выражений. 1.4. Повторила работу с делегатами, структурами, листами. 1.5. Научилась рисовать на Image. 1.6. Расставлять кнопочки, используя массивы. 1.7. Повторила школьную программу и запустила часики. 1.8. Вспомнила, что глазу хватает 25 кадров в секунду и обновлять картинку чаще не имеет смысла. 
Сложности: 2. Весь курс для меня был одним большим экспериментом.  
Комментарии: 3. Эффективнее все загнать в цикл, а затем разом все отобразить, но тогда не будет анимации. А вот часики, как нечто почти законченное приложу. Думаю с морским боем разобраться. dataGrid на WPF не подошел по ряду причин, попробую найти другой способ расстановки кораблей. Например grid + image использовать. 
10 VIP - Квадрат Гарри Поттера 00:09:39 36 чел. ★ 5 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Выводить графики в консоли. 
Сложности: Вывести графики с модулями. 
Комментарии: Заклинания на картинке. 
11 VIP. Узоры на окружности 00:23:45 44 чел. ★ 5 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 30 мин. [Показать отчёт]
Научился: Создавать красивые узоры с помощью простых линий. 
Сложности: Выложить видео. 
Комментарии: Завораживает и ничего не мигает. Скорость сделала максимальной, минутное видео получилось. 
Видеообзор: https://youtu.be/RPWbjMJ6rVA
12 VIP. Спирограф 00:05:43 32 чел. ★ 5 Done
  Отчёт отправил: 1232. Фомичева Наталья Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Реализации спирографа. 
Сложности: Сложный вопрос... Наверно изобразить окружность, которая движется. 
Комментарии: Полный цикл было бы не плохо вычислить у спирографа. 
Видеообзор: https://youtu.be/8lZ-EU1m7GY
  Итого:   12 видеоуроков общей продолжительностью 2 час. 44 мин. 28 чел. ★ 4.95  
  Финалисты:   Alcatraz,   Tekashnik,   Neverwinter 2,   Кирилл Лебедев,   Алексей В.,   Minergimn,   Сергей Витальевич,   Константин,   Фомичева Наталья,   Владимир,   220s,   Сергей Зулкарнаев,   Станислав,   Сергей Аникин,   Елена,   Permitin Alexey,   Rita,   Дмитрий,   Denis,   Александр,   Иван,   Алексей Малышев,   aleksey-k,   Сергей Стефаненко,   Alexander Sidorov,   Новопашин Владимир,   Николай Денисов,   Bazel .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Печатать на клавиатуре, что бы кнопочки не "клацали".
Трудности: Печатать на клавиатуре, что бы кнопочки не "клацали".
1. Понравились ли тебе задачи? Задания понравились. Очень наглядно показана работа циклов. На примере массивов так, наверно, неполучится. 2. Какие навыки ты приобрёл? Было закрепление работы с массивами и работы с графикой в C#. 3. Ставил ли ты свои эксперименты над циклами, какие? Пробовал, но рисунки как-то получались не очень
1. Да, мне понравилось как мы ставили цель и выполняли её. 2. Стал лучше понимать циклы. 3. Да, я делаю с циклами всё что в голову придёт. Например: изменяю условия цикла, добавляю в имеющийся цикл ещё один. 4.(3.) Следующий у меня будет "Начинающий уровень № 2".Эх! А я ведь помню то как я делал игру "лабиринт 2d".Да-а тогда я был в шоке от того, как легко создать на форме кнопку :)