Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2....

24
Курс «Программирование» Лекция № 1 «Знакомство с C# и Visual Studio» заведующий кафедрой, доктор физико-математических наук Роман Вячеславович Шамин shamin.ru, lector.ru, calcs.ru МИРЭА – Российский технологический университет кафедра информатики Института комплексной безопасности и специального приборостроения Москва, 2020 г. Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Upload: others

Post on 30-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Курс «Программирование»

Лекция № 1

«Знакомство с C# и Visual Studio»

заведующий кафедрой, доктор физико-математических наук

Роман Вячеславович Шамин

shamin.ru, lector.ru, calcs.ru

МИРЭА – Российский технологический университеткафедра информатики Института комплексной безопасности и специального приборостроения

Москва, 2020 г.

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 2: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Язык C#

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

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Основной особенностью C# является его полная объектно-ориентированность. В C# все является классами.

C# обладает C-подобным синтаксисом и наиболее близок кJava – в определенном смысле C# является воплощениемидей Java и Java-машины в Microsoft. Однако в настоящеевремя пути C# и Java разошлись довольно сильно.

C# является языком общего назначения и на нем можносоздавать приложения для любых целей и платформ:десктопные приложения, серверные приложения, базыданных, мобильные приложения, машинное обучение иискусственный интеллект, научные задачи, игры и многое…

Код C# компилируется в байт-код, который исполняется машиной CLR в .NET Framework.

А. Хейлсберг –автор языков:Turbo Pascal,Delphi, C#,TypeScript

Логотип C#

Microsoft Visual Studio –основной инструментразработки на C#.

Page 3: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Платформа .NET Framework

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

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Эта схема работает очень эффективно.Изначально .NET Framework работал толькопод Windows, но сейчас с помощьютехнологии .NET Core программы на языке C#могут быть запущены и на Linux, и iOS, а такжена мобильных платформах.

Платформа .NET Framework поддерживает нетолько C#, но и такие языки как C++, VisualBasic, F# и другие.

.NET Framework включает в себя графическиебиблиотеки WPF и Forms и другие библиотеки.

Page 4: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Microsoft Visual Studio

Microsoft Visual Studio – это полномасштабная интегрированная среда разработки (IDE –Integrated development environment), которая объединяет в себя редактор кода,визуальные средства программирования, компилятор, отладчики другиеинструментальные средства.

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 5: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Установка Visual Studio

Бесплатно скачать Visual Studio можно на сайте visualstudio.com. На этой странице нужновыбрать Visual Studio Community и скачать программу для установки Visual Studio. Этапрограмма в начале установит Visual Studio Installer, который позволяет выбратьнеобходимые компоненты Visual Studio, которые вам необходимы.

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Для использования Visual Studioвам необходимо иметь учетнуюзапись Microsoft (Live ID),которую бесплатно нужнополучить на сайте:account.microsoft.com. Для этогопереходим по ссылке «Создатьучетную запись Microsoft».

Page 6: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Создаем первый проект

Каждая программа, написанная в Visual Studio, должна быть в рамках проекта. Проектимеет определенное название и располагается в отдельной папке. Рассмотрим процесссоздания проекта и его запуска.

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Создаем проект приложения WPF (.NET Framework).

Page 7: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Создаем первый проект

Каждая программа, написанная в Visual Studio, должна быть в рамках проекта. Проектимеет определенное название и располагается в отдельной папке. Рассмотрим процесссоздания проекта и его запуска.

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Нужно указать параметрыпроекта:

▪ название проекта;▪ расположение проекта;▪ имя решения (как правило,

совпадает с названиемпроекта);

▪ Версию платформы .NETFramework.

Page 8: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Создаем первый проект

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 9: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Создаем первый проект

