Си шарп с нуля

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




Артем Посунько
  • Звание: Наследник
  • Накопленный опыт: 321 час
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2017-06-13 16:32:38
  • Возраст: 23 года

Видеокурсы

Дата активности Видеокурс Прогресс
2017-05-11 soft3 Теория ООП все 39 100 %
2017-04-07 game1 Наноигры 1 из 10 10 %
2017-03-26 task1 Семантика все 1 100 %
2017-03-02 game0 Демо игры 3 из 10 30 %
Итого: 44 из 60 74 %

Консольные задачи

Дата активности Консольный раздел Прогресс
2017-04-23 task2t Матрицы 2 из 4 50 %
2017-04-22 task2q Простые массивы все 8 100 %
2017-04-22 task2s Строки все 6 100 %
2017-04-20 task2r Подпрограммы 8 из 14 58 %
2017-04-18 task2o Матрёшки все 9 100 %
2017-04-17 task2m Любимые циклы все 6 100 %
2017-04-17 task2n По цифрам все 8 100 %
2017-04-16 task2l Математика все 9 100 %
2017-04-16 task2j Вечность все 5 100 %
2017-04-16 task2k Последовательность все 6 100 %
2017-04-07 task2i Узник цикла IF все 6 100 %
2017-04-07 task2d For-to-чки все 26 100 %
2017-04-07 task2h Точка и плоскость все 6 100 %
2017-04-07 task2g Обман цикла все 7 100 %
2017-04-06 task2e Пока-цикл все 6 100 %
2017-04-06 task2f Do-рацикл все 4 100 %
2017-04-04 task2c Условный оператор все 16 100 %
2017-04-03 task2b Логика все 13 100 %
2017-04-02 task2a Типы данных все 5 100 %
2017-03-31 task2 Алгоритмика все 20 100 %
2017-03-26 task1i Календарь все 16 100 %
2017-03-26 task1c Лирика все 14 100 %
2017-03-23 task1f Геометрия все 8 100 %
2017-03-23 task1g Целые задачи все 11 100 %
2017-03-23 task1h Цифры все 12 100 %
2017-03-22 task1d Формулы все 9 100 %
2017-03-22 task1e Символы все 5 100 %
2017-03-10 task1b Строки все 14 100 %
2017-03-09 task1a Целые числа все 7 100 %
2017-03-02 task1 Семантика все 6 100 %
Итого: 278 из 286 98 %
Сохранить страницу:

12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин   / 2017-05-11 21:02

Спасибо!
Пробовал, но не получилось ничего. Пробовал через гарнитуру Аппловскую записывать, в итоге первый обзор остался без звука)


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. / 2017-05-11 20:36

Обзор интересный, но надо поработать над фильтром шумоподавления, чтобы голос не сливался с общим фоном и вращением кулера.


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. / 2017-05-11 20:33

Молодец, удачи в изучении Unity, а думать надо всегда самому, за тебя этого делать никто не будет =)


12841. Артем Посунько
Артем Посунько
ответить
# Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. / 2017-05-11 01:51

Забыл рассказать что такое интерфейс.
Интерфейс - это набор методов, без реализации, которые в дальнейшем будут унаследованы классами и реализованы внутри них. Предназначается для задания общих правил поведения классов.


7119. Новопашин Владимир
Новопашин Владимир
ответить

3922. Александр
Александр
ответить
→  Артем Посунько  # Теория ООП / Интерфейс. ФИНАЛЬНЫЙ УРОК. / 2017-05-09 11:34

Молодец, Артем! Поздравляю с финалом!


5649. Максим Лапшинов
Максим Лапшинов
ответить

10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько   / 2017-05-08 12:41

Способов всегда как минимум 2, выбирать надо наиболее оптимальный и безопасный, чтобы 100% быть уверенным в работе ПО. Эксперименты наше всё!!!


12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин   / 2017-05-08 12:28

Сколько способов то сделать одно и то же.
Спасибо за информацию!


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК. / 2017-05-08 12:06

Кстати, можно ещё так:
public Line (Pixel start, Pixel end, Color? color = null)
{
    this.start = start;
    this.end = end;
    pen = new Pen(color.GetValueOrDefault(Color.Black));
}


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК. / 2017-05-08 12:03

У меня проблем с компиляцией в этом случае никогда не было. Потому что там не null возвращается, а Color.Empty, ошибки не будет, будет цвет сброшен и взят по-умолчанию для того объекта к которому он применён.


12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин  # Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК. / 2017-05-08 08:39

Не знал про default.  Но в таком случае Color будет равен null, и если мы не выставляем цвет, то программа не скомпилируется. Надо все равно добавить условие что если null, то цвет будет черный.


7119. Новопашин Владимир
Новопашин Владимир
ответить
→  Артем Посунько  # Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК. / 2017-05-06 17:51

Прикольный код.


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / ПОЛУФИНАЛЬНЫЙ УРОК. / 2017-05-06 14:51

Молодец, хорошо нагуглил, но можно было и по старинке:
public Line (Pixel start, Pixel end, Color color = default(Color))
{
    this.start = start;
    this.end = end;
    pen = new Pen(color);
}


8275. Tekashnik
Tekashnik
ответить
→  Артем Посунько  # Теория ООП / Интерфейс. Зачем он нужен. / 2017-05-06 14:37

Так зачем же нужен интерфейс?


12841. Артем Посунько
Артем Посунько
ответить
→  Алексей В.  # Теория ООП / Перемещение круга / 2017-05-05 14:00

Спасибо!


10494. Алексей В.
Алексей В.
ответить
→  Артем Посунько  # Теория ООП / Перемещение круга / 2017-05-05 12:22

Артем, молодец!!! Так держать!!!


1295. Дмитрий Че
Дмитрий Че
ответить
→  Артем Посунько  # Теория ООП / Рисуем Снеговика / 2017-05-03 20:59

На дворе практически лето, но снеговика все же слепил! Программисту все по плечу!


12841. Артем Посунько
Артем Посунько
ответить
→  Андрей Козлов  # Теория ООП / Второй класс / 2017-04-24 22:09

Отличная работа! Так держать!


12841. Артем Посунько
Артем Посунько
ответить
# Теория ООП / Второй класс / 2017-04-24 21:38

Спасибо за поддержку!


10309. Станислав
Станислав
ответить
→  Артем Посунько  # Теория ООП / Второй класс / 2017-04-24 20:34

Молодец, Артем! С таким подходом успех тебе обеспечен!


7119. Новопашин Владимир
Новопашин Владимир
ответить
→  Артем Посунько  # Теория ООП / Первый класс / 2017-04-24 11:47

А вообще есть у нас есть список рекомендованной литературы - must read?


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько  # Теория ООП / Первый класс / 2017-04-24 08:20

Интересный совет, спасибо :)


3922. Александр
Александр
ответить
→  Артем Посунько  # Теория ООП / Второй класс / 2017-04-24 08:06

Молодец, Артем, хорошая работа! Так держать!


3922. Александр
Александр
ответить
→  Артем Посунько  # Теория ООП / Первый класс / 2017-04-23 16:40

Молодец, Артем! Так держать!


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / Матрицы / Максимумы / 2017-04-22 21:53

Робот шарп не воспринимает цикл foreach? Или foreach берет слишком много памяти? Тайм-аут когда пытаюсь использовать данный цикл


12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин  # Наноигры / Арканоид - Уровень и ракетка / 2017-04-07 10:21

Теперь понял, спасибо.


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Наноигры / Арканоид - Уровень и ракетка / 2017-04-07 05:55

А что тут не ясного? ax1 это временная переменная, которая определена в пределах данной функции и перестаёт существовать после завершения её работы, а та, куда передаётся информация определена ранее глобально и продолжает существовать после завершения функции. Следовательно значение которое в ней остаётся, оно никуда не теряется и с ним взаимодействуют дальше другие функции. Это как автомобиль и зажигалка:
Автомобиль это глобальная переменная, а зажигалка это внутренняя. Автомобиль можно заправить и он останется заправленным сидишь ты в нём или покинул его. А зажигалку можно либо оставить в бардачке и тогда любой другой, кто сядет в автомобиль сможешь ею воспользоваться, либо забрать её с собой и тогда тот, кому она понадобится, не сможет её найти.


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / For-to-чки / Псевдо-квадраты / 2017-04-06 17:22

int N = Int32.Parse(Console.ReadLine());
            for (int i = 0; i < N; i++)
                Console.Write(" _");
            Console.WriteLine(" ");
            for (int i = 0; i < N; i++)
                Console.Write("|_");
            Console.Write("|");
Не проходит.
С робот шарпом что-то не так.


12841. Артем Посунько
Артем Посунько
ответить
→  Евгений Волосатов   / 2017-04-05 21:33

Понял, спасибо!


12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин  # Теория ООП / Инкапсуляция мечты / 2017-04-05 21:33

Ок, понял, спасибо!


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-05 20:45

В курсе "Теория ООП" первый урок просто бесплатный, он не относится к активистам. Чтобы были доступны остальные уроки этого курса, надо выполнить все курсы до него в порядке очереди или купить этот курс, если тебе надо пройти его без очереди. Поэтому вначале надо пройти sharp1, когда там уроки кончатся, будут даваться уроки из sharp2 и так далее.


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько   / 2017-04-05 19:26

вы его прошли потому что к нему бесплатный доступ, к улитке это не имеет отношения.


12841. Артем Посунько
Артем Посунько
ответить
→  Иван Воронин  # Теория ООП / Инкапсуляция мечты / 2017-04-05 19:22

Да, но я прошел первый урок в видео курсе Теория ООП. Соответственно, ожидал открытия второго урока в этом же курсе. Отчет отправил вчера, т.е. сегодня утром он должен был открыться. Или проходить нужно все видео курсы с самого начала?
И на этой страничке у меня показывается курс Теория ООП,
https://yadi.sk/i/tD8KSQEo3GgzjE


12841. Артем Посунько
Артем Посунько
ответить
→  Евгений Волосатов   / 2017-04-05 19:20

Да, но я прошел первый урок в видео курсе Теория ООП. Соответственно, ожидал открытия второго урока в этом же курсе. Отчет отправил вчера, т.е. сегодня утром он должен был открыться. Или проходить нужно все видео курсы с самого начала?


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-05 16:28

https://www.videosharp.info/video на этой страничке показаны все доступные уроки и те, которые идут по принципу улитки. Каждый следующий урок доступен после 5 утра если до 5 утра был выполнен предыдущий урок.


3475. Daria
Daria
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-05 15:34

Это же еще и механизм мощный в ооп для защиты данных и методов от вмешательства или неправильного использования. в C# вот манипулируя у свойств параметрами доступа можно защитить создаваемый объект.


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько   / 2017-04-05 10:46

Читай внимательно условия.
Следующий урок открывается в 6 утра, если предыдущий был выполнен.
Ты не выполнил первый урок: https://www.videosharp.info/video/game1/nr=144
Когда его сделаешь и отправишь отчёт - на след. день получишь след. урок.


12841. Артем Посунько
Артем Посунько
ответить
→  Евгений Волосатов  # Теория ООП / Инкапсуляция мечты / 2017-04-05 10:08

Евгений Витольдович, не могу перейти с следующему уроку по принципу улитки. Не подскажете, почему так?


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-05 04:55

Всему своё время, практика даст все ответы.


12841. Артем Посунько
Артем Посунько
ответить
# Теория ООП / Инкапсуляция мечты / 2017-04-04 11:44

Спасибо, разберусь со временем!


3922. Александр
Александр
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-04 11:28

Артем! Инкапсуляция - сокрытие внутри объекта private полей, доступ к которым запрещён напрямую. Для того, что бы менять значение этих полей  или просто получать извне какую-то информацию, используются специальные методы - геттеры и сеттеры. Самое главное во всём этом, что эти специальные методы могут не просто давать доступ к внутренним полям класса, но ещё и производить какие либо действия. В C# пошли дальше и придумали Свойства, но это уже особенности конкретного языка, а смысл всё тот же.


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько  # Теория ООП / Инкапсуляция мечты / 2017-04-04 11:16

Дальше будет понятнее.


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / Логика / Побитовое НЕ / 2017-04-03 22:32

Интересно. Не знал про побитовые логические операции.


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / Алгоритмика / Регулярные выражения / 2017-03-31 21:53

Добрый день.
Хотелось бы пояснения, чем Regex отличается от стринг и какие преимущества и другие возможности. Иначе смысла в уроке особого нет. Как говорится, тема не раскрыта)


12841. Артем Посунько
Артем Посунько
ответить
/ 2017-03-28 09:34

Елена, спасибо Вам)
Иван, этот момент понятен стал, спасибо.


4004. Елена
Елена
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-28 05:25

Я нормально отношусь к конструктивной критике. Действительно, раз возник вопрос, то надо переделать видеорешение и объяснить непонятные моменты.
Я ведь тоже учусь :) И эти видеорешения - мой первый опыт записи видео.
Спасибо за замечание, Артём!


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-28 01:02

Я думаю тут всё ясно, в году 365 дней. а в месяце 30 (количество примерное) если сравнить вначале год, то сразу экономия в 365 итераций, дошли до нужного года, сравниваем месяцы, тоже экономия в 30 раз, когда дошли до месяца, тогда уже тюнинг посуточно, т.е. 1 день = 1 итерация, итого имеем более оптимальное решение по скорости, можно было конечно и по дням прибавлять, только смысл тогда в годах и месяцах, есть такая штука как время в формате UNIX, там вообще в секундах, я вот люблю с ним работать по поводу ДАТ, намного быстрее, хотя и сложнее для понимания для кого-то.
з.ы.
По поводу остальных нюансов и недочётов в комментировании кода, ждём комментарий Елены.


12841. Артем Посунько
Артем Посунько
ответить
# Семантика / Я решил всю Семантику! / 2017-03-28 00:15

Я обращался к видео решениям всего несколько раз. Так чтоб основательно разобрать задача т.к. сам не мог. Задача Послезавтра сдала одной из низ.
Начиная с 28 секунды идет набор кода программы и его комментирование. Но комментирование идет элементарных вещей, как  считывание переменных и т.п., в чем собственно в последнем разделе семантики, пожалуй, для большинства нет необходимости.
А вот например почему мы сравниваем года, месяцы, числа добавляя к ним единицу - a.AddYears(1).CompareTo(b) < 1 не объяснено. И самому очень затруднительно было понять.
Или почему мы сначала прибавляем годы, потом месяцы, потом дни, а не наоборот.

Для меня вообще раздел календарь, пожалуй, стал самым затруднительным, т.к. не совсем понятно как С# работает с датами, как прибавляет, вычитает и т.п. 

Елена, не хотел Вас обидеть, не подумайте.
Владимир, сам записывать видео с решением не горю желанием, т.к. не вижу в этом необходимости, для меня этот этап пройден.


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 17:47

Опиши конкретно, в каком уроке, на какой mm:ss что было не так сказано, если это критично, я думаю перезапишут.


3146. Permitin Alexey
Permitin Alexey
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 14:10

Вы уверены? по моему она объясняет иногда даже лучше чем Евгений...(простите меня Евгений!)


4004. Елена
Елена
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 14:08

Артем, что именно плохо объяснено? Какая задача? Может, имеет смысл переделать видео к задачам?


10670. Сергей Соколов
Сергей Соколов
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 13:00

Поздравляю с завершением Семантики! =)


7119. Новопашин Владимир
Новопашин Владимир
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 09:29

)) Молодец Артем! Критиковать может каждый! Вот тебе задание - запиши видеоурок и объясни из темы LINQ - можешь любую другую тему взять!


3922. Александр
Александр
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 07:10

Молодец, Артем! Это круто!


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько  # Семантика / Я решил всю Семантику! / 2017-03-27 01:59

Артём, мои поздравления по заврешнеию Семантики!!!


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / Строки / Copy / 2017-03-09 14:42

Но тогда вот эта программа бы на втором выводе писала "s1: def s2: def". Но она этого не пишет.

string s1 = "abc";
string s2 = s1;
Console.WriteLine("s1: {0} s2: {1}", s1, s2);
s1 = "def";
Console.WriteLine("s1: {0} s2: {1}", s1, s2);
Console.ReadLine();


12841. Артем Посунько
Артем Посунько
ответить
# Консоль / Строки / Copy / 2017-03-09 14:34

Поясните, пожалуйста, момент один.
Разве когда мы описываем переменные после string (string s1, s2, s3) в памяти не выделяется место под эти переменные?
Получается, что место выделяет только тогда, когда мы первый раз ссылаемся на переменную?
Получается что при s3=s1 создается только ссылка, мол при обращении s3 иди к s1. А при s3 = String.Copy(s1); В s3 !хранится! такое же значение, что и s1.
Так?


7238. Константин
Константин
ответить
→  Артем Посунько  # Демо игры / Лабиринт 2D - меню / 2017-03-03 22:31

Не совсем понятно к чему велосипед игра вроде лабиринт...


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Демо игры / Лабиринт 2D - меню / 2017-03-03 09:58

Если тебе нужна теория, пройди вначале раздел "Консоль".
з.ы.
а вообще, гугл в помощь, если что-либо не понятно. С практикой приходится понимание.


11165. Сергей Д.
Сергей Д.
ответить
→  Артем Посунько  # Демо игры / Лабиринт 2D - меню / 2017-03-03 01:10

Здесь принцип такой: повторяешь урок - интересно, но непонятно. Чтобы стало понятнее, разбираешься с помощью книг, других курсов. Там всё по полочкам, но быстро сдается память без интересной практики. Возвращаешься сюда. И так по кругу.


11165. Сергей Д.
Сергей Д.
ответить
→  Артем Посунько  # Демо игры / Картинка с секретом / 2017-03-03 00:49

Кстати да, Иван дело говорит. Впрочем, как и всегда.


11165. Сергей Д.
Сергей Д.
ответить
→  Артем Посунько  # Демо игры / Картинка с секретом / 2017-03-03 00:47

Если легко, то ы молодец. Я там в одном месте заглючил, переделывал.


3922. Александр
Александр
ответить
→  Артем Посунько  # Демо игры / Вступительное слово / 2017-03-02 23:59

Молодец, продолжай учиться!


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Демо игры / Картинка с секретом / 2017-03-02 21:42

Как-то небрежно кнопки расставил, как будто по-быстрому набросал их на форму, добавил картинку, которую было бы лучше скетчнуть или зумнуть, а кнопки надо было ровнее расставить, чтобы красивее смотрелось. Не советую филонить при изучении. Войдёт в привычку и будешь низкокачественным спецом.


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько  # Демо игры / Лабиринт 2D - меню / 2017-03-02 20:16

Да, практический подход. Чтобы сразу видеть результат.
Рекомендую посмотреть раздел "Консоль" для решения задач.


12841. Артем Посунько
Артем Посунько
ответить
# Демо игры / Вступительное слово / 2017-03-02 18:46

Всем спасибо за поддержку, буду учиться)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Артем Посунько  # Демо игры / Вступительное слово / 2017-03-02 11:41

Для создания сайтов рекомендую курс Базовый аспект и Tinklavimas.
Для игр - демо игры, микроигры, сокобан и др.


10558. Иван Воронин
Иван Воронин
ответить
→  Артем Посунько  # Демо игры / Вступительное слово / 2017-03-02 10:44

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


10670. Сергей Соколов
Сергей Соколов
ответить
→  Артем Посунько  # Демо игры / Картинка с секретом / 2017-03-02 08:26

Молодец! =) Так держать! =)


10670. Сергей Соколов
Сергей Соколов
ответить
→  Артем Посунько  # Демо игры / Вступительное слово / 2017-03-02 08:19

Добро пожаловать! =)

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Разобрался получше с методом Move.
По сути Move ничего не перемещает, а только задает координаты смещения. Перемещает Draw, т.е. рисует того же снеговика с поправкой координат.
Научился: Рисовать круг. Немного поигрался с this и его применением. Стали понятнее некоторые вещи.
Все отлично, все понятно. Ответы на возникшие вопросы нашел сам.