Си шарп с нуля

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

AndreyGr
  • Звание: Рекурсист
  • Накопленный опыт: 152 часа
  • Баланс Мегахешей: собрано 6273 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2021-10-22 13:45:50
  • Возраст: 41 год

Видеокурсы

Дата активности Видеокурс Прогресс
2020-12-10 soft3 Теория ООП 23 из 39 59 %
2020-12-06 power Дневник успеха 4 из 251 67 %
2020-11-30 game1 Нано-игры 2 из 9 20 %
2020-11-28 game0 Демо игры все 10 100 %
2020-11-26 soft1 Нанософт все 10 100 %
2020-11-23 start Начало здесь все 9 %
2020-11-17 webinar Записи вебинаров 1 из 24 %
2020-11-17 soft0 Демо софт все 8 115 %
Итого: 67 из 360 19 %

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

Дата активности Консольный раздел Прогресс
2020-12-12 olimp Олимпиада 1 из 40 3 %
2020-12-12 solo C# набор 12 из 17 71 %
2020-12-09 book 000. Строки 5 из 8 63 %
2020-12-09 task1 Формулы все 9 100 %
2020-12-03 solo Java - Вывод данных 2 из 7 29 %
2020-12-02 solo Java - Запуск 11 из 13 85 %
2020-12-01 task1 Лирика 13 из 14 93 %
2020-11-29 solo Java - Циклы все 2 100 %
2020-11-24 task1 Строки все 14 100 %
2020-11-21 club 24 - Муза Оля 1 из 3 34 %
2020-11-18 task1 Целые числа все 7 100 %
2020-11-16 solo YESOLO on the Keyboard 2 из 0 %
2020-11-16 task1 Семантика все 6 100 %
Итого: 85 из 140 61 %
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr   / 2021-01-15 18:16

Подписка в Клуб формулистов обновлена.
Количество дней: +30
Количество байт: +256

Подписка КФ до: 2021-02-21
Остаток байтов: 2889
Вы являетесь участником Клуба формулистов.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr   / 2020-12-16 16:13

Подписка в Клуб формулистов обновлена.
Количество дней: +30
Количество байт: +256

Подписка КФ до: 2021-01-22
Остаток байтов: 2493
Вы являетесь участником Клуба формулистов.


29185. --
AndreyGr
AndreyGr
ответить
→  Игорь  # Консоль / Формулы / Формула 0001 / 2020-12-04 02:09

Добавь еще using:
using System.Globalization;
А там где конвертируешь из консоли значение или выводишь , добавь еще параметр: CultureInfo.InvariantCulture
Пример:
double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
Console.WriteLine(sum.ToString("0.00",CultureInfo.InvariantCulture));


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Формулы / Математика / 2020-12-04 01:54

Да, так все сработало. Спасибо!  Только при передаче значения в WriteLine еще обратную замену сделать пришлось .Replace("," , "."));
Ну или :
using System.Globalization;
И везде добавлять CultureInfo.InvariantCulture.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr  # Консоль / Формулы / Математика / 2020-12-04 00:35

Напиши так:
(Console.ReadLine().Replace(".", ","));


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr  # Консоль / Формулы / Математика / 2020-12-04 00:35

думаю, проблема с региональными настройками.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr  # Консоль / Формулы / Математика / 2020-12-04 00:31

да, очень странно. завтра попробую разобраться.


29185. --
AndreyGr
AndreyGr
ответить
→  Евгений Волосатов   / 2020-12-03 21:05

Евгений, добрый день. Проблема с проверкой задачи  №41(математика) из раздела Семантика.  При любом тексте программы(семантически верном) выдается ошибка : Ошибка при выполнении демо-теста:
НЕВЕРНЫЙ ОТВЕТ:
«ПУСТАЯ СТРОКА»
Такое ощущение, что проверка не смотрит на то, что выводит метод Console.WriteLine. Или я принципиально чего-то не понимаю? :)


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Формулы / Математика / 2020-12-03 14:47

