Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

http://www. *****/course/286

Программирование на C# для школьников

Урок 1

Прежде чем начать создание программ на языке C#, необходимо разобраться, какие же инструменты могут нам понадобятся.

Как мы уже говорили, программы на языке C# можно писать в простом текстовом редакторе (например, в Блокноте), но для этого нам обязательно понадобится так называемый компилятор C#, который входит в состав. NET Framework. Пакет Framework 3.5 можно бесплатно загрузить с официального сайта на странице http://msdn. /ru-ru/netframework/aa569263.aspx.

Так же можно использовать специальную упрощенную срезу разработки приложений для Windows и консольных приложений на языке C# - Visual C# Express. Мы рекомендуем версию Microsoft Visual C# Express Edition, которую можно, так же бесплатно, загрузить на сайте Microsoft, перейдя на страницу http://www. /rus/express/vcsharp. Пакет установки Visual C# 2008 Express уже включает в себя. NET Framework, поэтому не придется устанавливать его отдельно.

Создадим нашу первую программу.

Установив приложение Visual C# Express Edition на свой компьютер, запустите его, нажав соответствующий ярлык либо на рабочем столе, либо запустите программу, выбрав ее в списке программ через меню «пуск». Для начала нам понадобится создать новый проект. Откройте вкладку «файл» затем выберете «новый проект», в открывшимся окне нажмите на «консольное приложение». После нажатия кнопки «ОК» откроется студия разработки. В центральном окне появится автоматически созданный код, удалите его и наберите следующее:

using System;

using System. Collections. Generic;

using System. Text;

namespace sample1

{

class Program

{

static void Main(string[] args)

{

Console. WriteLine(“Ура!”);

Console. ReadLine();

Console. ReadKey();

}

}

}

Нажмите клавишу «F5», если вы все сделаете правильно, появится окно консоли с текстом «Ура!». В случае ошибки при вводе кода, под центральным окном, в окне ошибок высветится допущенная ошибка. Для завершения, необходимо просто закрыть программу.

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

Урок 2

Когда мы начнем программировать, то можем столкнуться с серьезным препятствием – компьютер не всегда понимает, что мы ему говорим. Для того, чтобы научится понимать друг друга, нам необходимо определить общие понятия, которыми мы будем оперировать при взаимодействии, обозначить общие названия предметов, о которых будем говорить с компьютером, обозначить общий для двух сторон вид формул которые будем использовать. Это может показаться очень простым, но научить компьютер понимать нас очень сложно, ведь компьютер устроен не так как человеческий мозг.

Оставим компьютеры в стороне на некоторое время.

Вокруг нас существуют предметы: мяч, дерево, собака – это объекты.

Этих объектов может быть много. Несколько одинаковых предметов называются классом предметов, например, мяч входит в класс игрушки, дерево в класс растения, а собака принадлежит классу животные.

Объекты обладают свойствами – собака может бегать, лаять или вилять хвостом. Для мяча, главным отличительным свойством будет его форма – он круглый.

Мы можем заставить собаку вилять хвостом – это будет называться событием.

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

Использование «классов, объектов, свойств, событий и методов» (об этом и было рассказано выше) не является единственно возможным. Это только один из способов, который помогает объяснить, как устроен окружающий нас мир. Такой взгляд на мир (он называется «объектно-ориентированным» подходом) стал очень популярным способом описания вещей, на это и опирается язык C#. Итак, изучение языка C# — это изучение способов описания вещей при помощи классов, объектов, событий и методов. Если вы хотите, чтобы компьютер выполнил определенные действия, то вам придется выучить язык C# и научиться описывать вещи с ориентацией на объекты. Так же необходимо использовать инструменты, при помощи которых можно передавать компьютеру сообщения (в нашем случае это Visual C# 2008 Express). Только в этом случае компьютер сможет понимать язык C# и работать с объектами, описанными в соответствии с объектно-ориентированным подходом.

Урок 3

Одним из самых важных понятий в объектно-ориентированных языках программирования, к которым и принадлежит C#, является понятие «Класс».

Как мы уже рассказывали, все объекты принадлежат к какому-либо классу, так и в языке программирования C# все строится в рамках класса. Каждый класс описывает устройство объектов этого класса.

Теперь попробуем научиться говорить компьютеру на понятном для обеих сторон языке. Понятное для компьютера объявление класса на языке C# выглядит так:

