Операции и управляющие конструкции

  • ppt
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 114. Операции и управляющие конструкции.ppt

Учебный курс Объектно-ориентированный анализ и программирование

Лекция 6
Операции и управляющие конструкции

2

Операции и методы


Стандартные операции
Объект ЗнакОперации Объект

Методы объекта
Объект.Метод(Аргументы)

Перегруженные операции
Объект ЗнакОперации Объект

Методы объекта
Объект.Метод(Аргументы)

Методы класса
(статические методы)
Класс.Метод(Аргументы)

3

Операции со встроенными типами


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

4

Приоритеты и ассоциативность операций


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25

Арифметические операции


Независимо от совпадения типов операндов:
Операнды целого типа со знаком короче, чем int преобразуются в int

Операнды целого типа без знака короче, чем uint, преобразуются в uint

При несовпадении типов:
Перед выполнением операции операнд младшего типа преобразуется к операнду старшего типа.

Результат операции совпадает с типом операндов после преобразования

Примеры: 5.0/2.0 -> 2.5 5.0/2 -> 2.5 5/2 -> 2 5%2 -> 1

Операция

* / %
+ -

тип после преобразования

26

Операции отношения



Операция

< <= > >= кроме bool

== != любой тип

bool

true (выполнено)

false (не выполнено)

Примеры bool a, b, c;
a= 10>5; -> true
b= ’B’>’A’; -> true
c= 65==’A’; -> true

27

Логические операции



Операция

bool

! (не) //унарная
&& (и)
|| (или)

bool

true

false

Примеры
bool a;
a= !( 10>5 && 3==8 ); -> true
a= 10>5 || 3<8; -> true
a= 10==5 || 3==8; -> false

28

Операции со строками

Операции перегружены и выполняются как для типов значений

Присваивание копируются символы строки
Отношения == и != сравниваются символы
Операция + сцепление строк

Строка предназначена для хранения текста в виде множества символов (кодировка Unicode: 1 символ – 2 байта).

Тип строки объявлен как класс string, т.е. строка – это ссылочный тип

Отличие от массива: элементы строки доступны только для чтения

string s1 = “Иванов”;
string s2 = “1986”;
string s3;
string s4 = “иванов”;
s3 =s 1 + s2;
s2[3] = ‘8’; //ОШИБКА
s1 == s4; -> False

29

Операции со строками

Операции перегружены и выполняются как для типов значений

Присваивание копируются символы строки
Отношения == и != сравниваются символы
Операция + сцепление строк

Строка предназначена для хранения текста в виде множества символов (кодировка Unicode: 1 символ – 2 байта).

Тип строки объявлен как класс string, т.е. строка – это ссылочный тип

Отличие от массива: элементы строки доступны только для чтения

string s1 = “Иванов”;
string s2 = “1986”;
string s3;
string s4 = “иванов”;
s3 =s 1 + s2;
s2[3] = ‘8’; //ОШИБКА
s1 == s4; -> False

Преобразование строки в тип значения: Тип.Parse(строка)
double x = double.Parse(“5,45”);
Преобразование объекта в строку: Объект.ToString()
string s = 541.ToString();

30

Операции и методы


Стандартные операции
Объект ЗнакОперации Объект

Методы объекта
Объект.Метод(Аргументы)

Перегруженные операции
Объект ЗнакОперации Объект

Методы объекта
Объект.Метод(Аргументы)

Методы класса
(статические методы)
Класс.Метод(Аргументы)

31

Следование


Блок - операторы, заключенные в фигурные скобки
{оператор … оператор}
Операторы в блоке выполняются последовательно в порядке их записи.
В качестве оператора могут быть:
объявление
выражение, заканчивающееся символом точи с запятой
управляющая конструкция
блок операторов
Локальная переменная – переменная, объявленная в блоке
Область видимости локальной переменной - блок, в котором она объявлена и вложенные блоки

32

Ветвление

if ( P )
Блок операторов S1
else
Блок операторов S2

if ( P )
Блок операторов S

if (x < 0)
y = x * x;
else
y = x + 10;


if (x < 0) y = x * x;
if (x>=0) y = x + 10;

33

Циклы с пред и постусловием

while ( P)
Блок операторов S

int i=0;
while (i<2)
{
Console.WriteLine (“Снег”);
i++;
}

34

Циклы с пред и постусловием

while ( P)
Блок операторов S

int i=0;
while (i<2)
{
Console.WriteLine (“Снег”);
i++;
}

do
Блок операторов S
while ( P );

int i=0;
do
{
Console.WriteLine (“Снег”);
i++;
}
while (i<2);

35

Универсальный цикл


Вычислить P1

Вычислить P2

P2

Выполнить
блок S

Вычислить P3

for (выражение P1; выражение P2; выражение P3) блок операторов S

P1 - инициализация
P2 - условие
P3 - модификация

36

Универсальный цикл


Вычислить P1

Вычислить P2

P2

Выполнить
блок S

Вычислить P3

for (выражение P1; выражение P2; выражение P3) блок операторов S

P1 - инициализация
P2 - условие
P3 - модификация

Дополнительные операторы управления
break - принудительное завершение цикла
continue - завершение текущей итерации цикла и
переход на следующую итерацию

37

Универсальный цикл


Вычислить P1

Вычислить P2

P2

Выполнить
блок S

Вычислить P3

for (выражение P1; выражение P2; выражение P3) блок операторов S

P1 - инициализация
P2 - условие
P3 - модификация

Дополнительные операторы управления
break - принудительное завершение цикла
continue - завершение текущей итерации цикла и
переход на следующую итерацию

using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
int s;
int n=3;
int[ ] a = new int[n];
a[0]=10; a[1]=15; a[2]=25;
s = 0;
for (int i = 0; i < a.Length; i++)
s = s + a[i];
Console.WriteLine(s);
}
}

38

Пример обработки динамического массива


using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
int s;

ArrayList a = new ArrayList();

a.Add(10); a.Add(15); a.Add(25);

s = 0;
for (int i = 0; i < a.Count; i++)
s = s + (int)a[i] ;

Console.WriteLine(s);
}
}

Свойство:
Count – количество элементов в массиве

Методы:
Add – добавить элемент в массив

Распаковка – преобразование
объекта Object в целое число

39

Универсальный цикл


Вычислить P1

Вычислить P2

P2

Выполнить
блок S

Вычислить P3

for (выражение P1; выражение P2; выражение P3) блок операторов S

P1 - инициализация
P2 - условие
P3 - модификация

Дополнительные операторы управления
break - принудительное завершение цикла
continue - завершение текущей итерации цикла и
переход на следующую итерацию

using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
int s;
int n=3;
int[ ] a = new int[n];
a[0]=10; a[1]=15; a[2]=25;
s = 0;
for (int i = 0; i < a.Length; i++)
s = s + a[i];
Console.WriteLine(s);
}
}

40

Пример обработки динамического массива


using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
int s;

ArrayList a = new ArrayList();

a.Add(10); a.Add(15); a.Add(25);

s = 0;
for (int i = 0; i < a.Count; i++)
s = s + (int)a[i] ;

Console.WriteLine(s);
}
}

Свойство:
Count – количество элементов в массиве

Методы:
Add – добавить элемент в массив

Распаковка – преобразование
объекта Object в целое число