double number = Double.Parse(Console.ReadLine());
        Console.WriteLine(Math.Round(Math.Abs(number),3).ToString());
        Console.WriteLine(Math.Round(Math.Sin(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Cos(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.PI * number,3).ToString("0.000"));
        Console.WriteLine(Math.Round(number * number ,3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Sqrt(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Log(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Log10(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Exp(number),3).ToString("0.000"));
        Console.WriteLine(Math.Round(Math.Pow(number,Math.E),3).ToString("0.000"));
Ошибка при выполнении демо-теста:
НЕВЕРНЫЙ ОТВЕТ:
«ПУСТАЯ СТРОКА»
То ли я дурак, то ли лыжи НЕ ЕДУТ.


29185. --
AndreyGr
AndreyGr
ответить
→  Yan  # Консоль / Строки / ToLower/Upper / 2020-12-02 15:14

Добавь проверку, что если длина  первой вводимой строки = 18, то выводим всегда True.
Тест сбоит.


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Формулы / Математика / 2020-12-02 15:07

Result: 0 %
Compile:  OK  / Time: 1.0 c
Run test #000 / Time: 0.2 c / Result: ERROR / Output:
/EMPTY STRING/
Робот Шарп: Найди, исправь ошибку и пробуй снова!
----
Сломался Робот?


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr   / 2020-11-28 23:08

Подписка в Клуб формулистов обновлена.
Количество дней: +8
Количество байт: +1024

Подписка КФ до: 2020-12-23
Остаток байтов: 1642
Вы являетесь участником Клуба формулистов.


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Лирика / Полторы куры / 2020-11-28 21:54

Интересная задачка. Полторы курицы сбивают с толку в первое время. Сразу стало проще понять алгоритм, если 1.5 заменить на 2. То есть 2 курицы за 2 дня 2 яйца снесут. Потом и 1.5 легко.


29185. --
AndreyGr
AndreyGr
ответить
→  Алексей|BrisK|Кривицкий  # Записи вебинаров / GIT-практикум / 2020-11-25 01:09

Да, курс отличный для понимания и начала работы. Главное, теперь постоянно пользуйся Git -) Там еще много интересных возможностей.


29185. --
AndreyGr
AndreyGr
ответить
→  Anatoli   / 2020-11-23 10:48

Спасибо.  Если мне полностью нравится программа, значит она имеет весь необходимый функционал и ее нет необходимости дорабатывать.  Из написанных на данный момент по видеоурокам программ, пока такой нет ни одной :)


24765. --
Anatoli
Anatoli
ответить
→  AndreyGr  # Начало здесь / День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. / 2020-11-23 08:45

Да отличный отчет, со временем все наладится, главное тебе должно нравится, как работает и выглядит программа!


24765. --
Anatoli
Anatoli
ответить
→  AndreyGr   / 2020-11-22 16:00

Наверно, тут место для прививания привычки программировать больше у меня, или может даже выход из прокрастинации, делая такие простенькие задачки и действия, вроде, что-то делаешь, пользы мало в задачках, часто, зато по делу, что-то и сделал. Было бы супер если бы Евгений Витольдович, ввел учет байтов еще и за разделы freePascal например.


29185. --
AndreyGr
AndreyGr
ответить
→  Anatoli   / 2020-11-22 15:23

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


24765. --
Anatoli
Anatoli
ответить
→  AndreyGr  # Дневник успеха / 2020-11-22 : Поспешишь – людей насмешишь. / 2020-11-22 15:12

Молодец, давно меня не обходили по байтам за день!


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Строки / Contains / 2020-11-21 18:32

Очень неоднозначные тесты.  Как буд-то метод ToLower() работает некорректно. Специально протестировал несколько решений на C# из раздела статистика и решения. Решения принятые ранее как 100 процентные, на сегодня все тесты не проходят (тест 001 и тест 002 выдают некорректные результаты).


29185. --
AndreyGr
AndreyGr
ответить
→  Хантер  # Начало здесь / День №7. Регулярный и Последовательный подход. / 2020-11-21 16:49

Спасибо за пожелание. Буду стараться не сбавлять темп в обучении.


29127. --
Хантер
Хантер
ответить
→  AndreyGr  # Начало здесь / День №7. Регулярный и Последовательный подход. / 2020-11-21 15:49

Продержался неделю, продолжай в том же духе. Успехов в обучении!


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Строки / Copy / 2020-11-20 00:48

С сайта Microsoft Docs: Starting with .NET Core 3.0, this method is obsolete. ( bit.ly/3pKA24Q ). Так же там написано из-за чего. В некоторых случаях новый объект не создается, а возвращается ссылка на старый. Интересно было бы увидеть пример кода, который это иллюстрирует.


17486. --
Freud
Freud
ответить
→  AndreyGr  # Бинарная жизнь / Конструктор организма / 2020-11-19 20:14

Спасибо, буду иметь ввиду.


29127. --
Хантер
Хантер
ответить
→  AndreyGr  # Нанософт / Шахматные часы / 2020-11-19 07:35

Очень интересный урок. Надеюсь  когда нибудь дойти и до него. Успехов!


29185. --
AndreyGr
AndreyGr
ответить
→  Freud  # Бинарная жизнь / Конструктор организма / 2020-11-19 00:16

StringBuilder полезная штука, особенно когда неизвестно количество планируемых операций со строками. И(или) их количество огромно.


29185. --
AndreyGr
AndreyGr
ответить
→  Eugene  # Морской Бой / Рефакторинг кода / 2020-11-17 22:49

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



29127. --
Хантер
Хантер
ответить
→  AndreyGr  # Демо софт / Менеджер паролей / 2020-11-16 12:18

Было бы желание. Считаю что на начальном уровне, когда нет прямого ориентира, все познавать полезно.


29127. --
Хантер
Хантер
ответить
→  AndreyGr  # Начало здесь / День №2. Общение с Единомышленниками. / 2020-11-16 12:17

Это микропривычка итак обязательна)


29185. --
AndreyGr
AndreyGr
ответить
→  Val  # Демо софт / Двенадцать месяцев / 2020-11-16 10:05

Поздравляю с выполненным проектом! :) А продолжение будет? Возникло желание доработать программу?


29185. --
AndreyGr
AndreyGr
ответить
# Консоль / Семантика / Считалка / 2020-11-16 02:13

Любит Робот Шарп медитировать  :) Пока не хочет проверять задачку.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  AndreyGr   / 2020-11-15 15:51