class Machine

{

}

Этот отрывок кода компьютер понимает следующим образом:

Мы назвали класс объектов.

Мы назвали этот класс Машины.

Описание этого класса будет находиться внутри фигурных скобок.

Такое название класса «Machine» (машины) мы будем использовать в программе, которая будет выводить на экран изображения любых машин, описывать модели и марки автомобилей, содержать информацию о характеристиках самолетов или функциях роботов. Если мы будем создавать программу, которая будет решать другие задачи, например, это будет альбом фотографий, то и класс мы будем называть соответственно: «MyPhotoProgram». Нужно понимать, что классы могут содержать не только объекты реального мира, но и абстрактные явления.

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

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

НЕ нашли? Не то? Что вы ищете?

Урок 4

Объекты — это отдельные, четко обозначенные элементы некоторого класса. Класс дает общее описание объектов, указывает «на что они похожи».

Объекты – это дерево, собака, автомобиль то есть предметы вокруг нас, но для компьютера объектами могут быть не только вещественные предметы этого мира, но и абстрактные понятия присущие только миру компьютеров. При создании какого-нибудь приложения нам понадобиться объяснить компьютеру, что мы будем использовать какой-то объект. Так как каждый объект принадлежит своему классу, создавать которые мы уже научились, рассмотрим как же объяснить компьютеру особенности того или иного объекта.

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

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

Machine Car;

Что же понимает компьютер. «Человек хочет поговорить об объекте, который принадлежит классу машины и называет его автомобилем». Компьютер не знает, что такое автомобиль, но это не имеет значение, мы можем называть объекты так, как нам захочется.

Но этого не достаточно, дополним код следующим выражением:

Car = new Machine();

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

На основе своих знаний о классе компьютер создаст реальный объект, с которым он сможет выполнять дальнейшие действия.

Урок 5

Каждый объект, не зависимо от того к какому классу он относится, всегда обладает свойствами. Именно свойства объектов позволяют нам различать объекты, потому, что каждый объект обладает индивидуальными свойствами. Определим некоторые свойства объекта автомобиль:

Материал (Material);

Цвет (Color);

Возраст (Age);

Высота (Altitude);

Длинна (Length);

Наличие руля (HasHandWheel);

Допустим, что автомобиль, который мы имеем в виду, обладает следующими свойствами: материал – железо, цвет – черный, возраст – 1 год, высота – 1,5 метра, длинна – 4 метра и у автомобиля есть руль. Эти несколько характеристик помогут объяснить компьютеру, что за объект мы с ним обсуждали, даст возможность компьютеру отличить этот объект от других объектов этого же класса, например, робота. В программировании на языке C# обозначение свойств объекта, которые мы перечислили, будет выглядеть следующим образом:

Car. Material = iron;

Car. Color = black;

Car. Age = 1;

Car. Altitude = 1,5;

Car. Lenght = 4;

Car. HasHandWheel = true;

Почему обозначения свойств выглядят именно так, а не иначе. Рассмотрим детально одно из свойств: «car» - означат, что это свойство относится именно к объекту автомобиль, «material» - мы называем свойство объекта автомобиль, «=iron» - это значение названного нами свойства.

Все свойства объектов можно разделить на три типа «string» - строка, «int» - (integer) числа, «bool» - (boolean) логическое значение. Первый тип «string» - строка, объясняет компьютеру, что значение этого свойства будет иметь буквенное выражение, в нашем примере это свойства материал и цвет, то есть в коде эти свойства имели бы следующий вид:

string Car. Material;

string Car. Color;

Второй тип «int» - (integer) числа, при помощи этого значения мы можем объяснить компьютеру, что свойство имеет числовое выражение, в нашем примере это свойства возраст, длинна и высота, они будут выглядеть так:

int Car. Age;

int Car. Altitude;

int Car. Lenght;

Последний тип это «bool» - (boolean) логическое значение, с его помощью мы сможем дать понять компьютеру, есть или нет названное нами свойство у данного объекта, и выражение у данного свойства бывает только двух видов правда или ложь (true or false). В коде это будет выглядеть так:

bool Car. HasHandWheel;

Объяснить иначе эти типы можно следующим образом: для того, чтобы компьютер понял, какие данные ему придется обрабатывать, а буквенные, числовые и логические данные он обрабатывает каждые по своему, мы и говорим ему, какие данные присущи каждому конкретному свойству.

