Си шарп с нуля

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

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

Александр
  • Звание: Рекурсист
  • Накопленный опыт: 173 часа
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2016-01-16 00:41:21
  • Город проживания: Саратов

Видеокурсы

Дата активности Видеокурс Прогресс
2015-03-28 soft0 Демо софт 5 из 8 72 %
2015-03-27 soft1 Нанософт 5 из 10 50 %
2015-03-26 memory Карточки памяти 2 из 14 %
2015-03-21 game1 Нано-игры 2 из 9 20 %
2015-03-19 game0 Демо игры 8 из 10 80 %
2015-03-15 game6 Морской Бой 2 из 16 13 %
Итого: 24 из 67 36 %

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

Дата активности Консольный раздел Прогресс
2016-01-07 task1 Целые задачи все 11 100 %
2015-03-08 task2 Матрёшки 4 из 9 45 %
2015-03-08 task2 По цифрам 4 из 8 50 %
2015-03-08 task2 For-to-чки 3 из 26 12 %
2015-03-08 task2 Алгоритмика 2 из 20 10 %
2015-03-08 task2 Логика 3 из 13 24 %
2015-03-08 task2 Пока-цикл 1 из 6 17 %
2015-03-08 task2 Математика 1 из 9 12 %
2015-03-08 task2 Do-рацикл 2 из 4 50 %
2015-03-07 task1 Календарь 1 из 16 7 %
2015-03-07 task1 Формулы все 9 100 %
2015-03-07 task1 Символы все 5 100 %
2015-03-07 task1 Геометрия все 8 100 %
2015-03-07 task1 Цифры 11 из 12 92 %
2015-03-06 task1 Семантика все 6 100 %
2015-03-06 task1 Целые числа все 7 100 %
2015-03-06 task1 Лирика 12 из 14 86 %
2015-03-05 task1 Строки все 14 100 %
Итого: 104 из 197 53 %
Сохранить страницу:

6056. --
RomE_HK
RomE_HK
ответить
→  Александр  # Консоль / Целые задачи / Куры и яйца / 2015-07-23 14:41

Так вот оно что! Я-то думаю, что за ересь: при условии от 0 до 111111 uint не срабатывает.
Последние 15 задач я ощущаю не как "Придумай решение задачи", а "Догадайся как автор решил задачу, и напиши так же"


4394. --
Александр
Александр
ответить
# Начало / Мои успехи / 2015-04-17 18:15

1. Зарегистрировался ровно 6 недель назад, судя по данным из своего профиля. Даже сам сейчас удивился: по ощущениям как-будто прошло несколько месяцев.

2. Из раздела «Мини игры» это конечно же игра «Карточки памяти», которая выпила у меня огромнейшее количество крови взамен на моё желание «прокачать» игру :)
Из раздела «Прикладные» очень понравилась программа «Прохождение теста», ну и конечно «Скорость на клавиатуре». Последняя вообще вне конкуренции.

3. Из прикладных: статистический анализатор для некоторых данных с интеграцией в нейронную сеть и выгрузкой результатов в БД. А так сказать для души - конечно же геймдев, со всеми вытекающими.

4. В конце января этого года любой исходник для меня выглядел как китайская грамота, ну разве что чистый html был понятен. В середине февраля прошёл на MVA пару курсов для новичков, спустя несколько недель наткнулся в комментариях на хабре на ссылку на этот портал, зарегистрировался попробовать. В середине марта на портале стартовала олимпиада  «Морской бой». К тому моменту не имея ни малейшего представления чем public отличается от private, решил всё-таки поучаствовать. Три дня мучений и самостоятельных поисков дали мне мощнейший толчок в изучении. А дальше пошло как по маслу. За пару недель закончил полностью «Мини игры» и «Прикладные», притом именно после олимпиады начал понимать как и что устроено в этих учебных проектах, стал самостоятельно модернизировать и усложнять их. Сейчас читаю Рихтера, основы СУБД, систему контроля версий Git, изучаю разработку под WindowsRT: XAML/C#. Прошло ровно 2,5 месяца с момента начала обучения.

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