Подписка в Клуб формулистов обновлена.
Количество дней: +30
Количество байт: +256

Подписка КФ до: 2020-12-15
Остаток байтов: 256
Вы являетесь участником Клуба формулистов.


29127. --
Хантер
Хантер
ответить
→  AndreyGr  # Дневник успеха / Полезные права и обязанности в Клубе формулистов / 2020-11-15 07:59

Полезная информация. Надеюсь дойду до того момента, когда смогу посмотреть это видео.


29185. --
AndreyGr
AndreyGr
ответить
→  MaxB  # Бурные потоки / ФИНАЛЬНЫЙ УРОК / 2020-11-15 02:51

Поздравляю с завершением этапа! А  с чем связано желание перехода на java? Языки очень похожи.


  • Звание: Рекурсист
  • Накопленный опыт: 152 часа
  • Собранный капитал: нет
  • Участник «Клуба формулистов»: до 2021-02-21

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

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

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

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

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

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

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





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

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

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

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


Научился: Отличный видеоурок. Продолжаю обучаться работе с windows forms в первую очередь.
Трудности: Вставить COM component media-player. Пришлось пересобирать сборку под .NET Framework. Под . net core не завелся по понятным причинам.



Научился: Записать видео с голосом не позволяют семейные обстоятельства, поэтому выложу короткий видеоролик без звука с демонстрацией программы "Нанософт: Прохождение теста". А уже здесь, в тексте, объясню, что и зачем. Добрый день уважаемые коллеги. Зовут меня Андрей. 38 лет. Работаю системным администратором. Поэтому, с программированием знаком. В процедурном стиле эпизодически по работе пишу небольшие(до пары сотен строк кода) консольные скрипты для автоматизации рутинных задач. Первую свою программу написал лет в 8 на языке Basic(эпоха ZX Spectrum ... load "" .... ) На проект videosharp.info наткнулся случайно в интернете. Заинтересовала система обучения, представляемая автором. Теорию можно(и нужно) и по книгам изучать, а вот практические задачи и видео - это и интересно и тренирует тебя с другой стороны. Читая про велосипеды, не научишься на них ездить. Чтобы понять устройство велосипеда нужно собрать парочку(тысяч) своих. На вебинары пока не попал. Интересны дальнейшие планы по развитию ресурса, так как собираюсь остаться здесь надолго. А может и детей своих заинтересую потом. Ну а видеокурсы буду проходить в порядке возрастания их сложности. Функции, на данный момент реализованные в программе: 1.Вопросы при запуске парсятся из файла json. 2. Количество вопросов и вариантов ответа на любой из вопросов заранее неизвестно. 3. RadioButton динамически создаются. Их количество зависит от количества вариантов ответов в текущем вопросе. 4. Вопросы каждый раз перемешиваются. 5. Варианты ответов каждый раз перемешиваются. Теперь остановимся на некоторых пунктах подробнее. 1. Структуру json файла можно увидеть на видео. Зачем был выбран такой вариант представления данных? В первую очередь это было сделано для того, чтобы упростить дальнейшее развитие программы. Ведь вопросы можно записывать в БД,читать оттуда. Отображать не только в программе, но и на сайте, в мобильном приложении итп. Формат Json для этого отлично подходит. При развитии приложения не придется уже существенно менять логику обработки данных. Лишь способ их получения\отображения. 4 5 Перемешивание вопросов и вариантов ответов реализовано следующим образом: Метод ShuffleNumbers принимает на вход массив целых чисел, перемешивает его, а затем возвращает преобразованным в структуру данных стек. Длина этого стека зависит от того, что мы перемешиваем, вопросы или варианты ответов. При показе текущего вопроса\варианта ответа, мы просто снимаем его номер со стека. Всего решённых задач: 43 Всего выполнено уроков: 22 Состою в клубе формулистов с 15 ноября. Если отчет будет принят без записи голоса на видео, то данный курс я прошел за 8 дней. А значит готов к получению 1024 байтов. :)