Урок 6

Мы уже рассмотрели, что такое свойства объекта и умеем создавать объекты. Теперь давайте разберемся, как же добавить свойства, описанные на языке C# в код созданного класса, не забывайте, что все мы должны описывать в рамках класса.

Когда мы объясняли компьютеру, что существует такой класс «машины», в код мы добавили фигурные скобки, в которых обещали разместить все необходимые сведения.

class Machine

{

}

Пришло время добавить в код нашего класса несколько полей. Поля – это элементы информации, которые помогут нам лучше объяснить параметры класса.

Добавим в объявленный класс поля со свойствами, которые мы обозначили в предыдущем уроке.

class Machine

{

string Material;

string Color;

int Age;

int Altitude;

int Lenght;

bool HasHandWheel;

}

Этим мы объяснили компьютеру, что все объекты класса «Machine» имеют перечисленные поля. Теперь попробуем создать объект и сообщим компьютеру некоторую информацию об этом объекте, присвоив значения каждому полю.

Machine Car Car = new Machine(); Car. Material = «iron»; Car. Color = «black»; Car. Age = 1; Car. Altitude = 1,5; Car. Lenght = 4; Car. HasHandWheel = true;



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

Существует три степени защищенности: «private», «protected» и «public». Private – «объекты только этого класса могут обращаться к данному полю». Public – «объекты любого класса могут обращаться к этому полю». Protected – «только объекты классов-наследников могут обращаться к полю».

Например, в классе «Machine» мы хотим, чтобы поля «материал» и «цвет» были доступны для любого класса, поля «возраст», «длинна» и «высота» были доступны только для объектов этого класса, а поле наличия или отсутствия руля, было доступно только для объектов, которые будут входить в классы-наследники нашего класса.

class Machine { public string Material; public string Color; private int Age; private int Altitude; private int Lenght; protected bool HasHandWheel; }



Если мы не станем задавать в коде данные поля, то программа по умолчанию выставит значение «private» и компьютер все поля будет воспринимать закрытыми, хотя нам может понадобиться оставить какие-то поля открытыми.

Урок 7

Мы уже умеем объявлять классы и объекты, описывать свойства, но этого не достаточно, для того, чтобы программа начала работать. Естественно, что нам необходимо, чтобы созданные нами объекты выполняли какие-то действия, выводили слова на экран или решали задачи. Для этого нам нужно рассказать компьютеру о том, что и в какой последовательности он должен сделать, мы должны описать метод.

Как мы можем объяснить компьютеру при помощи языка C#, порядок действий. Для этого, конечно существует определенный код, объявление кода метода выглядит так:

void SayHello () { }

Этот фрагмент кода похож на объявление класса, да, это так, мы объявляем метод, и внутри фигурных скобок даем пояснение к выполнению этого метода.

using System; using System. Collections. Generic; using System. Text; namespace sample1 { class Program { static void Main(string[] args) { Console. WriteLine("Ура!"); SayHello(); Console. ReadLine(); Console. ReadKey(); } static void SayHello() { Console. WriteLine("Привет!"); } } }

Попробуем вызвать этот метод, на экране появится слово «Привет!». Это самый простой метод, поэтому и код тоже очень простой. Рассмотрим подробнее, что же мы сказали компьютеру этим кодом. Слово Void – это пустота, в фигурных скобках мы указали действие: на консоли написать в линию слово «привет». Компьютер понимает это следующим образом: после пустоты нужно написать слово «привет» и после этого вернуться к пустоте. Но в этом коде мы не указали самого главного, мы не сказали компьютеру, когда нужно вывести это слово на монитор, для этого нужно поставить «SayHello ();», обратите внимание на то, что в конце этой фразы стоит точка с запятой, а во фразе объявления метода этого знака нет.

Рассмотрим действие метода еще на одном примере. Мы хотим вывести на экран следующее: Привет Иван Алеша Мы можем это сделать, создав следующий код: using System; using System. Collections. Generic; using System. Text; namespace sample1 { class Program { static void Main(string[] args) { Console. WriteLine(“Ура!”); SayHello(); WriteHelloIvan(); WriteHelloAndru(); WriteHelloAlex(); Console. ReadKey(); } static void SayHello () { Console. WriteLine (“Привет!”); } static void WriteHelloIvan() { Console. WriteLine(“Привет Иван”); } static void WriteHelloAndru() { Console. WriteLine(“Привет Андрей”); } static void WriteHelloAlex() { Console. WriteLine(“Привет Алеша”); } } }

