Си шарп с нуля

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

основатель — Волосатов Евгений Витольдович
Робот Шарп возобновит работу 5 сентября в 21:00.

Евгений

Видеокурсы

Дата активности Видеокурс Прогресс
2019-07-14 power Дневник успеха 5 из 210 84 %
2019-07-12 task4 Графические циклы 10 из 13 77 %
2019-07-11 soft3 Теория ООП 7 из 39 18 %
2019-07-07 soft0 Демо софт все 8 115 %
2019-07-05 game0 Демо игры все 10 100 %
2019-06-19 soft1 Нанософт 1 из 10 10 %
2019-06-17 start Начало здесь все 9 %
Итого: 50 из 299 17 %

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

Дата активности Консольный раздел Прогресс
2019-07-12 task1 Целые числа 6 из 7 86 %
2019-07-12 solo C# набор 12 из 17 71 %
2019-07-10 book 000. Строки 4 из 8 50 %
2019-07-08 task1 Семантика все 6 100 %
2019-07-06 solo YESOLO on the Keyboard 7 из 0 %
2019-07-04 club 24 - Муза Оля 1 из 3 34 %
2019-06-30 solo Java - Запуск 9 из 13 70 %
2019-06-17 solo Алфавит 2 из 0 %
2019-06-09 task2 Алгоритмика 18 из 20 90 %
Итого: 65 из 74 88 %
Сохранить страницу:

22875. --
Леонид
Леонид
ответить
→  Евгений  # Консоль / Строки / Trim/Start/End / 2019-10-28 10:03

Потому что при таком способе программа никак не обрабатывает табуляцию.


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Графические циклы / ФИНАЛЬНЫЙ УРОК / 2019-07-24 09:08

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


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Евгений  # Графические циклы / ФИНАЛЬНЫЙ УРОК / 2019-07-13 21:52

Справедливое замечание.


11589. --
Yefim
Yefim
ответить
→  Евгений  # Графические циклы / ФИНАЛЬНЫЙ УРОК / 2019-07-13 07:12

Полносью согласен с тобой, Евгений!
Подобные "уроки" должы быть свободными от оплаты.


2639. --
Морозов Юрий Александрович
Морозов Юрий Александрович
ответить
→  Евгений  # Теория ООП / Структура vs Класс / 2019-07-12 01:08

Меня долго мучал вопрос: чем отличается структура от класса.
Пока не посмотрел этот урок.
VS нужно знать как свои 5 пальцев :)


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Теория ООП / Первый класс / 2019-07-10 06:45

Мне кажется этот курс надо дополнить принципами S.O.L.I.D в виде vip уроков. Заодно объяснить каждую букву акронима. Ведь это тоже часть ООП. Ну вот кстати я не знаю есть ли в C# внедрение зависимостей и как это выглядит? По идее должна быть.  Потому что с инкапсуляцией , наследованием, полиморфизмом понятно, с интерефейсами тоже, хочется еще дальше развить этот курс.


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Теория ООП / Инкапсуляция мечты / 2019-07-09 11:09

Ну так в принципе ты интуитивно правильно выразил мысль - то есть инкапсуляция - это сокрытие реализации чего-то.  Вроде ничего сложного. Для этой самой инкапсуляции в C#, в класах используются модификаторы доступа типа public, private, internal и protected.  По умолчанию стоит internal. Я думаю ты или сейчас или потом узнаешь, что это такое. Можешь погуглить.


21721. --
Евгений
Евгений
ответить
→  Валерий  # Демо софт / Двенадцать месяцев / 2019-07-04 20:47

Красиво сделал, молодец!


16568. --
Игорь Тюлькин
Игорь Тюлькин
ответить
→  Евгений  # Демо софт / Квадратный калейдоскоп / 2019-07-04 09:07

Человеку тяжело из-за того, что он новичок, а не из-за того, что его бесит подача материала, ...причем здесь вообще подача? Материал подается исчерпывающе и по делу...


16568. --
Игорь Тюлькин
Игорь Тюлькин
ответить
→  Евгений  # Демо софт / Квадратный калейдоскоп / 2019-07-04 09:04

Владимир, да речь тут не об этом...


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Графические циклы / Диагональные линии / 2019-07-04 07:06

Молодец Евгений! Смотрю по несколько проектов ведешь!


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Демо софт / Квадратный калейдоскоп / 2019-07-04 07:01