Давайте, сразу запустим созданный проект, чтобы убедиться, что Visual Studio создала занас довольно много.Для этого нужно переключить конфигурацию проекта на «Release» и нажать зеленуюкнопку «Пуск» .

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 10: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Создаем первый проект

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 11: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Графический интерфейс

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Почти любая программа должна иметь интерфейс пользователя, с помощью которого онапринимает от пользователя входную информацию и выводит результат своей работы.Различают два вида пользовательского интерфейса: консольный, когда выводосуществляется в текстовом виде, и графический. Мы будем изучать и использоватьграфический интерфейс пользователя, чтобы создавать программы, аналогичныекоторыми мы пользуемся при работе с Windows.

Графический интерфейс пользователя основан на понятии окна. Окном называется, какправило, прямоугольная область, которая имеет следующие элементы:▪ рамку;▪ заголовок окна;▪ меню окна;▪ кнопки управления окном (свернуть, развернуть, закрыть);▪ область окна.

Page 12: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Графический интерфейс

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Page 13: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Графический интерфейс

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Давайте теперь изменимзаголовок окна на «Мояпервая программа!».

Все объекты графическогоинтерфейса имеютопределенные свойства.Свойство окна – это какой-либо параметр, например,числовой или текстовый,который влияет на внешнийвид окна или элемента окна.

Page 14: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Графический интерфейс

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

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

Изменим цвет фона окна на произвольный с помощью изменения свойств окна.

Page 15: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Элементы управления

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

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

Работа с этими элементамиоднотипна, что упрощает ихизучение.

Page 16: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Элементы управления

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

В этой панели мышкой «перетащим» элемент Label на нашу панель.

Page 17: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Элементы управления

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Теперь изменимтекст вместо«Label» на «КакВас зовут?». Дляэтого выбереммышкой элементLabel на форме иобратим вниманиена вкладку«Свойства» иизменим тамсвойство«Content».

Page 18: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Элементы управления

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Чтобы пользователь мог ввести свое имя, размести на нашей форме элемент TextBox.Чтобы поле было пустым, а не содержало «TextBox», очистим свойство этого элемента«Text». Мы уже знаем, как менять свойства: нужно выбрать мышкой элемент иобратиться к вкладке «Свойства».

Кроме того, на формеразместим элементButton (кнопка). Приэтом изменим надписьна кнопке на «Привет!»,для этого нужноизменить свойство«Content». Подровняемразмеры формы.

Page 19: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Прежде всего намнужно дать имя нашейформе, чтобы можнобыло получать от нееинформацию овведенном тексте. Дляэтого нужно выбратьэлемент TextBoxмышкой и на вкладке«Свойства» задать имяtbHello.

Page 20: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Далее, выбираем мышкой кнопку на форме. После чего во вкладке свойств элементанажимаем на «молнию», после чего мы перейдем в область редактированияобработчиков событий. Нам нужно заполнить обработчик «Click», написав «cmHello» инажать Enter. В обработчике «Click» указывается метод, который будет вызван принажатии на кнопку.

Page 21: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

После нажатия на Enter наша Visual Studio откроет файл MainWindows.xaml.cs

Page 22: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Перейдем к написанию нашей первой строчке на языке C#. Тот код, который вы видитеможет показаться вам непонятным, но это не страшно. Со временем вы научитесь егопонимать, а сейчас мы начнем писать реакцию нашей программы на нажатие кнопки.Добавим две строчки:

В первой строке мы создаем текстовую переменную иприсваиваем ей значение, полученное от TextBox.Во второй строке мы вызываем метод Show объектаMessageBox, который выводит приветствие.

Page 23: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

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

Page 24: Информатика лекция № 1shamin.ru/zip/programming/shamin_lection01.pdf · 2020. 2. 22. · Курс «Программирование» Лекция № 1 «Знакомство

Добавляем функционал

Лекции по программированию, Р.В. Шамин: shamin.ru, lector.ru, calcs.ru

Обработчик этой кнопки назовем cmClose. Код обработчика очень простой:

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

Таким образом, мы увидели, что Visual Studio позволяет создавать программы с оконныминтерфейсом с помощью визуальных средств. При этом бизнес-логика программыпрограммируется отдельно от интерфейса.