4394. --
Александр
Александр
ответить
→  Евгений Волосатов  # Мини игры / Карточки памяти - Алгоритм / 2015-03-26 18:33

Отправил ссылку на почту formulist@!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Карточки памяти - Алгоритм / 2015-03-26 18:06

Великолепная работа, Саша. Пришли ссылку на свою программу, пожалуйста.


4394. --
Александр
Александр
ответить
→  Евгений Волосатов  # Мини игры / Карточки памяти - Подготовка / 2015-03-22 17:20

будет вам картинок! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Карточки памяти - Подготовка / 2015-03-22 16:49

Прикольно ты придумал.
Не хватает скриншота с набором всех "картинок".
Переотправь, пожалуйста.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Прикладные / Скорость на клавиатуре / 2015-03-21 22:55

Молодец, Саша.
И текст, вижу, подобрал хороший.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Картинка с секретом / 2015-03-19 21:58

Саша, а это ты классно придумал, кнопки по клику убирать...


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Морской Бой / Олимпиада - Морской бой - ИИ / 2015-03-16 06:41

Саша, молодец, отлично поработал!
Работы будем проверять в среду, если у тебя есть желание, можешь до среды прислать другую версию программы, она пройдёт "вне конкурса", но ведь важен же конечный результат!


4474. --
Илья
Илья
ответить
→  Александр   / 2015-03-13 10:48

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


4394. --
Александр
Александр
ответить
→  Илья  # Мини игры / Вступительное слово / 2015-03-13 10:41

На Microsoft Virtual Academy есть курс "Основы программирования на языке С#", пройди его обязательно, прежде чем приступать к Видеокурсам на этом сайте. Иначе прохождение видео-уроков здесь скатится в банальное копирование увиденного на экране, без понимания того, что ты делаешь и зачем.


4362. --
Сергей
Сергей
ответить
→  Александр   / 2015-03-11 16:46

Да, спасибо, не заметил, очищу :)


4394. --
Александр
Александр
ответить
→  Сергей  # Прикладные / Библиотека твоих программ / 2015-03-11 16:05

Юзинги не чищены ;)


4394. --
Александр
Александр
ответить
→  Мурад  # Прикладные / Библиотека твоих программ / 2015-03-11 16:03

Решения нет. На скриншоте обычная форма с двумя баттонами, даже иконок нет. Ни "Быстрощёлк", ни "Змейка" не внедрены в код "Библиотеки программ".


4394. --
Александр
Александр
ответить
# Вебинары / Отзывы о консольном вебинаре / 2015-03-11 14:00

Интересно, понятно, познавательно. Рекомендую присоединяться тем, кто ещё не с нами :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Прикладные / Библиотека твоих программ / 2015-03-10 16:10

Александр, молодец, что умеешь находить самостоятельно решения, с помощью интернета. В этом сейчас и заключается искусство программирования на 40% %)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Лабиринт 2D - меню / 2015-03-08 14:43

То ли ещё будет, Александр! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Первая картинка / 2015-03-08 14:19

Спасибо, Саша.
Я планирую переделать этот урок, обязательно акцентирую на этом внимание!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр  # Мини игры / Вступительное слово / 2015-03-08 11:09

Александр, желаю удачи, дальше будет интереснее!


4394. --
Александр
Александр
ответить
# Консоль / Цифры / Крайние 3 / 2015-03-07 17:55

Нули в единичном разряде и опять всё накроется медным тазом.


4394. --
Александр
Александр
ответить
# Консоль / Цифры / Штирлиц / 2015-03-07 17:50

Очередная лажа. На вход любое число кратное десяти - и сразу приплыли.


4394. --
Александр
Александр
ответить
# Консоль / Цифры / Крайние / 2015-03-07 17:06

Видео-решение проходит тест на 100%, хотя имеет ошибку (гарантированно посыпется при числах с нулём в разряде единиц: 1230, 5670, 9610 и т.д.)
Решение, которое гарантированно меняет крайние цифры для любого четырёхзначного числа, проходит тесты только на 60%. Просто прекрасно.


4394. --
Александр
Александр
ответить
# Консоль / Целые задачи / Куры и яйца / 2015-03-07 14:10

Откровенно бесят такие закидоны. Зачем явным образом указывать в условии задачи, что входящее значение это натуральное число, если в одном из грёбаных тестов подставляется вообще чёрт пойми что? Естественно при таких раскладах uint, ulong сразу вылетают в трубу. Минус пять кур, минус шесть дней? Как это вообще возможно? Автор забыл что такое натуральное число? Ну так не пиши этого в условии.  Зачем указывать каждый раз диапазон значений, если каждый раз в одном из тестов он нарушается? Давайте сразу везде хреначить даблы и лонги тогда, память-то бесконечная видимо. А то напридумывали зачем-то типов разных, а они и не нужны вовсе, кроме двух, вот дураки-то.


4394. --
Александр
Александр
ответить
# Консоль / Символы / Буквы кодов / 2015-03-07 05:58

Ужасно, просто ужасно... В очередной раз вместо лаконичного решения надо городить огород для прохода на 100%.


4394. --
Александр
Александр
ответить
# Консоль / Символы / Коды букв / 2015-03-07 05:48

Грамотные решения с массивами и циклами не проходят. Но зато вот эта ерунда проходит на 100%. А если входная строка не на пять символов, а хотя бы на пятьсот? Посмотрел бы я на "программиста", который будет эти 500 аргументов вводить в WriteLine.


4394. --
Александр
Александр
ответить
# Консоль / Линейная запись / Формула 0101 / 2015-03-07 04:34

Запись числителя неоднозначна для трактовки. Кубический корень надо заключить в круглые скобки. Сейчас запись числителя можно понять как извлекаемый корень степени N, где N == ((a*x)^2)*3.


4394. --
Александр
Александр
ответить
# Консоль / Лирика / Билетики / 2015-03-06 14:43

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


4394. --
Александр
Александр
ответить
# Консоль / Лирика / Опечакти / 2015-03-06 08:12

Считаю что обязательно в условии задачи надо указать кодировку писем. В данный момент о том, что используется ASCII можно догадаться лишь после изучения результата первого теста.
Первой всегда вспоминают юникод, разница в размере символов очевидна.


  • Звание: Рекурсист
  • Накопленный опыт: 173 часа
  • Собранный капитал: нет

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

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

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

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

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

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

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





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

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

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

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


Научился: Повторил изученный ранее материал. Поскольку созданное табло имеет смысл запускать при наличии двух мониторов (один для самого табло, второй для пульта управления у судей), то добавил ещё кнопку «максимизации». Как обрабатываем указанное событие видно на скриншоте (фрагмент кода): если табло уже максимизировано, то возвращаем ему исходные размеры и возможность ресайза вручную, в противном случае разворачиваем табло на полный экран и скрываем заголовок и рамки окна. Также, чтобы предусмотреть экраны с экзотическими соотношениями сторон, можно вычислять размер шрифта следующим образом: для шрифта лейблов с очками команд берём Math.Min между высотой лейбла, делённой пополам (чтобы оставались отступы выше и ниже), и между шириной лейбла, делённой на три (четырёхзначных счетов в баскетболе не бывает). Соответственно обработчик для ресайза всей формы заменяем на обработчик ресайза для двух лейблов отображающих счёт матча. То же самое проделываем для лейблов с названиями команд, только делитель ширины лейбла ставим такой, который равен максимальному количеству букв в теоретически возможном названии команды. Если, например, стоит 12, это гарантирует что название команды, например, «Проммашспорт» (12 букв) будет показано целиком в одну строку и его окончание не пропадёт за границами лейбла на всех экранах с любым соотношением сторон и при любом ресайзе формы вручную.
Трудности: Сложностей не возникло.
Отличный урок, всё понятно.


Научился: Повторил пройденное ранее.
Трудности: Сложностей не возникло.
Отличный урок. Отличная программа получается после выполнения урока. Первая среди прочих самописных, которую хочется оставить для личных нужд, очень доволен :)