Вы уже обратили внимание, что эти три метода очень похожи. Мы можем сократить объем этого кода, просто написав один метод «WriteHello», дополнив его необходимыми параметрами, и при каждом вызове этого метода, передавать разные значения.

static void WriteHello(string some_name) { Console. WriteLine("Привет " + some_name); } И вызвать метод следующим образом: using System; using System. Collections. Generic; using System. Text; namespace sample1 { class Program { static void Main(string[] args) { Console. WriteLine("Ура!"); SayHello(); WriteHello("Ivan"); WriteHello("Andru"); WriteHello("Alex"); Console. ReadKey(); } static void SayHello () { Console. WriteLine ("Привет!"); } static void WriteHello(string some_name) { Console. WriteLine("Привет " + some_name); } } }

Обратите внимание, на сколько, мы сэкономили пространство кода, и время на его написание. Компьютер же понимает следующее: каждый раз при вызове этого метода я буду подставлять строку символов с каким-либо именем. Любая подставляемая строка должна выводиться после слова «Привет».

Урок 8

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

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

Допустим, что у нас форма с кнопкой, на которой написано «Нажми меня», код такой формы выглядит так:

namespace project1 { partial class Form1 { /// /// Требуется переменная конструктора. /// private ponentModel. IContainer components = null; /// /// Освободить все используемые ресурсы. /// ///
истинно, если управляемый ресурс должен быть удален; иначе ложно.
protected override void Dispose(bool disposing)
{
if (disposing && (components!= null))
{
components. Dispose();
}
base. Dispose(disposing);
}

#region Код, автоматически созданный конструктором форм Windows

///
/// Обязательный метод для поддержки конструктора - не изменяйте
/// содержимое данного метода при помощи редактора кода.
///
private void InitializeComponent()
{
this. button1 = new System. Windows. Forms. Button();
this. SuspendLayout();
//
// button1
//
this. button1.Location = new System. Drawing. Point(93, 65);
this. button1.Name = "button1";
this. button1.Size = new System. Drawing. Size(75, 23);
this. button1.TabIndex = 0;
this. button1.Text = "button1";
this. button1.UseVisualStyleBackColor = true;
this. button1.Click += new System. EventHandler(this. button1_Click);
//
// Form1
//
this. AutoScaleDimensions = new System. Drawing. SizeF(6F, 13F);
this. AutoScaleMode = System. Windows. Forms. AutoScaleMode. Font;
this. ClientSize = new System. Drawing. Size(292, 273);
this. Controls. Add(this. button1);
this. Name = "Form1";
this. Text = "Form1";
this. ResumeLayout(false);

}

#endregion

private System. Windows. Forms. Button button1;
}
}


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

using System; using System. Collections. Generic; using ponentModel; using System. Data; using System. Drawing; using System. Linq; using System. Text; using System. Windows. Forms; namespace project1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { button1.Text = "Вы нажали меня!"; } } }

Компьютер при этом понимает следующее: при нажатия на кнопку button1надо связать событие Click с методом обработчика событий. При нажатии на кнопку эта строка позволяет системе вызвать метод обработчика событий, после его выполнения надпись на кнопке меняется на «Вы нажали меня!».

Урок 9

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

