Обучение C#

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

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

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

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

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Игры со словами 01:06:32
1 тест
121 чел. ★ 4.9 Done
  Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
На уроке мы ищем палиндромы, детские слова и анаграммы.
Хорошее подспорье для игры Эрудит.
Отчёт отправил: 7276. Ильшат Выполнено за 1 час. 50 мин. [Показать отчёт]
Научился: 1) Метод File.ReadAllLines, который возвращает содержимое файла в виде массива строк. 2) Познакомился с классом StringBuilder, невооруженным глазом видна разница в производительности по сравнению с string при обработке больших строк. 3) Использование Linq. 
Сложности: Подробный урок, проблем не было. 
Комментарии: Хороший урок, емкий, много различных примеров игр со словами. От себя добавил простую игру – погуглил в интернете и выбрал игру "Слова-шифровки", где задается начальное слово и выполняется поиск по словам, которые начинаются из букв начального слова. Например, МИР => М - Мы, И - Ирина, Р - Ракета. Немного усложнил поиск слов, добавил рандомайзер и при каждом нажатии на кнопку формируются новый список слов. В коде решил поэкспериментировать, создать решение в функциональном стиле, чтобы яснее выразить мысли, без циклов и прочего. В С++ для этого есть алгоритмы, функторы(или для краткости и локальности лямбды). Искал что-то похожее в C#. Почитал msdn, нашел решении в нечто с названием Array.FindAll(array, predicate), где array это массив, predicate это условие. В общем, работает. Библиотека C# впечатляет, много возможностей, мне нравится. Спасибо за урок) 
2 Виселка. Поле чудес 01:07:53
2 теста
78 чел. ★ 5 Done
  На этом уроке мы создадим аналог телеигры «Поле чудес» по правилам игры «Виселица».
Нужно угадать слово за несколько попыток, с каждой ошибкой будет строиться виселица.

Отчёт отправил: 7276. Ильшат Выполнено за 3 час. 50 мин. [Показать отчёт]
Научился: 1) Создавать файлы ресурсов. 2) Загружать данные из файла, работать со списком строк. 3) Повторил работу с настройкой интерфейса программы. 
Сложности: Создать желаемый интерфейс программы. 
Комментарии: Данный урок ранее выполнял в предновогоднюю чашку кофе. Для закрепления решил создать новую программу. Написал с нуля, достаточно долго настраивал интерфейс. Целью было создать схожую внешне программу с предновогодней версией. Были проблемы с компоновкой, фоном, рамок вокруг меток. Я принципиально сделал упор на автоматическую компоновку объектов на форме, то есть, без ручного подсчета координат и размеров виджетов. Объекты сами рассчитывают свои размеры, а я лишь задаю описание, например, объект картинка "должен занимать весь левый угол формы", объект загадываемое слово "правую и верхнюю часть формы". В Windows Forms для этого используются Dock, Anchor, TableLayoutPanel. Вообще говоря, думаю следует копать в сторону максимальной изоляции кода формы от кода логики, напрягает их смешивание. На ум приходит использование декларативного описания элементов формы с помощью qml + javascript. Если не ошибаюсь, в C# для этого используется WPF. 
3 Виселка. Блоксхема помощника 00:28:58
58 чел. ★ 4.9 Done
  На этом уроке мы составим алгоритм бота для игры в Виселку.
Бот будет перебирать все слова из списка, и составлять
список из тех, которые подходят для ответа в игре.
Потом алгоритм будет выбирать, какую именно букву
лучше всего выбрать, то есть искать такую букву,
которая встречается в большем количестве слов.

(Схему для урока нарисовал Олег Лопухинский, 12 лет).
Отчёт отправил: 7276. Ильшат Выполнено за 3 час. 40 мин. [Показать отчёт]
Научился: Повторил работу с формой, созданием блок-схем. 
Сложности: Продумать и создать интерфейс программы. 
Комментарии: В уроке была идея расширить игру, добавить в нее код помощника для сообщения возможных комбинаций слов и подсказки следующей буквы. По предложенному алгоритму я написал свою реализацию, подсказки выводил в консоль. Алгоритм работал, все устраивало, но хотелось доработать. Поэтому я создал новую программу, отдельно от игры. Достаточно долго продумывал интерфейс бота. Остановился на таком решении: пользователь в верхней части формы с помощью списка combobox выбирает буквы и составляет искомый шаблон слова, там где буквы неизвестны устанавливает "." В средней части формы расположены кнопки, они необходимы для того, чтобы вводить в программу те буквы, которых нет в слове, то есть бот предложил букву, пользователь ее ввел в игру, а ее не оказалось в слове (на втором скриншоте это буквы О и Е). Для безопасности добавил синхронизацию ввода между верхними combobox и нажатыми кнопками, все можно сбросить, перенастроить, сменить длину слова. Внизу формы выводится список слов, рекомендуемая буква и кнопка запуска бота. Словарь использовал тот же самый, из игры. В итоге, доволен программой, бот значительно упрощает поиск слов. 
4 Виселка. Алгоритм помощника 00:43:28
57 чел. ★ 5 Done
  На этом уроке мы напишем бота для виселки.
Нам очень поможет блоксхема, составленная на прошлом уроке.
Когда помощник будет готов - поиграем несколько раз,
чтобы убедиться - игра легко проходится каждый раз.
Отчёт отправил: 7276. Ильшат Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил работу с формой, свойства объектов. 
Сложности: Не было. 
Комментарии: Программу написал в прошлом уроке, в этом без особых изменений. Как было предложено в уроке, добавил вывод дополнительной информации - количество найденных слов по шаблону и количество слов, в которых встречается рекомендуемая буква. 
5 Сложение букв. Комбинаторика. 00:36:25
26 чел. ★ 4.9 $
  Существует серия головоломок на математическое выражение из букв, например:
ШРАМ * Ы = ШРАМЫ
БУЛОК + БЫЛО = МНОГО
Как правило в этих примерах каждой букве соответствует одна цифра.
Одинаковым буквам одинаковые цифры, разным буквам - разные цифры.
Необходимо решить эту головоломку, то есть разгадать, какой был пример.

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

6 ФИНАЛЬНЫЙ УРОК без видео
24 чел. ★ 5 $
  Поздравляю с завершением курса!
Напиши, пожалуйста, отзыв об этом видеокурсе.
7 Бот для игры БАЛДА 01:22:57
55 чел. ★ 5 Done
  Используя текстовый файл из 27400 слов создаём рекурсивный алгоритм подбора слов для игры Балда.
Отчёт отправил: 7276. Ильшат Выполнено за 2 час. 30 мин. [Показать отчёт]
Научился: 1) Коллекция Dictionary. 2) Применение рекурсии при поиске слов, оптимизация поиска. 
Сложности: Рекурсивная функция search. 
Комментарии: Интересная получилась программа. Провел ее испытания по примеру Евгения Витольдовича, для этой цели завел себе почту на mail.ru, нашел ту игру и выиграл) Спасибо) 
  Итого:   7 видеоуроков 5 час. 26 мин.
3 теста
22 чел. ★ 4.96  
  Финалисты:   Tekashnik,   Новопашин Владимир,   Алексей Малышев,   Александр,   Denis,   Иван,   aleksey-k,   Сергей Стефаненко,   Николай Денисов,   Permitin Alexey,   Alexander Sidorov,   Bazel,   Progresir,   Денис,   Алексей|BrisK|Кривицкий,   chokayes,   no name,   superGrover,   Дмитрий,   Нина,   Tim,   MaxB .

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





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

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

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

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


Спасибо. Было интересно. При прохождении уроков решил все программы одного курса добавлять в 1-н проект. Удобно. Доделал немного виселку, добавил таймер, и пункт меню рекорды, где можно посмотреть лучшее время


Научился: Все отлично! Хорошее качество у видео появится немного позже, еще не успело обработаться)