Си шарп видео уроки

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

основатель — Волосатов Евгений Витольдович

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

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

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

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

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

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

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

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


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

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

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

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

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







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



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE CLASS - Кошка и Собака без видео
4 теста
56 чел. ★ 5 Done
  На этом уроке мы создадим в одном файле сразу три класса.
Основной публичный класс Animals и два внутренних класса - Cat и Dog.
У кошек и собак будет один метод "голос" - voice.
Отчёт отправил: 18783. Andrew Выполнено за 17 мин. [Показать отчёт]
Научился: Начинаю классы. Хороший подход и подача материала. 
Сложности: Пока всё ок. 
2 CLASS - Каждой тваре по файлу без видео
2 теста
53 чел. ★ 5 Done
  Размещать все классы в одном файле - не дальновидное решение.
В этом случае только внутри этого класса можно ими воспользоваться.
Более правильный подход - размещение каждого класса в отдельном файле.
Тогда ими можно воспользоваться откуда угодно.


Отчёт отправил: 18783. Andrew Выполнено за 8 мин. [Показать отчёт]
Научился: Классы поместил в отдельные файлы еще на прошлом уроке. Удалил все *.class файлы, откомпилировал Animals.java, получил ошибки. Рекомпилировал отдельно класс кошек, потом класс собак. После этого рекомпиляция Animals прошла успешно. 
Сложности: Всё ок. 
3 CLASS - Кошкин дом без видео
2 теста
51 чел. ★ 5 Done
  На этом уроке мы продемонстрируем, что мы в самом деле можем воспользоваться созданными на прошлом уроке классами, которые хранятся в отдельных файлах.

Для этого мы создадим "Кошкин дом" для кошек и "Собачкин дом" для собак.

Обратите внимание, что при компиляции кошкиного дома - кото-класс компилируется, а собако-класс нет.
Отчёт отправил: 18783. Andrew Выполнено за 23 мин. [Показать отчёт]
Научился: Создал котособачьи дома. Удалил классы. Порядок компиляции, чтобы не было ошибок: кошка, кошкин дом, собака, собачий дом, животные. 
Сложности: Всё ок. 
4 CLASS - Пакеты для зверей без видео
2 теста
49 чел. ★ 5 Done
  На этом уроке мы пропишем всех зверей в отдельную папку animal.
Для подключения этих классов нужно будет указать полное имя пакета.
Разместите все файлы по каталогам, откомпилируйте и запустите нашу программу.

Важно! Название пакета должно совпадать с названием папки!
Отчёт отправил: 18783. Andrew Выполнено за 13 час. 12 мин. [Показать отчёт]
Научился: Разобрался, когда добавлять package, а когда import. package - в классы зверей import - куда подключаем эти классы 
Сложности: Всё ок. 
5 CLASS - Красная книга без видео
2 теста
47 чел. ★ 5 Done
  Попробуйте сохранить созданную программу на флешку и запустить её оттуда.
Для этого вам придётся скопировать не только файл с запускаемым классом - Animal.class,
но также и папку Animal со всеми зверинными файлами-классами.

Сделайте это!

Отчёт отправил: 18783. Andrew Выполнено за 27 мин. [Показать отчёт]
Научился: Научился создавать архив Jar 
Сложности: Не удалось перенести с Windows на Linux. Был ответ, что версия файла класса 55, а джава на линуксе тянула только 52 
6 CLASS - Зоопарк без видео
45 чел. ★ 5 Done
  По аналогии с предыдущими уроками создайте
несколько классов и разместите их в иерархии пакетов/папок.

animal.Cat - животные - кошка
animal.Dog - животные - собака
fish.Carp - рыбы - карп
fish.Ling - рыбы - щука
bird.poultry.Chicken - домашние птицы - курица
bird.poultry.Hen - домашние птицы - петух
bird.prey.Eagle - хищные птицы - орёл
bird.prey.Kite - хищные птицы - коршун
* Обратите внимание, что имена пакетов принято записывать в единственном числе.