Пространство имени создается следующим образом: namespace Alex { } И уже внутрь созданного пространства мы должны вписать наш класс: namespace Anna { class Machine { // поля и методы класса } }

Если вы хотите объединить классы с одной тематикой, то, конечно, лучше их вписывать в рамки одного пространства имени, а если нужно создать много объектов одного пространства имен, то в начале программы нужно написать предложение «using», где можно указать пространство имен. Тогда компьютер сам будет находить классы в этом пространстве. Например, так:

using Ivan. Technologies; Car = new Machine(); За этим следует создание объекта «Car» класса «Machine» из пространства имен Ivan. Technologies.

Урок 10

В этом уроке мы рассмотрим еще одно понятие, которое при написании программ на языке C# существенно сэкономить время и упростить код программы.

Это понятие – наследование.

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

То же самое можно сделать и с кодом программ.

Возьмем два независимых класса «Car» (автомобили) и «Robot» (роботы), в реальном мире оба они будут относиться к технологическим устройствам (машинам), но каждый из этих классов, будет иметь свои особенности, например автомобили без управления человеком функционировать не могут, однако роботы могут выполнять определенные действия, выполняя команды своей программы, без посредничества человека.

В этом коде класс «Robot» станет наследником класса «Car», вернее унаследует его свойства:

class Car { string Material; string Color; int Age; int Altitude; int Lenght; bool HasHandWheel; } class Robot : Car { string WayMovement; }

Итак, мы унаследовали свойство одного класса у свойства другого, в коде это выражается почти так же как простое объявление класса, только после имени нового класса мы ставим двоеточие и пешим имя класса, у которого хотим унаследовать свойства. Кроме этого, для класса «робот» мы добавили еще одно свойство – «способ передвижения», и при вызове этого свойства мы бы указали значение «Tracked» - гусеничный.

Иногда вам может встретиться объявление класса следующего вида: class MyFancyClass : Form { // поля и методы класса } При таком указании (Form) наследование происходит у классов уже существующих в системе Microsoft.

Урок 11

Программировать на языке C# без. NET Framework совершенно не возможно. .NET Framework – это платформа программирования, разработанная корпорацией Microsoft, и язык C# создавался специально для нее. Платформа. NET Framework состоит из двух частей.

Во-первых, она содержит библиотеку классов, созданных на языке C#. Которыми, мы всегда можем воспользоваться, а не создавать коды простых программ заново.

Во-вторых, в ее состав входит среда выполнения, управляющая запуском и работой готовых программ, так называемый компилятор.

Использовать библиотеку. NET Framework достаточно просто, если вы используете при программировании упрощенную среду программирования Visual C# Express, то всегда сможете обратиться к справочнику, куда, и включена эта библиотека. При работе в среде программирования Visual C# Express, Вы всегда сможете воспользоваться интеллектуальной подсказкой. Как только вы введете в ее окошко имя пространства или класса и поставите точку, автоматически раскроется список всех доступных классов, методов и полей. Вам достаточно выбрать нужный элемент списка.

Например, после ввода «Console.» вы увидите список методов и других членов класса Console.

Расскажем немного о понятии «консоль», так часто встречающемся в наших уроках. Понятие «консоль» пришло к нам из тех времен, когда были популярны большие компьютеры. Компания размещала в каком-нибудь помещении один гигантский компьютер, а на рабочих местах устанавливалась только клавиатура и простой монитор, называвшийся консолью. Клавиатура и монитор подключались к тому самому «монстру», спрятанному от посторонних глаз в отдельной комнате. Такие мониторы не умели отображать графику — только текст. Информация передавалась при помощи клавиатуры – основного устройства ввода, а консоль – основное устройство вывода – позволяла компьютеру представлять информацию пользователю. Сегодня мы пользуемся современными компьютерами, которые занимают очень мало места и их возможности на несколько порядков больше, но при выполнении многих задач никаких графических изысков не требуется. Например, программа, получающая какие-либо данные с сервера в Интернете и сохраняющая их в файле на вашем компьютере, должна уметь выводить только два сообщения: «идет получение данных» и «готово». Зачем тратить время на разработку затейливого интерфейса, который занимает много памяти? Именно по этой причине в библиотеку. NET включен класс для быстрого написания консольных приложений. Не стоит относиться снисходительно к консольным приложениям и считать их слишком примитивными.

Но если вы захотите написать привычное для вас приложение похожее на приложение Windows, то наверняка воспользуетесь классами из пространства имен System. Windows. Forms. Эти классы позволят вам задействовать кнопки, списки, текстовые поля, меню, окна сообщений и множество других «элементов управления» принятых в операционной системе Windows.

Компания Microsoft предоставила в составе библиотеки классов. NET Framework большое количество «элементов управления», которые можно помещать на формы. Освоив этот инструмент, вы сможете быстро создавать эффектные приложения.

Это список наиболее часто используемых элементов управления: Label (Метка). Button (Кнопка). ListBox (Список). CheckBox (Флажок). RadioButton (Переключатель). MessageBox (Окно сообщений). Menu (Меню). TabControl (Управление вкладками). Toolbar (Панель инструментов). TreeView (Дерево). DataGrid (Сетка данных). PictureBox (Изображение). RichTextBox (Текстовое поле с поддержкой формата RTF).

Такая возможность программы – выбирать готовые шаблоны, значительно упростит процесс программирования.