🗊Презентация Объектно-ориентированное программирование

Нажмите для полного просмотра!
Объектно-ориентированное программирование, слайд №1Объектно-ориентированное программирование, слайд №2Объектно-ориентированное программирование, слайд №3Объектно-ориентированное программирование, слайд №4Объектно-ориентированное программирование, слайд №5Объектно-ориентированное программирование, слайд №6Объектно-ориентированное программирование, слайд №7Объектно-ориентированное программирование, слайд №8Объектно-ориентированное программирование, слайд №9Объектно-ориентированное программирование, слайд №10Объектно-ориентированное программирование, слайд №11Объектно-ориентированное программирование, слайд №12Объектно-ориентированное программирование, слайд №13Объектно-ориентированное программирование, слайд №14Объектно-ориентированное программирование, слайд №15Объектно-ориентированное программирование, слайд №16Объектно-ориентированное программирование, слайд №17Объектно-ориентированное программирование, слайд №18Объектно-ориентированное программирование, слайд №19Объектно-ориентированное программирование, слайд №20Объектно-ориентированное программирование, слайд №21Объектно-ориентированное программирование, слайд №22Объектно-ориентированное программирование, слайд №23Объектно-ориентированное программирование, слайд №24Объектно-ориентированное программирование, слайд №25Объектно-ориентированное программирование, слайд №26Объектно-ориентированное программирование, слайд №27Объектно-ориентированное программирование, слайд №28Объектно-ориентированное программирование, слайд №29Объектно-ориентированное программирование, слайд №30Объектно-ориентированное программирование, слайд №31Объектно-ориентированное программирование, слайд №32Объектно-ориентированное программирование, слайд №33Объектно-ориентированное программирование, слайд №34Объектно-ориентированное программирование, слайд №35Объектно-ориентированное программирование, слайд №36Объектно-ориентированное программирование, слайд №37Объектно-ориентированное программирование, слайд №38Объектно-ориентированное программирование, слайд №39Объектно-ориентированное программирование, слайд №40Объектно-ориентированное программирование, слайд №41Объектно-ориентированное программирование, слайд №42Объектно-ориентированное программирование, слайд №43Объектно-ориентированное программирование, слайд №44Объектно-ориентированное программирование, слайд №45Объектно-ориентированное программирование, слайд №46Объектно-ориентированное программирование, слайд №47Объектно-ориентированное программирование, слайд №48Объектно-ориентированное программирование, слайд №49Объектно-ориентированное программирование, слайд №50Объектно-ориентированное программирование, слайд №51Объектно-ориентированное программирование, слайд №52Объектно-ориентированное программирование, слайд №53Объектно-ориентированное программирование, слайд №54Объектно-ориентированное программирование, слайд №55Объектно-ориентированное программирование, слайд №56Объектно-ориентированное программирование, слайд №57Объектно-ориентированное программирование, слайд №58Объектно-ориентированное программирование, слайд №59Объектно-ориентированное программирование, слайд №60Объектно-ориентированное программирование, слайд №61Объектно-ориентированное программирование, слайд №62Объектно-ориентированное программирование, слайд №63Объектно-ориентированное программирование, слайд №64Объектно-ориентированное программирование, слайд №65Объектно-ориентированное программирование, слайд №66Объектно-ориентированное программирование, слайд №67Объектно-ориентированное программирование, слайд №68Объектно-ориентированное программирование, слайд №69Объектно-ориентированное программирование, слайд №70Объектно-ориентированное программирование, слайд №71Объектно-ориентированное программирование, слайд №72Объектно-ориентированное программирование, слайд №73

Содержание

Вы можете ознакомиться и скачать презентацию на тему Объектно-ориентированное программирование. Доклад-сообщение содержит 73 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Слайд 2





Объектно-ориентированное программирование
Объектно-ориентированное программирование
Инкапсуляция
Полиморфизм 
Наследование
Простая программа
Инструкции управления
Типы данных
Инструкции управления
Описание слайда:
Объектно-ориентированное программирование Объектно-ориентированное программирование Инкапсуляция Полиморфизм Наследование Простая программа Инструкции управления Типы данных Инструкции управления