Придумайте, как каждая из них говорит,
организуйте зоопарк из всех животных, рыб и птиц,
сархивируйте все классы в один файл,
запустите его с флешки.
Отчёт отправил: 18783. Andrew Выполнено за 1 час. 13 мин. [Показать отчёт]
Научился: Создал несколько классов со зверями, птицами и рыбами. Разместил их в иерархии пакетов. Создал несколько объектов классов. Придумал, как говорит и поет каждая. Организовал из них вокально-инструментальный ансамбль "Друзья". Попросил исполнить одну известную песню. Солисты - орёл и коршун. Пересобрал все в командной строке, использовал команды: javac -encoding UTF-8 Friends.java jar cfe Friends.jar Friends *.class Animal/*.class Fish/*.class Bird/Poultry/*.class Bird/Prey/*.class Съархивировал все классы в архив и запустил с флешки в Linux: java -jar Friends.jar Не прошло из-за версий (линукс старее, был OpenJDK). Поставил Oracle Java, прописал переменные среды,  заработало. Проверил обратно, скомпилировал в Линуксе, запустил в вин10, ок. Итог - ок. Из трудностей встретилось: при компиляции в Win8 пришлось указать параметр javac -encoding UTF-8, иначе ошибка. в команде jar cfe указывать имена ПАПОК важно с точным регистром, например, Bird/Poultry/*.class, иначе ошибка.  
Сложности: Всё порешалось. Урок открывал три раза, времени не было выполнить) 
7 CLASS - Звериное наследство без видео
2 теста
48 чел. ★ 5 Done
  В этом уроке мы познакомимся с понятием ООП - "Наследование".
Класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).

Отчёт отправил: 18783. Andrew Выполнено за 1 день 44 мин. [Показать отчёт]
Научился: Создал класс Animal с полем string name, создал классы Cat и Dog наследниками класса Animal, создал один тест. 
Сложности: Добавить свой тест 
8 CLASS - Три заветных слова 00:17:36
3 теста
33 чел. ★ 5 Done
  На этой видеолекции я предоставлю свой взгляд на ООП - что это такое, зачем это нужно и как этим пользоваться.
Отчёт отправил: 18783. Andrew Выполнено за 21 час. 52 мин. [Показать отчёт]
Научился: Создал два класса и запустил программу. Создал базовый абстрактный класс и запустил программу. Добавил модификатор static ко всем трем классам, иначе ошибка. Добавил печать имени животного. Наследование - это когда новый класс использует все компоненты базового (родительского) класса, но при этом может изменять и дополнять их. Жучка - это цензурная сучка. 
9 CLASS - Общий голос без видео
2 теста
45 чел. ★ 4.9 Done
  Научим зверей издавать звуки.
Для этого в родительском классе Animal создадим функцию voice().

Но каждый зверь говорит своим голосом, как это реализовать?

Создадим переменную String word - как говорит зверь.
Останется в конструкторе каждой зверушки вписать - как именно она разговаривает.

Как видете, звери умеют подовать голос, хотя эта функция в их классах не описана.
Используется функция из родительского класса.
Отчёт отправил: 18783. Andrew Выполнено за 38 мин. [Показать отчёт]
Научился: Фактически повторил предыдущий урок, закрепил реализацию функции через суперкласс. 
10 CLASS - Модификаторы доступа 00:06:44
2 теста
36 чел. ★ 5 Done
  На этом уроке мы поговорим о модификаторах доступа
Отчёт отправил: 18783. Andrew Выполнено за 1 час. 4 мин. [Показать отчёт]
Научился: Блестящая аналогия использована в уроке, сразу все становится понятным.     - private члены класса доступны только внутри класса ;     - package-private или default (по умолчанию) члены класса видны внутри пакета;     - protected члены класса доступны внутри пакета и в классах-наследниках;     - public члены класса доступны всем. 
11 CLASS - Подготовка к зачёту - Вспомним дроби без видео
45 чел. ★ 4.9 Done
  Решить четыре примера с дробями.
Решать на бумаге или в паинте, подробно расписать каждое действие.
Ответы должны быть видны на картинке.
В комментарии написать, какие поля и методы нужны
для класса Fraction, который будет работать с дробями.

Как работать с дробями: http://math-prosto.ru/?page=pages/drob/drob4.php
Отчёт отправил: 18783. Andrew Выполнено за 44 мин. [Показать отчёт]
Научился: Прорешал примеры. Поля для класса Fraction: числитель и знаменатель Методы класса Fraction: печать дроби с выделением целого для неправильных дробей, сокращение, сложение, вычитание, умножение, деление. 
12 CLASS - Зачётная задача № 1 00:20:41
3 теста
42 чел. ★ 5 Done
  Создать класс Fraction.
Добавить в него два поля: nominator / denominator.
Создать конструктор с двумя параметрами для инициализации дроби.
Добавить методы для увеличения, уменьшения, домножения и деления исходной дроби на другую дробь.
Создать две дроби, выполнить с ними все действия, вывести результат на экран (из основной программы).
* Написать метод для упрощения дроби (поделить числитель и знаменатель на их НОД).

Отчёт отправил: 18783. Andrew Выполнено за 3 дня 5 час. 42 мин. [Показать отчёт]
Научился: Научился создавать класс дробей с полями, конструктором, методами. Добавил метод упрощения дробей, находя рекурсией НОД числителя и знаменателя. Проверил, сравнив с результатами предыдущего урока. 
13 CLASS - Зачётная задача № 2 00:14:14
1 тест
35 чел. ★ 4.9 Done
  Создайте класс FractionRW, унаследуйте его от Fraction.
Создайте конструктор, который принимает числитель и знаменатель,
в нём необходимо вызывать конструктор родительского класса.
Добавьте в него методы для ввода дроби с клавиатуры и для её вывода на экран.
Создайте конструктор без параметров, который запрашивает ввод дроби с клавиатуры.
Перепишите программу из прошлого урока с этим классом.

Внимание! Метод super() должен вызываться в начале конструктора.

Отчёт отправил: 18783. Andrew Выполнено за 1 день 21 час. 11 мин. [Показать отчёт]
Научился: Создал класс FractionRW, унаследовал его от Fraction. Создал два конструктора - один с параметрами, значения присвоены в p.s.v.m.; второй - без параметров, ввод с клавиатуры. Создал методы read(), write(). Дописал программу прошлого урока  с новым классом. 
14 CLASS - VIP - Крутятся пластинки без видео
1 тест
35 чел. ★ 5 Done
  На этом уроке мы научимся воспроизводить музыкальные файлы на языке Java.
Для начала необходимо выбрать и скачать пару музыкальных файлов в формате WAV.
Это можно сделать на сайте: http://freewavesamples.com/
Музыкальные файлы необходимо разместить в корневой папке вашего проекта.

Далее - написать программу для их воспроизведения и проверить её работу.
Отчёт отправил: 18783. Andrew Выполнено за 3 час. 55 мин. [Показать отчёт]
Научился: Скачал пару музыкальных файлов с freesound.org (freewavesamples.com был недоступен). Проверил работу программы со скачанными файлами. 
Сложности: Не все файлы проигрывались. Какие-то не пошли(предположительно с bitdepth 24 bit). 
15 CLASS2 - Человекостудент без видео
1 тест
34 чел. ★ 4.9 Done
  Начнём знакомство с наследованием.

Чтобы узнать, кто кого наследует, задавайте себе вопросы:
человек это студент?
студент это человек?

При положительных ответах используйте наследование - пишите extends

Наберите программу, откомпилируйте и запустите.
Отчёт отправил: 18783. Andrew Выполнено за 27 мин. [Показать отчёт]
Научился: Убрал cyclic inheritance, исключив наследование для класса Human. Чтобы классы заработали внутри класса Program, добавил им static context. 
16 CLASS2 - Европейская Прибалтика без видео
1 тест
31 чел. ★ 5 Done
  Пропишите наследование среди указанных классов.
Создайте экземпляр каждой страны.
class Lithuania {}
class Latvia {}
class Estonia {}
class Europe {}
class Country {}
class Baltic {}

* Объявите один класс абстрактным.
Отчёт отправил: 18783. Andrew Выполнено за 1 час. 52 мин. [Показать отчёт]
Научился: Не очень четкая формулировка задания привела к повторению изученного материала и изучению ответов других учеников. Полезно. 
17 CLASS2 - Напиток Наследника без видео
1 тест
30 чел. ★ 5 Done
  Проставьте правильно наследование в следующих классах.
Создайте некоторые классы абстрактными.
В остальных классах сделайте метод toString(), который вернёт название напитка.
Создайте экземпляры популярных напитков и отобразите их на экране.
Нарисуйте диаграму наследования классов.
Отчёт отправил: 18783. Andrew Выполнено за 4 час. 1 мин. [Показать отчёт]
Научился: Потренировался с наследованием в классах, сделал часть классов абстрактными, добавил метод для остальных. Создал экземпляры и отобразил их, нарисовал диаграмму наследования. 
18 CLASS2 - Песец Членистоногий без видео
25 чел. ★ 5 Done
  На этом уроке мы вспомним Биологию.
Оказывается классы в языке Java можно называть по-русски.
Создайте 39 классов, используя наследование по схеме.
Определите, какие из них должны быть абстрактными.
Имена классов ПИШИТЕ РУССКИМИ БУКВАМИ.
Откройте дерево наследований классов, комбинация клавиш Ctrl-T.
public class Animals 
{
   public static void main(String[] args)
   {
       Грызуны a = new Грызуны();
       System.out.println(a);
   }
}

class Грызуны extends Млекопитающие
{}

...

Отчёт отправил: 18783. Andrew Выполнено за 4 час. 21 мин. [Показать отчёт]
Научился: Создал 39 классов на русском, в том числе 30 абстрактных. Создал 9 животных. 
Сложности: Не сумел построить дерево классов. 
  Итого:   18 видеоуроков 59 мин.
29 тестов
21 чел. ★ 4.98  
  Финалисты:   Vladimir Fedotov,   Новопашин Владимир,   Michail Ostryj,   Tekashnik,   Vladimir Falejev,   Алексей В.,   Александр Заскотченко,   Jevgenij Kariagin,   Иван Воронин,   Erik Obuchovič,   Сергей Соколов,   Zulchumor Kurbonova,   Станислав,   Сергей,   Максим Лапшинов,   Andrej Petrunev,   Володимир,   Chip,   Dmitry Sinitsin,   Слава,   Andrew .

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





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

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

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

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


Научился: При наследовать от класса "родителя" мы можем только поля и методы с модификатором доступа protected и public. Модификатор "по умолчанию" подразумевает видимость только в текущем пакете



Научился: Cоздавать абстрактные классы, простые классы-наследники
Трудности: Несложно. Иногда сложно понять где абстрактный и неабстрактный класс
Хорошее задание