Я тут недавно смотрел интервью Юлии Меньшовой в передаче "Я сама" (так меня и подмывает написать, а почему нет передачи мужского взгляда "Я самец" - ну да ладно) и она брала интервью у одного молодого парня бизнесмена. Он сказал такую вещь "Хотите идею для бизнеса? Вот вас что-то бесит в жизни - создайте из этого бизнес". Ну так и тут - тебя бесит подача материала - создай свой видеоурок и ты даже можешь в vip уроках его выложить  (Витольдович никогда не был против такого) - заодно пропиаришься, а если свой курс запилишь, то сможешь как ребята - Валера Жданов, Шмойлов Кирилл , Лена Вставская иметь денюжку. Ах да - ты можешь все попытаться организовать сам. Ну это так. А вот в принципе идея - не выходя из проекта - сделать свое.


16568. --
Игорь Тюлькин
Игорь Тюлькин
ответить
→  Евгений  # Демо софт / Квадратный калейдоскоп / 2019-07-04 05:00

Привет, почти все видео уроки на этом сайте несут чисто практический подход, так как мы пишем программы от начала и до конца. Само собой они будут сложны для понимания, но тут, как мне кажется, больше положительного фактора, ведь мы получаем практический опыт разработки. Естественно по ходу урока надо еще дополнительно додумывать откуда и что берется, может быть читать дополнительную литературу по ходу кода, но зато в одном видео уроке сразу целый Клондайк полезной и новой информации без всякой воды, что делает каждый урок бесценным. Я сам смотрю некоторые уроки не по одному разу, чтобы вникнуть до конца. Но зато когда вникаешь получаешь удовольствие.


1. --
Евгений Волосатов
Евгений Волосатов
ответить

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Евгений  # Графические циклы / Подготовка графики / 2019-07-02 23:25

Главное в координатах разобраться


1. --
Евгений Волосатов
Евгений Волосатов
ответить

7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Демо игры / VIP. Устный счёт / 2019-07-01 20:51

Да очень просто он работает - у него есть свойство - Minumum - указываешь минимальное значение и Maximum - указываешь максимальное значение. Ты меняешь свойстсво Value. В результате , чем больше это значение к тому, что указал в Maximum, тем больше показывает Progress. Как правило в Minumum ставят 0, в Maximum - 100 и дальше в зависимости от процента выполнения задачи меняют Value.


21721. --
Евгений
Евгений
ответить
→  Игорь Тюлькин  # Демо игры / Камень ножницы бумага / 2019-06-29 23:22

Спасибо, за теплый отзыв. Думаю, что так и поступлю, поскольку понимаю, что скорость без практики не появится.
А вот с ежедневной практикой, увы не всегда получается. Дефицит времени никто не отменял, однако все свободное время дома уделяю учебе (скучно без нее жить). А тут, на сайте всегда есть чем соображалку потренировать.


16568. --
Игорь Тюлькин
Игорь Тюлькин
ответить
→  Евгений  # Демо игры / Камень ножницы бумага / 2019-06-29 23:04

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


11353. --
AlliZzeN
AlliZzeN
ответить
→  Евгений   / 2019-06-23 00:11

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


21721. --
Евгений
Евгений
ответить
→  AlliZzeN  # Демо софт / Английские карточки / 2019-06-22 23:30

Наверное так и поступлю немного позже, снова ее перепишу. Кстати метод который мне помогает понимать - пишу код за Евгением и следом (для себя) пишу комментарии, если все правильно обозначу, то довольно просто разбираться в последствии "что", "откуда" и "почему".


21721. --
Евгений
Евгений
ответить
→  Иван  # Демо игры / Лабиринт 2D - игра / 2019-06-22 23:25

Привет. Скинул код. Вроде как start_game() немного ниже, при загрузке формы...

private void FormLevel3_Shown(object sender, EventArgs e)
{
start_game();
}


21721. --
Евгений
Евгений
ответить
# Демо игры / Лабиринт 2D - игра / 2019-06-22 23:23

namespace Labirint2D
{
    public partial class FormLevel3 : Form
    {
        public FormLevel3()
        {
            InitializeComponent();
            start_game();
        }

        int box_left = 9;// количество монеток при старте

        private void start_game()
        {
            Point point = label_start.Location;
            point.Offset(label_start.Width / 2, label_start.Height / 2);//появление курсора по центру label_start
            Cursor.Position = PointToScreen(point);
            Sound.play_start(); //вызов функции проигрывания музыки
            label_door.Visible = true; // устанавливаем дверь
            label_key.Visible = true; // устанавливаем ключ
            label_flash3.Visible = true;
            label_flash4.Visible = false;
            box_left = 4; // количество монеток при старте
            //делаем 4 монеток видимыми
            label_box1.Visible = true;
            label_box2.Visible = true;
            label_box3.Visible = true;
            label_box4.Visible = true;
        }

        private void finish_game()
        {
            this.DialogResult = System.Windows.Forms.DialogResult.OK;//закрыть форму уровня
        }

        private void restart_game()
        {
            Sound.play_fail(); //проигрывать музыку проигрыша
            DialogResult dr = MessageBox.Show("Вы коснулись стены лабиринта!\n\nПовторим?",
                "Вы проиграли!", MessageBoxButtons.YesNo);
            if (dr == System.Windows.Forms.DialogResult.Yes)
                start_game();//если нажата кнопка "ОК"? Запуск новой игры
            else
                this.DialogResult = System.Windows.Forms.DialogResult.Abort;// выход из формы
        }

        private void FormLevel3_Shown(object sender, EventArgs e)
        {
            start_game();
        }

        private void timer1_Tick(object sender, EventArgs e)
        //тайиер, который меняет видимость label_flash2 и label_flash3
        {
            label_flash3.Visible = !label_flash3.Visible;
            label_flash4.Visible = !label_flash4.Visible;
        }

        private void label8_MouseEnter(object sender, EventArgs e)
        {
            restart_game();
        }

        private void label_teleport1_MouseEnter(object sender, EventArgs e)
        {
            Point point = label_key.Location;
            point.Offset(label_key.Width / 2, label_key.Height / 2);//появление курсора по центру label_start
            Cursor.Position = PointToScreen(point);
        }

        private void label_teleport2_MouseEnter(object sender, EventArgs e)
        {
            Point point = label_teleport3.Location;
            point.Offset(label_teleport3.Width / 2, label_teleport3.Height / 2);//появление курсора по центру label_start
            Cursor.Position = PointToScreen(point);
        }

        private void label_finish_MouseEnter(object sender, EventArgs e)
        {
            if (box_left == 0) //если собрали все монетки
                finish_game(); //событие при наведении курсора мышки на label_finish
        }

        private void label_key_MouseEnter(object sender, EventArgs e)
        {
            label_door.Visible = false; // убираем дверь
            label_key.Visible = false; // убираем ключ
            Sound.play_key(); //воспроизведем звук для ключа
        }

        private void label_box1_MouseEnter(object sender, EventArgs e)
        {
            //сначада нужно узнать на какую именно монетку мы навели курсор
            //это делается с помощью объекта sender
            ((Label)sender).Visible = false;//исчезновение монетки
            Sound.play_key(); //проигрываем мелодию
            box_left--; // уменьшаем кол-во оставшихся монет
        }


2146. --
Иван
Иван
ответить
→  Евгений  # Демо игры / Лабиринт 2D - игра / 2019-06-21 15:25

Привет. Может потому что функция start_game() не вызывается после InitializeComponent() в  первой функции?


11353. --
AlliZzeN
AlliZzeN
ответить
→  Евгений  # Демо софт / Английские карточки / 2019-06-21 08:11

Хорошо что сделал) и попытался вникнуть. Но я бы ещё раз написал без подсказок. Для лучшего запоминания на листке нарисовал бы блок схему программы. Если немного посидеть, ничего сложного в ней нету, только кажется что куча всего.


16568. --
Игорь Тюлькин
Игорь Тюлькин
ответить
→  Евгений  # Демо игры / Лабиринт 2D - меню / 2019-06-20 20:26

Привет, очень интересный видеоурок ты прошел. Когда-то давно я тоже написал подобный лабиринт по этому видеоуроку. У меня получилось, помню, 3 уровня, плюс еще телепортеры сделал в игре. А сколько уровней получилось у тебя, если не секрет? Или ты пока что еще на этапе создания меню? Молодец, что набираешься опыта, так держать, продолжай в том же духе...Успехов тебе!... Кстати картинку на форму главного меню очень клевую подобрал!


21721. --
Евгений
Евгений
ответить
→  Новопашин Владимир   / 2019-06-20 16:59

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


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Демо софт / Английские карточки / 2019-06-20 15:53

Неужто урок такой скучный?


21721. --
Евгений
Евгений
ответить
# Консоль / Целые задачи / Куры и яйца / 2019-06-19 19:28

Не смог понять почему "A * A / 5" - не работает, а "(A / 5) * 5" - работает. Если кто то знает подскажите пожалуйста.


21721. --
Евгений
Евгений
ответить
→  Новопашин Владимир   / 2019-06-18 17:38

Спасибо за информацию, гляну на досуге. Наверное я неправильно выразился... мне нравится этот проект, мне нравится раздел консоль с задачами, не исключаю что далее будут и интересные видеокурсы. Мне не очень понравилось, что меня заставили (в самом начале) записать видеокурс. Было чувство, что меня поставили на сцену и я фальшиво играю никому ненужную роль;) Осталось смазанным понимание для чего мне это нужно в самом начале обучения :)


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Евгений  # Начало здесь / День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. / 2019-06-18 08:22

Ну вообще если есть желание покодить, то есть проект 100 идей. Вот можно выбрать идею по душе и программить. Лучше ставить большую цель - тогда не будет не нужных программ.


21721. --
Евгений
Евгений
ответить
→  Dmitry Sinitsin  # Начало здесь / День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. / 2019-06-17 23:13

А для чего мне видео с примитивной программкой? Писать ее было интересно, а вот снимать об этом видео - нет. Более менее пристойных программок я еще не писал, поэтому и неинтересно было снимать видео.


17947. --
Dmitry Sinitsin
Dmitry Sinitsin
ответить
→  Евгений  # Начало здесь / День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. / 2019-06-17 23:00

"видео с никому ненужной программкой."


21721. --
Евгений
Евгений
ответить

17947. --
Dmitry Sinitsin
Dmitry Sinitsin
ответить

12260. --
Никита Рублев
Никита Рублев
ответить
→  Евгений  # Демо игры / C# чего начать программировать / 2019-06-17 12:03

Спасибо, Евгений.


21721. --
Евгений
Евгений
ответить
→  Никита Рублев  # Демо игры / C# чего начать программировать / 2019-06-16 21:22

Хорошее стремление, хочешь - значит познаешь. Добро пожаловать в занимательный мир C#!


21721. --
Евгений
Евгений
ответить
# Консоль / Символы / Висагинас / 2019-06-11 21:57

string word = "Visaginas";
            for (int i = 0; i < word.Length; i++)
            {
                Console.Write(Convert.ToInt32(word[i]) + " ");
            }
            Console.WriteLine();


21721. --
Евгений
Евгений
ответить
# Консоль / Символы / Висагинас / 2019-06-11 21:56

Не понял для какой цели тут обязательным условием является Console.WriteLine();
В итоге написал его только для того, чтобы робот принял работу.


21714. --
grom518
grom518
ответить
→  Евгений  # Демо игры / C# чего начать программировать / 2019-06-11 15:57

Начало есть! И это уже не плохой результат. Можно смело продвигаться дальше к вершинам программирования. Самое главное выработать ежедневную привычку программировать и что-то делать на данном курсе.!!!


21721. --
Евгений
Евгений
ответить
→  Aksinja  # Демо софт / Вступительное слово / 2019-06-11 14:56

Удачного путешествия в мир C#!


21870. --
Евгений
Евгений
ответить
→  Евгений   / 2019-06-11 00:27

Благодарю, Евгений, и тебе тоже!)


21721. --
Евгений
Евгений
ответить
→  Роман  # Демо софт / Вступительное слово / 2019-06-09 11:21

Приятного путешествия в мире C#. Я тоже начал недавно и рекомендую раздел с задачами.


21721. --
Евгений
Евгений
ответить
→  Юрий  # Демо игры / C# чего начать программировать / 2019-06-09 09:19

Главное процесс! ;-)


21721. --
Евгений
Евгений
ответить
# Консоль / Алгоритмика / Простые массивы. / 2019-06-08 20:36

Лично меня ввела в заблуждение формулировка задачи:
"Дан массив из N (от 1 до 100) целых чисел.
Посчитать, сколько в нём нулевых элементов, вывести их количество."
Данная формулировка говорит о количестве нулевых элементов вообще, а по факту если элемент массива выглядит "101", то это не должно считаться как наличие нуля, а вот если "0", тогда это считается нулем.
В общем было бы не плохо внести большую конкретику в условие.