Слайд 3





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
программу можно организовать одним из двух способов: 
опираясь на код (т.е. на действия, или на то, что происходит в программе), 
на данные (т.е. на то, что подвергается определенному воздействию)
Объектно-ориентированные программы организованы вокруг данных.
Принцип такой организации : именно данные должны управлять доступом к коду (тип данных точно определяет операции, которые могут быть к ним применены). 
Для поддержки принципов объектно-ориентированного программирования все ООП-языки (включая С#), имеют три характерных черты: 
инкапсуляцию, 
полиморфизм
наследование.
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ программу можно организовать одним из двух способов: опираясь на код (т.е. на действия, или на то, что происходит в программе), на данные (т.е. на то, что подвергается определенному воздействию) Объектно-ориентированные программы организованы вокруг данных. Принцип такой организации : именно данные должны управлять доступом к коду (тип данных точно определяет операции, которые могут быть к ним применены). Для поддержки принципов объектно-ориентированного программирования все ООП-языки (включая С#), имеют три характерных черты: инкапсуляцию, полиморфизм наследование.

Слайд 4





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
класс, 
объект, 
интерфейс,
инкапсуляция,  
наследование,
полиморфизм,
событие
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ класс, объект, интерфейс, инкапсуляция, наследование, полиморфизм, событие

Слайд 5





ОБЪЕКТ В ПРОГРАММЕ 
— это  абстракция реального объекта. 
Объект обладает атрибутами, поведением и индивидуальностью. 
Атрибуты определяют основные черты объекта, 
Поведение — действия над объектом, 
Индивидуальность — отличие одного объекта от другого с такими же атрибутами по их конкретным значениям.
Описание слайда:
ОБЪЕКТ В ПРОГРАММЕ — это абстракция реального объекта. Объект обладает атрибутами, поведением и индивидуальностью. Атрибуты определяют основные черты объекта, Поведение — действия над объектом, Индивидуальность — отличие одного объекта от другого с такими же атрибутами по их конкретным значениям.

Слайд 6





КЛАСС
– это множество объектов с одинаковыми атрибутами и поведением, представляемое в языке программирования в виде абстрактного типа данных, который включает в себя члены класса.
Описание слайда:
КЛАСС – это множество объектов с одинаковыми атрибутами и поведением, представляемое в языке программирования в виде абстрактного типа данных, который включает в себя члены класса.

Слайд 7





ЧЛЕНЫ КЛАССА
поля – непосредственно данные определенного типа для описания атрибутов;
методы - функции, предназначенные для обработки внутренних данных объекта данного класса;
свойства – это специальные поля данных, с помощью которых, можно управлять поведением объектов данного класса.
Описание слайда:
ЧЛЕНЫ КЛАССА поля – непосредственно данные определенного типа для описания атрибутов; методы - функции, предназначенные для обработки внутренних данных объекта данного класса; свойства – это специальные поля данных, с помощью которых, можно управлять поведением объектов данного класса.

Слайд 8





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Детали реализации объекта, то есть внутренние структуры данных и алгоритмы их обработки, скрыты от пользователя и недоступны для непреднамеренного изменения.
 Объект используется через его интерфейс -  совокупность правил доступа. 
Скрытие деталей реализации называется инкапсуляцией.
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ Детали реализации объекта, то есть внутренние структуры данных и алгоритмы их обработки, скрыты от пользователя и недоступны для непреднамеренного изменения. Объект используется через его интерфейс - совокупность правил доступа. Скрытие деталей реализации называется инкапсуляцией.

Слайд 9





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

Слайд 10





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Классы-потомки некоторого класса являются разновидностями этого класса-предка. Т.е. к объектам классов-потомков можно обращаться с помощью одного и того же имени (но при этом могут выполняться различные действия)  — что составляет суть полиморфизма.
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ Классы-потомки некоторого класса являются разновидностями этого класса-предка. Т.е. к объектам классов-потомков можно обращаться с помощью одного и того же имени (но при этом могут выполняться различные действия) — что составляет суть полиморфизма.

Слайд 11





ИНКАПСУЛЯЦИЯ — 
механизм программирования, который связывает код (действия) и данные, которыми он манипулирует, и при этом предохраняет их от вмешательства извне и неправильного использования. 
В объектно-ориентированном языке код и данные можно связать таким образом, что будет создан автономный черный ящик. Внутри этого ящика находятся все необходимые данные и код. 
При таком связывании кода и данных создается объект( объект — это элемент, который поддерживает инкапсуляцию).
Описание слайда:
ИНКАПСУЛЯЦИЯ — механизм программирования, который связывает код (действия) и данные, которыми он манипулирует, и при этом предохраняет их от вмешательства извне и неправильного использования. В объектно-ориентированном языке код и данные можно связать таким образом, что будет создан автономный черный ящик. Внутри этого ящика находятся все необходимые данные и код. При таком связывании кода и данных создается объект( объект — это элемент, который поддерживает инкапсуляцию).

Слайд 12





Код, данные могут быть закрытыми или открытыми
Код, данные могут быть закрытыми или открытыми
Основной единицей инкапсуляции в С# является класс. Класс определяет форму объекта (задает как данные, так и код, который будет оперировать этими данными).
Объекты — это экземпляры класса.
Код и данные, которые составляют класс, называются членами класса. 
Данные, определенные в классе, называются переменными экземпляра (instance variable), 
код, который оперирует этими данными, — методами-членами (member method), или просто методами ( в С# - подпрограмма, в С/С++ - функция).
Описание слайда:
Код, данные могут быть закрытыми или открытыми Код, данные могут быть закрытыми или открытыми Основной единицей инкапсуляции в С# является класс. Класс определяет форму объекта (задает как данные, так и код, который будет оперировать этими данными). Объекты — это экземпляры класса. Код и данные, которые составляют класс, называются членами класса. Данные, определенные в классе, называются переменными экземпляра (instance variable), код, который оперирует этими данными, — методами-членами (member method), или просто методами ( в С# - подпрограмма, в С/С++ - функция).

Слайд 13





ПОЛИМОРФИЗМ — 
качество, которое позволяет одному интерфейсу получать доступ к целому классу действий.
 Концепция полиморфизма : "один интерфейс —много методов"( для выполнения группы подобных действий можно разработать общий интерфейс).
 Полиморфизм позволяет понизить степень сложности программы, предоставляя программисту возможность использовать один и тот же интерфейс для задания общего класса действий. Конкретное (нужное в том или ином случае) действие (метод) выбирается компилятором.
Описание слайда:
ПОЛИМОРФИЗМ — качество, которое позволяет одному интерфейсу получать доступ к целому классу действий. Концепция полиморфизма : "один интерфейс —много методов"( для выполнения группы подобных действий можно разработать общий интерфейс). Полиморфизм позволяет понизить степень сложности программы, предоставляя программисту возможность использовать один и тот же интерфейс для задания общего класса действий. Конкретное (нужное в том или ином случае) действие (метод) выбирается компилятором.

Слайд 14





НАСЛЕДОВАНИЕ — 
процесс, благодаря которому один объект может приобретать свойства другого. 
Благодаря наследованию объекту нужно доопределить только те качества, которые делают его уникальным внутри его класса, поскольку он (объект) наследует общие атрибуты своего родителя. 
 Механизм наследования позволяет одному объекту представлять конкретный экземпляр более общего класса.
Описание слайда:
НАСЛЕДОВАНИЕ — процесс, благодаря которому один объект может приобретать свойства другого. Благодаря наследованию объекту нужно доопределить только те качества, которые делают его уникальным внутри его класса, поскольку он (объект) наследует общие атрибуты своего родителя. Механизм наследования позволяет одному объекту представлять конкретный экземпляр более общего класса.

Слайд 15





using System;
using System;

class Ex
{
//программа начинается с вызова метода Main()
	public static void Main()
    {
        int x=100; // объявляется переменная  
        int y; // объявляется переменная 

        //x = 100; // переменной x  присваивается 100
        Console.WriteLine("x содержит " + x);

        y = x / 2;

        Console.Write("y содержит x / 2: ");
        Console.WriteLine(y);
    }
}
Переменная — это именованная область памяти, которой может быть присвоено определенное значение.
Описание слайда:
using System; using System; class Ex { //программа начинается с вызова метода Main() public static void Main() { int x=100; // объявляется переменная int y; // объявляется переменная //x = 100; // переменной x присваивается 100 Console.WriteLine("x содержит " + x); y = x / 2; Console.Write("y содержит x / 2: "); Console.WriteLine(y); } } Переменная — это именованная область памяти, которой может быть присвоено определенное значение.

Слайд 16





ТИПЫ ЗНАЧЕНИЙ В С#
С# содержит две категории встроенных типов данных: 
типы значений
Ссылочные типы (определяются в классах) 
Термин "тип значения" применяется к переменным, которые непосредственно содержат значения. 
переменные ссылочных типов содержат ссылки на реальные значения
Описание слайда:
ТИПЫ ЗНАЧЕНИЙ В С# С# содержит две категории встроенных типов данных: типы значений Ссылочные типы (определяются в классах) Термин "тип значения" применяется к переменным, которые непосредственно содержат значения. переменные ссылочных типов содержат ссылки на реальные значения

Слайд 17





ТИПЫ ЗНАЧЕНИЙ В С#
Ключевое слово 		ТИП
bool 		Логический, представляет значения ИСТИНА/ЛОЖЬ

char 		Символьный(16-ти разрядный)

decimal 	Числовой тип для финансовых вычислений

double 	С плавающей точкой двойной точности

float 		С плавающей точкой

int 		Целочисленный 

byte 		8-разрядный целочисленный без знака

long 		Тип для представления длинного целого числа

sbyte 		8-разрядный целочисленный со знаком

short 		Тип для представления короткого целого числа

uint 		Целочисленный без знака

ulong 		Тип для представления длинного целого числа 
			без знака

ushort 	Тип для представления короткого целого числа 
			без знака
Описание слайда:
ТИПЫ ЗНАЧЕНИЙ В С# Ключевое слово ТИП bool Логический, представляет значения ИСТИНА/ЛОЖЬ char Символьный(16-ти разрядный) decimal Числовой тип для финансовых вычислений double С плавающей точкой двойной точности float С плавающей точкой int Целочисленный byte 8-разрядный целочисленный без знака long Тип для представления длинного целого числа sbyte 8-разрядный целочисленный со знаком short Тип для представления короткого целого числа uint Целочисленный без знака ulong Тип для представления длинного целого числа без знака ushort Тип для представления короткого целого числа без знака

Слайд 18





ВАРИАНТЫ ВЫВОДА ДАННЫХ
Console.WriteLine("Вы заказали "+2+" предмета по $"+3+" каждый.");

Console.WriteLine("В феврале {0} или {1} дней.", 28, 29);

В феврале 28 или 29 дней.

Console.WriteLine(
"В феврале {0,10} или {1,5} дней.", 28, 29);

В феврале        28 или   29 дней.
Описание слайда:
ВАРИАНТЫ ВЫВОДА ДАННЫХ Console.WriteLine("Вы заказали "+2+" предмета по $"+3+" каждый."); Console.WriteLine("В феврале {0} или {1} дней.", 28, 29); В феврале 28 или 29 дней. Console.WriteLine( "В феврале {0,10} или {1,5} дней.", 28, 29); В феврале 28 или 29 дней.

Слайд 19





Console.WriteLine(
Console.WriteLine(
"При делении 10/3 получаем: " + 10.0/3.0);

При делении 10/3 получаем: 3.33333333333333

Console.WriteLine(
"При делении 10/3 получаем: {0:#.##}",10.0/3.0);

При делении 10/3 получаем: 3.33

Console.WriteLine("{0:###,###.##}",123456.56);

123,456.56

decimal balance;
balance = 12323.09m;
Console.WriteLine("Текущий баланс равен {0:C},balance);

Текущий баланс равен $12,323.09
Описание слайда:
Console.WriteLine( Console.WriteLine( "При делении 10/3 получаем: " + 10.0/3.0); При делении 10/3 получаем: 3.33333333333333 Console.WriteLine( "При делении 10/3 получаем: {0:#.##}",10.0/3.0); При делении 10/3 получаем: 3.33 Console.WriteLine("{0:###,###.##}",123456.56); 123,456.56 decimal balance; balance = 12323.09m; Console.WriteLine("Текущий баланс равен {0:C},balance); Текущий баланс равен $12,323.09

Слайд 20





УПРАВЛЯЮЩИЕ ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ
\а 		Звуковой сигнал (звонок)
\b 		Возврат на одну позицию
\f 		Подача страницы (для перехода к 
			началу следующей страницы)
\n 		Новая строка
\r 		Возврат каретки
\t 		Горизонтальная табуляция
\v 		Вертикальная табуляция
\0 		Нуль-символ
\’ 		Одинарная кавычка (апостроф)
\”  		Двойная кавычка
\\ 		Обратная косая черта
Описание слайда:
УПРАВЛЯЮЩИЕ ПОСЛЕДОВАТЕЛЬНОСТИ СИМВОЛОВ \а Звуковой сигнал (звонок) \b Возврат на одну позицию \f Подача страницы (для перехода к началу следующей страницы) \n Новая строка \r Возврат каретки \t Горизонтальная табуляция \v Вертикальная табуляция \0 Нуль-символ \’ Одинарная кавычка (апостроф) \” Двойная кавычка \\ Обратная косая черта

Слайд 21





ЛИТЕРАЛЫ - ФИКСИРОВАННЫЕ ЗНАЧЕНИЯ, ПРЕДСТАВЛЕННЫЕ В ПОНЯТНОЙ ФОРМЕ (100)
Литерал типа long - присоединить к его концу букву l или L. 12 автоматически приобретает тип int, но значение 12L имеет тип long.
 
Целочисленное значение без знака -  суффикс u или U. 
 100 имеет тип int , но значение 100U — тип uint. 

Длинное целое без знака  - суффикс ul или UL (например, значение 987 654UL будет иметь тип ulong).

Литерал типа float - суффикс f или F (например, 10.19F).

Литерал типа decimal - суффикс m или М (например, 9. 95М).
Описание слайда:
ЛИТЕРАЛЫ - ФИКСИРОВАННЫЕ ЗНАЧЕНИЯ, ПРЕДСТАВЛЕННЫЕ В ПОНЯТНОЙ ФОРМЕ (100) Литерал типа long - присоединить к его концу букву l или L. 12 автоматически приобретает тип int, но значение 12L имеет тип long. Целочисленное значение без знака - суффикс u или U. 100 имеет тип int , но значение 100U — тип uint. Длинное целое без знака - суффикс ul или UL (например, значение 987 654UL будет иметь тип ulong). Литерал типа float - суффикс f или F (например, 10.19F). Литерал типа decimal - суффикс m или М (например, 9. 95М).

Слайд 22





ШЕСТНАДЦАТЕРИЧНЫЕ ЛИТЕРАЛЫ

count = OxFF; // 255 в десятичной системе

incr = Ox1а; // 26 в десятичной системе
Описание слайда:
ШЕСТНАДЦАТЕРИЧНЫЕ ЛИТЕРАЛЫ count = OxFF; // 255 в десятичной системе incr = Ox1а; // 26 в десятичной системе

Слайд 23





ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННОЙ
int count = 10 ; 	// Присваиваем переменной count
			// начальное значение 10

char ch = 'X1’; 	// Инициализируем ch буквой X

float f = 1.2F 	// Переменная f инициализируется
			// числом 1.2

int a,b=8,c=19,d; // Переменные b и с
			// инициализируются числами.
Описание слайда:
ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННОЙ int count = 10 ; // Присваиваем переменной count // начальное значение 10 char ch = 'X1’; // Инициализируем ch буквой X float f = 1.2F // Переменная f инициализируется // числом 1.2 int a,b=8,c=19,d; // Переменные b и с // инициализируются числами.

Слайд 24





ДИНАМИЧЕСКАЯ ИНИЦИАЛИЗАЦИЯ
// Динамическая инициализация 
using System;
class DynInit
{
    public static void Main()
    {
        double s1 = 4.0, s2 = 5.0; // длины строк
        //  Динамически инициализируем hypot  
        double hypot = Math.Sqrt((s1 * s1) + (s2 * s2));
        Console.Write("гипотениза треугольника со сторонами " +s1 + " by " + s2 + " is ");
        Console.WriteLine("{0:#.###}.", hypot);
    }	}
Описание слайда:
ДИНАМИЧЕСКАЯ ИНИЦИАЛИЗАЦИЯ // Динамическая инициализация using System; class DynInit { public static void Main() { double s1 = 4.0, s2 = 5.0; // длины строк // Динамически инициализируем hypot double hypot = Math.Sqrt((s1 * s1) + (s2 * s2)); Console.Write("гипотениза треугольника со сторонами " +s1 + " by " + s2 + " is "); Console.WriteLine("{0:#.###}.", hypot); } }

Слайд 25





ОБЛАСТЬ ВИДИМОСТИ

При создании блока создается и новая область видимости, которая определяет, какие объекты видимы для других частей программы. Область видимости также определяет время существования этих объектов.
При объявлении переменной внутри области видимости мы локализируем ее и защищаем от неправомочного доступа и/или модификации(основа для инкапсуляции)
Описание слайда:
ОБЛАСТЬ ВИДИМОСТИ При создании блока создается и новая область видимости, которая определяет, какие объекты видимы для других частей программы. Область видимости также определяет время существования этих объектов. При объявлении переменной внутри области видимости мы локализируем ее и защищаем от неправомочного доступа и/или модификации(основа для инкапсуляции)

Слайд 26





// демонстрация области видимости блока 
// демонстрация области видимости блока 
 
using System; 
 
class ScopeDemo { 
  public static void Main() { 
    int x; // известна всему коду в пределах метода Main() 
 
    x = 10; 
    if(x == 10) { // начало новой области видимости
      int y = 20; // известно только этому блоку 
 
      // x и y известны 
      Console.WriteLine("x и y: " + x + " " + y); 
      x = y * 2; 
    } 
    // y = 100; // ошибка! y неизвестна  
 
    // x известна 
    Console.WriteLine("x равно " + x); 
  } 
}
Описание слайда:
// демонстрация области видимости блока // демонстрация области видимости блока using System; class ScopeDemo { public static void Main() { int x; // известна всему коду в пределах метода Main() x = 10; if(x == 10) { // начало новой области видимости int y = 20; // известно только этому блоку // x и y известны Console.WriteLine("x и y: " + x + " " + y); x = y * 2; } // y = 100; // ошибка! y неизвестна // x известна Console.WriteLine("x равно " + x); } }

Слайд 27





ВРЕМЯ СУЩЕСТВОВАНИЯ
ПЕРЕМЕННЫХ
Переменные создаются после входа в их область видимости, а разрушаются при выходе из нее. 
 Переменная, объявленная внутри некоторого метода, не будет хранить значение между вызовами этого метода. 
Время существования переменной ограничивается ее областью видимости.
Если объявление переменной включает инициализатор, такая переменная будет повторно инициализироваться при каждом входе в блок, в котором она объявляется.
Описание слайда:
ВРЕМЯ СУЩЕСТВОВАНИЯ ПЕРЕМЕННЫХ Переменные создаются после входа в их область видимости, а разрушаются при выходе из нее. Переменная, объявленная внутри некоторого метода, не будет хранить значение между вызовами этого метода. Время существования переменной ограничивается ее областью видимости. Если объявление переменной включает инициализатор, такая переменная будет повторно инициализироваться при каждом входе в блок, в котором она объявляется.

Слайд 28





using System;
using System;

class VarInitDemo
{
public static void Main()
    {
        int x;

        for (x = 0; x < 3; x++)
        {
           int y = -1; // y инициализируется при 				    //каждом входе в программный блок
            Console.WriteLine("y равно: " + y); 
// всегда выводиться -1 
            y = 100;
            Console.WriteLine("y теперь равно: "+y);
        }
    }
}
Описание слайда:
using System; using System; class VarInitDemo { public static void Main() { int x; for (x = 0; x < 3; x++) { int y = -1; // y инициализируется при //каждом входе в программный блок Console.WriteLine("y равно: " + y); // всегда выводиться -1 y = 100; Console.WriteLine("y теперь равно: "+y); } } }

Слайд 29





ПРЕОБРАЗОВАНИЕ И ПРИВЕДЕНИЕ ТИПОВ
автоматическое преобразование типов, выполняется если  эти типа совместимы,  тип приемника больше (т.е. имеет больший диапазон представления чисел), чем тип источника.
Описание слайда:
ПРЕОБРАЗОВАНИЕ И ПРИВЕДЕНИЕ ТИПОВ автоматическое преобразование типов, выполняется если эти типа совместимы, тип приемника больше (т.е. имеет больший диапазон представления чисел), чем тип источника.

Слайд 30





using System; 
using System; 
 class LtoD 
{    
  public static void Main() {    
    long L; 
    double D; 
    //D=100123456.0
		//L=D; //неверно!!!
    L=100123285L; 
    D=L; 
 Console.WriteLine(”L и D:”+L+” ”+D); 
  }    
}
Описание слайда:
using System; using System; class LtoD { public static void Main() { long L; double D; //D=100123456.0 //L=D; //неверно!!! L=100123285L; D=L; Console.WriteLine(”L и D:”+L+” ”+D); } }

Слайд 31





ПРИВЕДЕНИЕ НЕСОВМЕСТИМЫХ ТИПОВ
Приведение к типу — это явно заданная инструкция компилятору преобразовать один тип в другой
(тип_приемника) выражение
тип_приемника - тип для преобразования заданного выражения

double х, у;
// . . .
(int) (х / у) ;
Описание слайда:
ПРИВЕДЕНИЕ НЕСОВМЕСТИМЫХ ТИПОВ Приведение к типу — это явно заданная инструкция компилятору преобразовать один тип в другой (тип_приемника) выражение тип_приемника - тип для преобразования заданного выражения double х, у; // . . . (int) (х / у) ;

Слайд 32





// приведение типов
// приведение типов
using System;
class CastDemo
{    public static void Main()
    {   double x, y;
        byte b;
        int i;
        char ch;
        uint u;
        short s;
        long l;
        x = 10.0;
        y = 3.0;
        //приведение типа double в int  
        i = (int)(x / y); // дробная часть теряется
        Console.WriteLine("целочисленный результат деления x / y: " + i);
        Console.WriteLine();
Описание слайда:
// приведение типов // приведение типов using System; class CastDemo { public static void Main() { double x, y; byte b; int i; char ch; uint u; short s; long l; x = 10.0; y = 3.0; //приведение типа double в int i = (int)(x / y); // дробная часть теряется Console.WriteLine("целочисленный результат деления x / y: " + i); Console.WriteLine();

Слайд 33





//приведение типа int к byte, без потери дан. 
//приведение типа int к byte, без потери дан. 
        i = 255;
        b = (byte)i;
      Console.WriteLine("b после присваивания 255:"+b+"-- без потери данных");
//приведение типа int к byte, с потерей дан. 
        i = 257;
        b = (byte)i;
      Console.WriteLine("b после присваивания 257: "+b+ "-- с потерей данных");
        Console.WriteLine();
Описание слайда:
//приведение типа int к byte, без потери дан. //приведение типа int к byte, без потери дан. i = 255; b = (byte)i; Console.WriteLine("b после присваивания 255:"+b+"-- без потери данных"); //приведение типа int к byte, с потерей дан. i = 257; b = (byte)i; Console.WriteLine("b после присваивания 257: "+b+ "-- с потерей данных"); Console.WriteLine();

Слайд 34





//приведение типа uint к short, без потери дан. 
//приведение типа uint к short, без потери дан. 
        u = 32000;
        s = (short)u;
        Console.WriteLine("s после присваивания 32000: "+s+ "--без потери данных");
//приведение типа uint к short, с потерей дан. 
        u = 64000; s = (short)u;
       Console.WriteLine("s  после присваивания 64000: " + s + " -- с потерей данных");
        Console.WriteLine();
 //приведение типа long к uint, без потери дан. 
        l = 64000; u = (uint)l;
       Console.WriteLine("u  после присваивания 64000: " + u +" -- без потери данных");
Описание слайда:
//приведение типа uint к short, без потери дан. //приведение типа uint к short, без потери дан. u = 32000; s = (short)u; Console.WriteLine("s после присваивания 32000: "+s+ "--без потери данных"); //приведение типа uint к short, с потерей дан. u = 64000; s = (short)u; Console.WriteLine("s после присваивания 64000: " + s + " -- с потерей данных"); Console.WriteLine(); //приведение типа long к uint, без потери дан. l = 64000; u = (uint)l; Console.WriteLine("u после присваивания 64000: " + u +" -- без потери данных");

Слайд 35





 //приведение типа long к uint, с потерей дан. 
 //приведение типа long к uint, с потерей дан. 
        l = -12;
        u = (uint)l;
       Console.WriteLine("u после присваивания -12: " + u +" -- с потерей данных");
        Console.WriteLine();

        // приведение типа int к char 
        b = 88; // ASCII-код для буквы X 
        ch = (char)b;
        Console.WriteLine("ch после присваивания 88: " + ch);
    }
}
Описание слайда:
//приведение типа long к uint, с потерей дан. //приведение типа long к uint, с потерей дан. l = -12; u = (uint)l; Console.WriteLine("u после присваивания -12: " + u +" -- с потерей данных"); Console.WriteLine(); // приведение типа int к char b = 88; // ASCII-код для буквы X ch = (char)b; Console.WriteLine("ch после присваивания 88: " + ch); } }

Слайд 36


Объектно-ориентированное программирование, слайд №36
Описание слайда:

Слайд 37





ПРЕОБРАЗОВАНИЕ ТИПОВ В ВЫРАЖЕНИЯХ
Преобразование типов выполняется на основе правил продвижения по "типовой” лестнице.
 Правило продвижения типов действует только при вычислении выражения.
Для бинарных операций:
Описание слайда:
ПРЕОБРАЗОВАНИЕ ТИПОВ В ВЫРАЖЕНИЯХ Преобразование типов выполняется на основе правил продвижения по "типовой” лестнице. Правило продвижения типов действует только при вычислении выражения. Для бинарных операций:

Слайд 38





ЕСЛИ один операнд имеет тип decimal, TO и второй "возводится в ранг", т.е. "в тип" decimal (но если второй операнд имеет тип float или double, результат будет ошибочным).
ЕСЛИ один операнд имеет тип decimal, TO и второй "возводится в ранг", т.е. "в тип" decimal (но если второй операнд имеет тип float или double, результат будет ошибочным).
ЕСЛИ один операнд имеет тип double, TO и второй преобразуется в значение типа double.
ЕСЛИ один операнд имеет тип float, TO и второй преобразуется в значение типа float.
ЕСЛИ один операнд имеет тип ulong, TO и второй преобразуется в значение типа ulong (но если второй операнд имеет тип sbyte, short, int или long, результат будет ошибочным).
ЕСЛИ один операнд имеет тип long, TO и второй преобразуется в значение типа long.
ЕСЛИ один операнд имеет тип uint, а второй имеет тип sbyte, short или int, ТО оба операнда преобразуются в значения типа long.
ЕСЛИ один операнд имеет тип uint, TO и второй преобразуется в значение типа uint.
ИНАЧЕ оба операнда преобразуются в значения типа int.
Описание слайда:
ЕСЛИ один операнд имеет тип decimal, TO и второй "возводится в ранг", т.е. "в тип" decimal (но если второй операнд имеет тип float или double, результат будет ошибочным). ЕСЛИ один операнд имеет тип decimal, TO и второй "возводится в ранг", т.е. "в тип" decimal (но если второй операнд имеет тип float или double, результат будет ошибочным). ЕСЛИ один операнд имеет тип double, TO и второй преобразуется в значение типа double. ЕСЛИ один операнд имеет тип float, TO и второй преобразуется в значение типа float. ЕСЛИ один операнд имеет тип ulong, TO и второй преобразуется в значение типа ulong (но если второй операнд имеет тип sbyte, short, int или long, результат будет ошибочным). ЕСЛИ один операнд имеет тип long, TO и второй преобразуется в значение типа long. ЕСЛИ один операнд имеет тип uint, а второй имеет тип sbyte, short или int, ТО оба операнда преобразуются в значения типа long. ЕСЛИ один операнд имеет тип uint, TO и второй преобразуется в значение типа uint. ИНАЧЕ оба операнда преобразуются в значения типа int.

Слайд 39





ПРИВЕДЕНИЕ ТИПОВ В ВЫРАЖЕНИЯХ
Операцию приведения типов можно применить не ко всему выражению, а к конкретной его части.
Описание слайда:
ПРИВЕДЕНИЕ ТИПОВ В ВЫРАЖЕНИЯХ Операцию приведения типов можно применить не ко всему выражению, а к конкретной его части.

Слайд 40





//приведение типов в выражениях
//приведение типов в выражениях
using System;
class CastExpr
{
    public static void Main()
    {
        double n;
        for (n = 1.0; n <= 10; n++)
        {
            Console.WriteLine("квадратный корень из {0} равен {1}", n, Math.Sqrt(n));
            Console.WriteLine("целая часть числа: {0}",
                              (int)Math.Sqrt(n));
            Console.WriteLine("дробная часть числа: {0}”,Math.Sqrt(n) - (int)Math.Sqrt(n));
            Console.WriteLine();
        }	}	}
Описание слайда:
//приведение типов в выражениях //приведение типов в выражениях using System; class CastExpr { public static void Main() { double n; for (n = 1.0; n <= 10; n++) { Console.WriteLine("квадратный корень из {0} равен {1}", n, Math.Sqrt(n)); Console.WriteLine("целая часть числа: {0}", (int)Math.Sqrt(n)); Console.WriteLine("дробная часть числа: {0}”,Math.Sqrt(n) - (int)Math.Sqrt(n)); Console.WriteLine(); } } }

Слайд 41


Объектно-ориентированное программирование, слайд №41
Описание слайда:

Слайд 42





АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ
Оператор 	Действие
+ 			Сложение
-			Вычитание, унарный минус
* 			Умножение
/ 			Деление
% 			Деление по модулю
--			Декремент
++ 			Инкремент
Описание слайда:
АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ Оператор Действие + Сложение - Вычитание, унарный минус * Умножение / Деление % Деление по модулю -- Декремент ++ Инкремент

Слайд 43





ОПЕРАТОРЫ ОТНОШЕНИЙ
Оператор 	Значение
==			Равно
! =			Не равно
>				Больше
<				Меньше
>=			Больше или равно
<=			Меньше или равно
Описание слайда:
ОПЕРАТОРЫ ОТНОШЕНИЙ Оператор Значение == Равно ! = Не равно > Больше < Меньше >= Больше или равно <= Меньше или равно

Слайд 44





ЛОГИЧЕСКИЕ ОПЕРАТОРЫ
Оператор 		Значение
	&				И
	|				ИЛИ
	^				Исключающее ИЛИ
	&&				Сокращенное И
	||				Сокращенное ИЛИ
	!				НЕ
различие между обычной и сокращенной версиями
при использовании обычной операции всегда вычисляются оба операнда, в случае же сокращенной версии второй операнд вычисляется только при необходимости.
Описание слайда:
ЛОГИЧЕСКИЕ ОПЕРАТОРЫ Оператор Значение & И | ИЛИ ^ Исключающее ИЛИ && Сокращенное И || Сокращенное ИЛИ ! НЕ различие между обычной и сокращенной версиями при использовании обычной операции всегда вычисляются оба операнда, в случае же сокращенной версии второй операнд вычисляется только при необходимости.

Слайд 45





ПОРАЗРЯДНЫЕ ОПЕРАТОРЫ
Оператор 		Значение
& 			Поразрядное И
I 			Поразрядное ИЛИ
^			Поразрядное исключающее ИЛИ
>>		Сдвиг вправо
<<		Сдвиг влево
~			Дополнение до 1 (унарный оператор НЕ)

значение >> число битов;
значение << число_битов.
значение — это объект операции сдвига, а элемент число_битов указывает, на сколько разрядов должно быть сдвинуто значение.
Описание слайда:
ПОРАЗРЯДНЫЕ ОПЕРАТОРЫ Оператор Значение & Поразрядное И I Поразрядное ИЛИ ^ Поразрядное исключающее ИЛИ >> Сдвиг вправо << Сдвиг влево ~ Дополнение до 1 (унарный оператор НЕ) значение >> число битов; значение << число_битов. значение — это объект операции сдвига, а элемент число_битов указывает, на сколько разрядов должно быть сдвинуто значение.

Слайд 46





// использование операторов сдвига для умножения на 2 
// использование операторов сдвига для умножения на 2 
using System;
class MultDiv
{    public static void Main()
    {   int n;
        n = 10;
   Console.WriteLine("значение переменной n: " + n);
        // умножаем 2 
        n = n << 1;
        Console.WriteLine("значение переменной после n = n * 2: " + n);
        // умножаем 4 
        n = n << 2;
        Console.WriteLine("значение переменной после n = n * 4: " + n);
        // делим на 2 
        n = n >> 1;
Описание слайда:
// использование операторов сдвига для умножения на 2 // использование операторов сдвига для умножения на 2 using System; class MultDiv { public static void Main() { int n; n = 10; Console.WriteLine("значение переменной n: " + n); // умножаем 2 n = n << 1; Console.WriteLine("значение переменной после n = n * 2: " + n); // умножаем 4 n = n << 2; Console.WriteLine("значение переменной после n = n * 4: " + n); // делим на 2 n = n >> 1;

Слайд 47





 Console.WriteLine("значение переменной после n = n / 2: " + n);
 Console.WriteLine("значение переменной после n = n / 2: " + n);
        // делим на 4 
        n=n>>2;
        Console.WriteLine("значение переменной после n = n / 4: " + n);
        Console.WriteLine();
        // reset n 
        n=10;
        Console.WriteLine("значение переменной n: " + n);
        // умножаем 2, 30 раз 
        n=n<<30; // данные потеряны 
        Console.WriteLine("значение n после сдвига на 30 разрядов: " + n);
    }
}
Описание слайда:
Console.WriteLine("значение переменной после n = n / 2: " + n); Console.WriteLine("значение переменной после n = n / 2: " + n); // делим на 4 n=n>>2; Console.WriteLine("значение переменной после n = n / 4: " + n); Console.WriteLine(); // reset n n=10; Console.WriteLine("значение переменной n: " + n); // умножаем 2, 30 раз n=n<<30; // данные потеряны Console.WriteLine("значение n после сдвига на 30 разрядов: " + n); } }

Слайд 48


Объектно-ориентированное программирование, слайд №48
Описание слайда:

Слайд 49





ЦИКЛ FOR
For(инициализация; условие; итерация) инструкция;
Описание слайда:
ЦИКЛ FOR For(инициализация; условие; итерация) инструкция;

Слайд 50





using System;
using System;

class For
{
    public static void Main()
    {
        int count;

        for (count = 0; count < 5; count ++)
       Console.WriteLine("это счет:"+count);

        Console.WriteLine("всё!");
    }
}
Описание слайда:
using System; using System; class For { public static void Main() { int count; for (count = 0; count < 5; count ++) Console.WriteLine("это счет:"+count); Console.WriteLine("всё!"); } }

Слайд 51





// сумма и произведение от 1 до 10. 
// сумма и произведение от 1 до 10. 
using System;

class PrSum
{
    static void Main()
    {
        int pr,sum,i;
        sum = 0;
        pr = 1;

        for (i = 1; i <= 10; i++)
        {
            sum = sum + i;
            pr = pr * i;
        }
        Console.WriteLine("сумма " + sum);
        Console.WriteLine("произведение " + pr);
    }
}
Описание слайда:
// сумма и произведение от 1 до 10. // сумма и произведение от 1 до 10. using System; class PrSum { static void Main() { int pr,sum,i; sum = 0; pr = 1; for (i = 1; i <= 10; i++) { sum = sum + i; pr = pr * i; } Console.WriteLine("сумма " + sum); Console.WriteLine("произведение " + pr); } }

Слайд 52





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

Слайд 53





/* использование запятых в цикле for для определения наибольшего и наименьшего множителей числа*/
/* использование запятых в цикле for для определения наибольшего и наименьшего множителей числа*/
using System;
class Comma
{    public static void Main()
    {
        int i, j;
        int smallest, largest;
        int num;
        num = 100;
        smallest = largest = 1;
  for (i=2,j=num/2;(i<=num/2)&(j>=2); i++,j)
        {
Описание слайда:
/* использование запятых в цикле for для определения наибольшего и наименьшего множителей числа*/ /* использование запятых в цикле for для определения наибольшего и наименьшего множителей числа*/ using System; class Comma { public static void Main() { int i, j; int smallest, largest; int num; num = 100; smallest = largest = 1; for (i=2,j=num/2;(i<=num/2)&(j>=2); i++,j) {

Слайд 54





            if ((smallest==1)&((num%i)==0))
            if ((smallest==1)&((num%i)==0))
                smallest = i;

            if ((largest==1)&((num%j)==0))
                largest = j;
        }
        Console.WriteLine("наибольший множитель: " + largest);
        Console.WriteLine("наименьший множитель: " + smallest);
    }
}
Описание слайда:
if ((smallest==1)&((num%i)==0)) if ((smallest==1)&((num%i)==0)) smallest = i; if ((largest==1)&((num%j)==0)) largest = j; } Console.WriteLine("наибольший множитель: " + largest); Console.WriteLine("наименьший множитель: " + smallest); } }

Слайд 55





if (условие) инструкция;
if (условие) инструкция;

условие представляет собой булево  выражение (которое приводится к значению ИСТИНА или ЛОЖЬ). 

if (10 < 11) Console.WriteLine("10 меньше 11");

if(10 < 9) Console.WriteLine("Этот текст выведен не будет.");
Описание слайда:
if (условие) инструкция; if (условие) инструкция; условие представляет собой булево выражение (которое приводится к значению ИСТИНА или ЛОЖЬ). if (10 < 11) Console.WriteLine("10 меньше 11"); if(10 < 9) Console.WriteLine("Этот текст выведен не будет.");

Слайд 56





КОНСТРУКЦИЯ IF - ELSE - IF
if (условие)
	инструкция;
else if(условие)
	инструкция;
else if(условие)
	инструкция;
else
	инструкция;
Описание слайда:
КОНСТРУКЦИЯ IF - ELSE - IF if (условие) инструкция; else if(условие) инструкция; else if(условие) инструкция; else инструкция;

Слайд 57





using System;
using System;
class IfDemo
{
    public static void Main()
    {   int a, b, c;
        a = 2;
        b = 3;
        if (a < b) Console.WriteLine("a меньше b");

        // следующая инструкция ничего не отобразит на экране  
  if (a == b) Console.WriteLine("этого текста никто не увидит");
        Console.WriteLine();
        c = a - b; // c содержит -1 
        Console.WriteLine("c содержит -1");
        if (c >= 0) Console.WriteLine("c неотрицательно");
        if (c < 0) Console.WriteLine("c неотрицательно");
        Console.WriteLine();
        c = b - a; // c теперь содержит 1 
        Console.WriteLine("c содержит 1");
        if (c >= 0) Console.WriteLine("c неотрицательно");
        if (c < 0) Console.WriteLine("c отрицательно");

    }	
	}
Описание слайда:
using System; using System; class IfDemo { public static void Main() { int a, b, c; a = 2; b = 3; if (a < b) Console.WriteLine("a меньше b"); // следующая инструкция ничего не отобразит на экране if (a == b) Console.WriteLine("этого текста никто не увидит"); Console.WriteLine(); c = a - b; // c содержит -1 Console.WriteLine("c содержит -1"); if (c >= 0) Console.WriteLine("c неотрицательно"); if (c < 0) Console.WriteLine("c неотрицательно"); Console.WriteLine(); c = b - a; // c теперь содержит 1 Console.WriteLine("c содержит 1"); if (c >= 0) Console.WriteLine("c неотрицательно"); if (c < 0) Console.WriteLine("c отрицательно"); } }

Слайд 58





//определение наименьшего множителя
//определение наименьшего множителя
//состоящего из одной цифры
using System;
class Ladder
{    
	public static void Main()
    {   
		int num;
        for (num = 2; num < 12; num++)
        {    if ((num % 2) == 0)
                Console.WriteLine("наименьший множитель числа " + num + " равен 2.");
            else if ((num % 3) == 0)
Описание слайда:
//определение наименьшего множителя //определение наименьшего множителя //состоящего из одной цифры using System; class Ladder { public static void Main() { int num; for (num = 2; num < 12; num++) { if ((num % 2) == 0) Console.WriteLine("наименьший множитель числа " + num + " равен 2."); else if ((num % 3) == 0)

Слайд 59





                Console.WriteLine("наименьший множитель числа " + num + " равен 3.");
                Console.WriteLine("наименьший множитель числа " + num + " равен 3.");
            else if ((num % 5) == 0)
                Console.WriteLine("наименьший множитель числа " + num + " равен 5.");
            else if ((num % 7) == 0)
                Console.WriteLine("наименьший множитель числа" + num + " равен 7");
            else
                Console.WriteLine(num + " не делится на 2, 3, 5, или 7");
        }
    }
}
Описание слайда:
Console.WriteLine("наименьший множитель числа " + num + " равен 3."); Console.WriteLine("наименьший множитель числа " + num + " равен 3."); else if ((num % 5) == 0) Console.WriteLine("наименьший множитель числа " + num + " равен 5."); else if ((num % 7) == 0) Console.WriteLine("наименьший множитель числа" + num + " равен 7"); else Console.WriteLine(num + " не делится на 2, 3, 5, или 7"); } } }

Слайд 60


Объектно-ориентированное программирование, слайд №60
Описание слайда:

Слайд 61





ИНСТРУКЦИЯ SWITCH
switch(выражение) {
	case константа1:
		последовательность инструкций
		break;
	case константа2:
		последовательность инструкций
		break;
	case константаЗ:
		последовательность инструкций
		break;
	default:
		последовательность инструкций
		break;	}
Описание слайда:
ИНСТРУКЦИЯ SWITCH switch(выражение) { case константа1: последовательность инструкций break; case константа2: последовательность инструкций break; case константаЗ: последовательность инструкций break; default: последовательность инструкций break; }

Слайд 62





ИНСТРУКЦИЯ SWITCH
Элемент выражение инструкции switch должен иметь целочисленный тип (char, byte, short или int ) или тип string.
Выражения, имеющие тип с плавающей точкой, не разрешены.
Описание слайда:
ИНСТРУКЦИЯ SWITCH Элемент выражение инструкции switch должен иметь целочисленный тип (char, byte, short или int ) или тип string. Выражения, имеющие тип с плавающей точкой, не разрешены.

Слайд 63





// использование char для управления switch
// использование char для управления switch
using System;
class Switch
{    public static void Main()
    {   char ch;
        for (ch = 'A'; ch <= 'E'; ch++)
            switch (ch)
            { case 'A':  Console.WriteLine("ch is A");   break;
               case 'B': Console.WriteLine("ch is B");   break;
	    	case 'C': Console.WriteLine("ch is C");   break; 
	    	case 'D': Console.WriteLine("ch is D");   break;
               case 'E': Console.WriteLine("ch is E");    break;
            }    }	}
Описание слайда:
// использование char для управления switch // использование char для управления switch using System; class Switch { public static void Main() { char ch; for (ch = 'A'; ch <= 'E'; ch++) switch (ch) { case 'A': Console.WriteLine("ch is A"); break; case 'B': Console.WriteLine("ch is B"); break; case 'C': Console.WriteLine("ch is C"); break; case 'D': Console.WriteLine("ch is D"); break; case 'E': Console.WriteLine("ch is E"); break; } } }

Слайд 64





БЕСКОНЕЧНЫЙ ЦИКЛ
f o r ( ; ; ) // Специально созданный бесконечный цикл
{
//…………..
}
Описание слайда:
БЕСКОНЕЧНЫЙ ЦИКЛ f o r ( ; ; ) // Специально созданный бесконечный цикл { //………….. }

Слайд 65





ЦИКЛ WHILE
whilе (условие) инструкция
Описание слайда:
ЦИКЛ WHILE whilе (условие) инструкция

Слайд 66





// вычисление порядка целого числа 
// вычисление порядка целого числа 
using System;
class While
{
    public static void Main()
    {
        int num;
        int mag;
        num = 435679;
        mag = 0;
		   Console.WriteLine("число: " + num);
        while (num > 0)
        {
	  mag++;
            num = num / 10;
        };
       Console.WriteLine("порядок: " + mag);
    }
}
Описание слайда:
// вычисление порядка целого числа // вычисление порядка целого числа using System; class While { public static void Main() { int num; int mag; num = 435679; mag = 0; Console.WriteLine("число: " + num); while (num > 0) { mag++; num = num / 10; }; Console.WriteLine("порядок: " + mag); } }

Слайд 67





ЦИКЛ DO - WHILE
do {
инструкции;
} while (условие);
выполняется до тех пор, пока остается истинным элемент условие
Описание слайда:
ЦИКЛ DO - WHILE do { инструкции; } while (условие); выполняется до тех пор, пока остается истинным элемент условие

Слайд 68





/*отображение цифр целого числа в обратном порядке*/ 
/*отображение цифр целого числа в обратном порядке*/ 
using System;
class DoWhileDemo
{
    public static void Main()
    {
        int num, nextdigit;
        num = 198;
        Console.WriteLine("число: " + num);
   Console.Write("обратный порядок цифр: ");
do        {
            nextdigit = num % 10;
            Console.Write(nextdigit);
            num = num / 10;
        } while (num > 0);
        Console.WriteLine();
    }		}
Описание слайда:
/*отображение цифр целого числа в обратном порядке*/ /*отображение цифр целого числа в обратном порядке*/ using System; class DoWhileDemo { public static void Main() { int num, nextdigit; num = 198; Console.WriteLine("число: " + num); Console.Write("обратный порядок цифр: "); do { nextdigit = num % 10; Console.Write(nextdigit); num = num / 10; } while (num > 0); Console.WriteLine(); } }

Слайд 69





ИСПОЛЬЗОВАНИЕ ИНСТРУКЦИИ BREAK ДЛЯ ВЫХОДА ИЗ ЦИКЛА
//определение наименьшего множителя числа 
using System;
class FSF		{
    public static void Main()    {
        int factor = 1;        int num = 1000;
        for (int i = 2; i < num / 2; i++)
 {
            if ((num % i) == 0)
            {
         factor = i;
	  break; // цикл прекращается, когда найден множитель 
            }        }
        Console.WriteLine("наименьший множитель " + factor);
    }	}
Описание слайда:
ИСПОЛЬЗОВАНИЕ ИНСТРУКЦИИ BREAK ДЛЯ ВЫХОДА ИЗ ЦИКЛА //определение наименьшего множителя числа using System; class FSF { public static void Main() { int factor = 1; int num = 1000; for (int i = 2; i < num / 2; i++) { if ((num % i) == 0) { factor = i; break; // цикл прекращается, когда найден множитель } } Console.WriteLine("наименьший множитель " + factor); } }

Слайд 70





ИНСТРУКЦИЯ GOTO
//использование goto и switch 
using System;
class SwitchGoto
{    public static void Main()
    {  for (int i = 1; i < 5; i++)
        {  switch (i)
            { case 1:   Console.WriteLine("в case 1");    goto case 3;
              case 2:   Console.WriteLine("в case 2");    goto case 1;
	      case 3:   Console.WriteLine("в case 3");     goto default;
              default:  Console.WriteLine("в default");   break;       }
            Console.WriteLine();
        }
 //goto case 1; //ошибка!нельзя впрыгнуть в switch. 
    }
}
Описание слайда:
ИНСТРУКЦИЯ GOTO //использование goto и switch using System; class SwitchGoto { public static void Main() { for (int i = 1; i < 5; i++) { switch (i) { case 1: Console.WriteLine("в case 1"); goto case 3; case 2: Console.WriteLine("в case 2"); goto case 1; case 3: Console.WriteLine("в case 3"); goto default; default: Console.WriteLine("в default"); break; } Console.WriteLine(); } //goto case 1; //ошибка!нельзя впрыгнуть в switch. } }

Слайд 71





ОПЕРАТОР ?
тернарный оператор ? используется для замены  определенных типов конструкций if-then-else. (работает с тремя операторами).
Выражение 1 ? Выражение2 : Выражение3;

Выражение1 должно иметь тип bool. 
Типы элементов Выражение2 и Выражение 3 должны быть одинаковы.
Вычисляется Выражение1. 
Если оно оказывается истинным, вычисляется Выражение2, и результат его вычисления становится значением всего ?-выражения.
Если результат вычисления элемента Выражение1 оказывается ложным, значением всего ?-выражения становится результат вычисления элемента ВыражениеЗ.
Описание слайда:
ОПЕРАТОР ? тернарный оператор ? используется для замены определенных типов конструкций if-then-else. (работает с тремя операторами). Выражение 1 ? Выражение2 : Выражение3; Выражение1 должно иметь тип bool. Типы элементов Выражение2 и Выражение 3 должны быть одинаковы. Вычисляется Выражение1. Если оно оказывается истинным, вычисляется Выражение2, и результат его вычисления становится значением всего ?-выражения. Если результат вычисления элемента Выражение1 оказывается ложным, значением всего ?-выражения становится результат вычисления элемента ВыражениеЗ.

Слайд 72





// способ обойти деление на 0 с помощью ? 
// способ обойти деление на 0 с помощью ? 
using System;
class NoZeroDiv
{    public static void Main()
    {   int result;
        int i;
        for (i = -5; i < 6; i++)
        {
            result = i != 0 ? 100 / i : 0;
            if (i != 0)
                Console.WriteLine("100 / " + i + " равно " + result);
        }	    }
}
Описание слайда:
// способ обойти деление на 0 с помощью ? // способ обойти деление на 0 с помощью ? using System; class NoZeroDiv { public static void Main() { int result; int i; for (i = -5; i < 6; i++) { result = i != 0 ? 100 / i : 0; if (i != 0) Console.WriteLine("100 / " + i + " равно " + result); } } }

Слайд 73


Объектно-ориентированное программирование, слайд №73
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию