Лекция № 2 «Переменные и...

Post on 30-Aug-2020

10 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Лекция № 2

«Переменные и графика»

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

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

shamin.ru, lector.ru, calcs.ru

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

Москва, 2020 г.

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

Структура программы на C#

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

Рассмотрим код нашей программы Hello.

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

Жирным выделяются те имена, которыереально используются.

Структура программы на C#

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

Рассмотрим код нашей программы Hello.

В строке 16 мы указываемпространство имен нашейпрограммы, котороесовпадает с именем проекта.

В строке 21 мы наследуемкласс MainWindow от классаWindow.

Строки 23-26 содержатконструктор класса.

Структура программы на C#

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

Рассмотрим код нашей программы Hello.

Строки 28-37 содержат код методов, которые обрабатывают события, связанные снажатием кнопок.

Переменные C#

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

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

Во-первых, каждая инструкция в программе завершается точкой с запятой. Во-вторых,язык C# является регистрозависимым, поэтому имена переменных: abc, Abc, ABC – это всеразные имена. В-третьих, комментарии бывают одно строчными, которые начинаютсясимволами // при этом вся дальнейшая строка рассматривается как комментарий.Многострочный комментарий начинается с /* а заканчивается */.

Типы переменных C#

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

Рассмотрим наиболее распространенные типы переменных в C#.

int: целочисленный тип, переменная этого типа может хранить целое число в диапазонеот -2147483648 до 2147483647;long: тоже целочисленный тип, но диапазон от –9223372036854775808 до9223372036854775807;

double: вещественный тип с диапазоном порядка ±10324;

char: один символ;string: строка символов;

bool: логический тип, может принимать только значения true или false;

object: абстрактный тип, который может принимать значения любых типов.

Арифметические переменные C#

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

С переменными можно выполнять различные операции. С переменными целого типаможно увеличивать и уменьшать на единицу следующим образом:

Можно использовать следующие сокращения:

Преобразование типов

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

Довольно часто возникает необходимость приводить один тип в другой. Например,приведение целого типа к вещественному:

Такое приведение возможно, поскольку при присвоении в строке 3 не происходит потериинформации. В тоже время попытка присвоить целочисленной переменнойвещественный тип вызовет ошибку:

Преобразование типов

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

Если возникает необходимость присвоить целой переменной вещественное значение, тоэто можно сделать следующим образом:

Это называется явное преобразование типов. При таком преобразовании вещественногочисла происходит отбрасывание дробной части.Если нужно округлить вещественное число до целого по правилам математики, то дляэтого нужно использовать функцию Round() из класса Math:

Преобразование типов

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

Переменную любого типа можно привести к текстовому виду с помощью методаToString(), который есть у каждого класса. Вот как это работает:

Преобразование типов

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

Для того, чтобы преобразовать строку в числовой тип нужно воспользоваться методомParse(), который есть у типа int и double:

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

Условный оператор и оператор цикла

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

Для любой программы нужны условные операторы и операторы цикла.Условным оператором называется оператор, который выполняет блок кода привыполнении заданного условия. Основным условным оператором в языке C# являютсяоператоры if() и if() – else.

Операторы if() и if() – else действуют по схеме:

Условный оператор и оператор цикла

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

Если мы хотим сравнить два значения переменных, то для этого нужно использоватьоператор ==.

Условный оператор и оператор цикла

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

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

! – логическое НЕ;&& – логическое И;|| – логическое ИЛИ.

Условный оператор и оператор цикла

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

Операторы цикла позволяют повторять действия много раз. Основным оператором циклаявляется оператор for(), который определяется следующим образом:

Выполняется этот оператор так: сначала выполняется выражение [инициализация] – этовыражение выполняется только один раз. Далее проверяется <условие>. Если это условиеверное, то выполняется блок кода, в противном случае цикл завершается. Послевыполнения блока кода выполняется [изменение], после этого проверяется <условие> ивсе повторяется.

Условный оператор и оператор цикла

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

Теперь приведем пример цикла, который найдет сумму чисел от 1 до 100:

Условный оператор и оператор цикла

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

Есть и более простой цикл while(), который действует по следующей схеме:

Сначала проверяется <условие>, если оно верное, то выполняетсяблок кода, после чего снова проверяется <условие>. Как толькоусловие не выполнится, то цикл завершится. Вот пример такогоцикла:

Пример графики

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

Пример графики

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

Пример графики

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

Пример графики

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

Пример графики

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

top related