21721. --
Евгений
Евгений
ответить
→  Евгений  # Демо софт / Вступительное слово / 2019-06-08 20:04

Удачного путешествия в мире С#!


21721. --
Евгений
Евгений
ответить
→  Роман  # Демо софт / Двенадцать месяцев / 2019-06-07 19:31

С картинками пейзажей соответствующих временам года было бы посимпатичнее, но суть конечно не в картинках ;)


21721. --
Евгений
Евгений
ответить
# Консоль / Алгоритмика / Последовательность / 2019-05-31 17:32

Решил только благодаря видео.


21721. --
Евгений
Евгений
ответить
# Консоль / Алгоритмика / For-то-чки / 2019-05-28 22:02

Было бы неплохо указать об обязательной необходимости использовать Console.WriteLine(); Так как пришлось добавить в конце, только для того, чтобы робот начал проверку...
            int N = Convert.ToInt32(Console.ReadLine());
            string smile = ")";
            int i;
            Console.Write(":-");

            for (i = 0; i < N; i++)
            {
                Console.Write(smile);
            }
            Console.WriteLine();


21721. --
Евгений
Евгений
ответить
# Консоль / Строки / Trim/Start/End / 2019-05-27 19:41

Подскажите пожалуйста почему не проходит один из шести тестов данный код:
            string str = Console.ReadLine();
            Console.WriteLine("[" + str.TrimStart(new char[] { '[', ' ' }));
            Console.WriteLine(str.TrimEnd(new char[] { ']', ' ' }) + "]");
            Console.WriteLine("[" + str.Trim(new char[] { '[', ']', ' ' }) + "]");


21721. --
Евгений
Евгений
ответить
# Консоль / Строки / Replace / 2019-05-27 18:26

Не смог решить без просмотра видео.


21721. --
Евгений
Евгений
ответить
# Консоль / Целые числа / Пирамида / 2019-05-25 22:00

Все испробованные способы робот не принял. Например не совсем понял почему был заблокирован цикл foreach, ведь в условии были под запретом только for и if... В общем не смог выполнить без видео.


21721. --
Евгений
Евгений
ответить
→  Максим Лапшинов  # НаноШахматы / HTML5 - Поднятие фигур / 2019-05-16 21:01

Долго это - хорошо! Лучше запомнишь)


14981. --
DimanDOS
DimanDOS
ответить
→  Евгений  # Демо софт / Вступительное слово / 2019-05-16 16:20

Приветствую, Евгений! Добро пожаловать на проект! Здесь вы научитесь программированию и напишите много своих программ! Удачи! И помните, что Вы не просто программист, а
ппппп    ррррррр  ооооооо   
п      п    р          р  о          о   
п      п    ррррррр  о          о         
п      п    р              о          о   
п      п    р              ооооооо    ГРАММИСТ!


10365. --
Rita
Rita
ответить
→  Евгений  # Демо софт / Вступительное слово / 2019-05-16 13:23

Приветствую, Евгений!
Добро пожаловать! Желаю удачи в изучении программирования!


  • Звание:
  • Накопленный опыт:
  • Собранный капитал:

Клуб формулистов

Правила клуба формулистов

У каждого формулиста есть задача минимум на каждый день:
+ зайти на сайт, проверить один отчёт, получить 1 байт.
Задача максимум - выполнить все остальные ежедневные задачи.
Нажмите здесь чтобы перейти к ежедневному чек-листу.

В 24:00 МСК накопленные за сутки байты переносятся в недельный актив.
В воскресение 24:00 МСК все накопленные байты переходят на баланс формулиста.

Собранные байты можно обменивать на доступные видеокурсы (1 байт = 1 рубль, без скидок)
Приобретённые за байты видеокурсы доступны только во время нахождения в автобусе/клубе формулистов!

При завершении подписки в автобусе/клубе формулистов все накопленные байты обнуляются, а доступ к видеокурсам, приобретённым за байты, закрывается.
Продлевайте подписку заблаговременно.

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





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

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

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

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


Научился: Рисовать прямоугольник и прямую (хотя, если быть откровенным, то этому я научился в курсе "Графоциклы").



Научился: Учитывая, что я схитрил в предыдущем уроке. Написанный автокликер не смог побить мой рекорд.
Трудности: Полноценно понять функцию скопированную с помощью google, но это наверное не критично сейчас.