🗊Презентация Синтаксис ООЯП С#. Класс. Объект. Свойства и методы

Нажмите для полного просмотра!
Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №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Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №74Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №75Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №76Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №77Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №78Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №79Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №80Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №81Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №82Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №83Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №84Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №85Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №86

Содержание

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

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


Слайд 1





Синтаксис  ООЯП С#
Описание слайда:
Синтаксис ООЯП С#

Слайд 2





Класс. Объект. Свойства и методы
Описание слайда:
Класс. Объект. Свойства и методы

Слайд 3





Для создания проекта следует после запуска Visual Studio.NET в главном меню выбрать команду  File   New   Project….
Описание слайда:
Для создания проекта следует после запуска Visual Studio.NET в главном меню выбрать команду  File   New   Project….

Слайд 4


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №4
Описание слайда:

Слайд 5





Заготовка консольной программы 

using System;
namespace ConsoleApplication1
{
class Class1
    {
static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
        }
    }
}
Описание слайда:
Заготовка консольной программы using System; namespace ConsoleApplication1 { class Class1 { static void Main(string[] args) { // // TODO: Add code to start application here // } } }

Слайд 6





Пространство имен
Описание слайда:
Пространство имен

Слайд 7





Состав языка

Символы:
буквы: 		  A-Z, a-z, _, буквы нац. алфавитов
цифры: 	  0-9, A-F
спец. символы: +, *, {, …
пробельные символы
Описание слайда:
Состав языка Символы: буквы: A-Z, a-z, _, буквы нац. алфавитов цифры: 0-9, A-F спец. символы: +, *, {, … пробельные символы

Слайд 8





Имена (идентификаторы)
имя должно начинаться с буквы или _;
имя должно содержать только буквы, знак подчеркивания и цифры;
прописные и строчные буквы различаются;
длина имени практически не ограничена.
имена не должны совпадать с ключевыми словами, однако допускается: @if, @float…
в именах можно использовать управляющие последовательности Unicode
Описание слайда:
Имена (идентификаторы) имя должно начинаться с буквы или _; имя должно содержать только буквы, знак подчеркивания и цифры; прописные и строчные буквы различаются; длина имени практически не ограничена. имена не должны совпадать с ключевыми словами, однако допускается: @if, @float… в именах можно использовать управляющие последовательности Unicode

Слайд 9





Нотации
Понятные и согласованные между собой имена — основа хорошего стиля. Существует несколько нотаций — соглашений о правилах создания имен.
В C# для именования различных видов программных объектов чаще всего используются две нотации:
Нотация Паскаля - каждое слово начинается с прописной буквы:
MaxLength, MyFuzzyShooshpanchik
Camel notation - с прописной буквы начинается каждое слово, составляющее идентификатор, кроме первого:
maxLength, myFuzzyShooshpanchik
Описание слайда:
Нотации Понятные и согласованные между собой имена — основа хорошего стиля. Существует несколько нотаций — соглашений о правилах создания имен. В C# для именования различных видов программных объектов чаще всего используются две нотации: Нотация Паскаля - каждое слово начинается с прописной буквы: MaxLength, MyFuzzyShooshpanchik Camel notation - с прописной буквы начинается каждое слово, составляющее идентификатор, кроме первого: maxLength, myFuzzyShooshpanchik

Слайд 10





Ключевые слова, знаки операций, разделители
Ключевые слова — идентификаторы, имеющие специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. 
Например, для оператора перехода определено слово goto.
Знак операции — один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. 
Например, сложение +, деление /, сложное присваивание %=. 
Операции делятся на унарные (с одним операндом), бинарные (с двумя) и тернарную (с тремя).
Разделители используются для разделения или, наоборот, группирования элементов. Примеры разделителей: скобки, точка, запятая.
Описание слайда:
Ключевые слова, знаки операций, разделители Ключевые слова — идентификаторы, имеющие специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Например, для оператора перехода определено слово goto. Знак операции — один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, сложение +, деление /, сложное присваивание %=. Операции делятся на унарные (с одним операндом), бинарные (с двумя) и тернарную (с тремя). Разделители используются для разделения или, наоборот, группирования элементов. Примеры разделителей: скобки, точка, запятая.

Слайд 11





Типы данных
Описание слайда:
Типы данных

Слайд 12





Хранение в памяти величин значимого и ссылочного типа
Описание слайда:
Хранение в памяти величин значимого и ссылочного типа

Слайд 13





Значимые типы
Описание слайда:
Значимые типы

Слайд 14





переменные
Описание слайда:
переменные

Слайд 15





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

Слайд 16





Инициализация переменных
 При объявлении можно присвоить переменной начальное значение (инициализировать). 
int	number = 100; 
float	x 	= 0.02; 
char	option = ’ю’;
 При инициализации можно использовать не только константы, но и выражения — главное, чтобы на момент описания они были вычислимыми, например:
int b = 1, a = 100; 
int x = b * a + 25;
Инициализация локальных  переменных возлагается на программиста. Рекомендуется всегда инициализировать переменные при описании.
Описание слайда:
Инициализация переменных При объявлении можно присвоить переменной начальное значение (инициализировать). int number = 100; float x = 0.02; char option = ’ю’; При инициализации можно использовать не только константы, но и выражения — главное, чтобы на момент описания они были вычислимыми, например: int b = 1, a = 100; int x = b * a + 25; Инициализация локальных переменных возлагается на программиста. Рекомендуется всегда инициализировать переменные при описании.

Слайд 17





Именованные константы
Описание слайда:
Именованные константы

Слайд 18





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

Слайд 19





Приоритеты операций C#
Первичные 		                     (), [], ++, --, new, …
Унарные 			                     ~, !, ++, --, -, …
Типа умножения (мультипликативные) *, /, %
Типа сложения (аддитивные)	            +, -
Сдвига				            <<, >>
Отношения и проверки типа	            <, >, is, …
Проверки на равенство 		             ==, !=
Поразрядные логические	             &, ^, |
Условные логические		             &&, ||
Условная 				             ?:
Присваивания          		              =, *=, /=,…
Описание слайда:
Приоритеты операций C# Первичные (), [], ++, --, new, … Унарные ~, !, ++, --, -, … Типа умножения (мультипликативные) *, /, % Типа сложения (аддитивные) +, - Сдвига <<, >> Отношения и проверки типа <, >, is, … Проверки на равенство ==, != Поразрядные логические &, ^, | Условные логические &&, || Условная  ?: Присваивания            =, *=, /=,…

Слайд 20





Тип результата выражения
Если операнды, входящие в выражение, одного типа, и операция для этого типа определена, то результат выражения будет иметь тот же тип.
Если операнды разного типа и (или) операция для этого типа не определена, перед вычислениями автоматически выполняется преобразование типа по правилам, обеспечивающим приведение более коротких типов к более длинным для сохранения значимости и точности. 
Автоматическое (неявное) преобразование возможно не всегда, а только если при этом не может случиться потеря значимости.
Если неявного преобразования из одного типа в другой не существует, программист может задать явное преобразование типа с помощью операции:
(тип)x. 
Convert.ToInt16(x)
Int16.Parse(строковая_переменная);
Описание слайда:
Тип результата выражения Если операнды, входящие в выражение, одного типа, и операция для этого типа определена, то результат выражения будет иметь тот же тип. Если операнды разного типа и (или) операция для этого типа не определена, перед вычислениями автоматически выполняется преобразование типа по правилам, обеспечивающим приведение более коротких типов к более длинным для сохранения значимости и точности. Автоматическое (неявное) преобразование возможно не всегда, а только если при этом не может случиться потеря значимости. Если неявного преобразования из одного типа в другой не существует, программист может задать явное преобразование типа с помощью операции: (тип)x. Convert.ToInt16(x) Int16.Parse(строковая_переменная);

Слайд 21





Неявные арифметические преобразования типов в C#
Описание слайда:
Неявные арифметические преобразования типов в C#

Слайд 22





Вывод сообщения на экран
Описание слайда:
Вывод сообщения на экран

Слайд 23





Инкремент (++) и декремент (--)
Описание слайда:
Инкремент (++) и декремент (--)

Слайд 24





Инкремент и декремент 
using System;
namespace CA1
{    class C1
    {    static void Main()
        {  int x = 3, y = 3;
            Console.Write( "Значение префиксного выражения: " );
            Console.WriteLine( ++x );
            Console.Write( "Значение х после приращения: " );
            Console.WriteLine( x );
            
            Console.Write( "Значение постфиксного выражения: " ); 
            Console.WriteLine( y++ );
            Console.Write( "Значение у после приращения: " ); 
            Console.WriteLine( y );
}}}
Описание слайда:
Инкремент и декремент using System; namespace CA1 { class C1 { static void Main() { int x = 3, y = 3; Console.Write( "Значение префиксного выражения: " ); Console.WriteLine( ++x ); Console.Write( "Значение х после приращения: " ); Console.WriteLine( x ); Console.Write( "Значение постфиксного выражения: " ); Console.WriteLine( y++ ); Console.Write( "Значение у после приращения: " ); Console.WriteLine( y ); }}}

Слайд 25





Операция присваивания
Присваивание – это замена старого значения переменной на новое. Старое значение стирается бесследно.
Операция может использоваться в программе как законченный оператор.
			переменная = выражение
a = b + c;
x = 1;
x = x + 0.5;
Описание слайда:
Операция присваивания Присваивание – это замена старого значения переменной на новое. Старое значение стирается бесследно. Операция может использоваться в программе как законченный оператор. переменная = выражение a = b + c; x = 1; x = x + 0.5;

Слайд 26





Операция умножения и деления
using System;
namespace ConsoleApplication1
{   class Class1
    {   static void Main()
        {
            int x = 11, y = 4;
            float z = 4;
            Console.WriteLine( z * y );             // Результат 16
            Console.WriteLine( x / y );             // Результат 2  (целочисленное деление)
            Console.WriteLine( x / z );             // Результат 2,75
            Console.WriteLine( x % y );           // Результат 3  (остаток)
            
}}}
Описание слайда:
Операция умножения и деления using System; namespace ConsoleApplication1 { class Class1 { static void Main() { int x = 11, y = 4; float z = 4; Console.WriteLine( z * y ); // Результат 16 Console.WriteLine( x / y ); // Результат 2 (целочисленное деление) Console.WriteLine( x / z ); // Результат 2,75 Console.WriteLine( x % y ); // Результат 3 (остаток) }}}

Слайд 27





Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом.
Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом.
При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа, и знаковым разрядом в противном случае. 
Стандартные операции сдвига определены для типов int, uint, long и ulong.
Описание слайда:
Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом. Операции сдвига (<< и >>) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом. При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа, и знаковым разрядом в противном случае. Стандартные операции сдвига определены для типов int, uint, long и ulong.

Слайд 28





using System;
using System;
namespace ConsoleApplication1
{   class Class1
    {   static void Main()
        {
            byte  a = 3, b = 9;
            sbyte c = 9, d = -9;
            Console.WriteLine( a << 1 );       // Результат 6
            Console.WriteLine( a << 2 );       // Результат 12
            Console.WriteLine( b >> 1 );       // Результат 4
            Console.WriteLine( c >> 1 );       // Результат 4
            Console.WriteLine( d >> 1 );       // Результат -5
        }
    }
}
Описание слайда:
using System; using System; namespace ConsoleApplication1 { class Class1 { static void Main() { byte a = 3, b = 9; sbyte c = 9, d = -9; Console.WriteLine( a << 1 ); // Результат 6 Console.WriteLine( a << 2 ); // Результат 12 Console.WriteLine( b >> 1 ); // Результат 4 Console.WriteLine( c >> 1 ); // Результат 4 Console.WriteLine( d >> 1 ); // Результат -5 } } }

Слайд 29





Операции отношения и проверки на равенство
Операции отношения (<, <=, >, >=, ==, !=) сравнивают первый операнд со вторым. 
Операнды должны быть арифметического типа. 
Результат операции — логического типа, равен true или false. 
x == y -- true, если x равно y, иначе false
x != y -- true, если x не равно y, иначе false
x < y -- true, если x меньше y, иначе false
x > y -- true, если x больше y, иначе false
x <= y -- true, если x меньше или равно y, иначе false
x >= y -- true, если x больше или равно y, иначе false
Описание слайда:
Операции отношения и проверки на равенство Операции отношения (<, <=, >, >=, ==, !=) сравнивают первый операнд со вторым. Операнды должны быть арифметического типа. Результат операции — логического типа, равен true или false. x == y -- true, если x равно y, иначе false x != y -- true, если x не равно y, иначе false x < y -- true, если x меньше y, иначе false x > y -- true, если x больше y, иначе false x <= y -- true, если x меньше или равно y, иначе false x >= y -- true, если x больше или равно y, иначе false

Слайд 30





Условные логические операции 
using System;
namespace ConsoleApplication1
{   class Class1
    {   static void Main()
        {
            Console.WriteLine( true && true  );      // Результат true
            Console.WriteLine( true && false );      // Результат false
            Console.WriteLine( true || true  );      // Результат true
            Console.WriteLine( true || false );      // Результат true
        }
    }
}
Описание слайда:
Условные логические операции using System; namespace ConsoleApplication1 { class Class1 { static void Main() { Console.WriteLine( true && true ); // Результат true Console.WriteLine( true && false ); // Результат false Console.WriteLine( true || true ); // Результат true Console.WriteLine( true || false ); // Результат true } } }

Слайд 31





Условная операция 
операнд_1 ? операнд_2 : операнд_3
Первый операнд — выражение, для которого существует неявное преобразование к логическому типу. 
Если результат вычисления первого операнда равен true, то результатом будет значение второго операнда, иначе — третьего операнда. 
using System;
namespace ConsoleApplication1
{   class Class1
    {   static void Main()
        {
            int a = 11, b = 4;
            int max = b > a ? b : a;
            Console.WriteLine( max );      // Результат 11
 }}}
Описание слайда:
Условная операция операнд_1 ? операнд_2 : операнд_3 Первый операнд — выражение, для которого существует неявное преобразование к логическому типу. Если результат вычисления первого операнда равен true, то результатом будет значение второго операнда, иначе — третьего операнда. using System; namespace ConsoleApplication1 { class Class1 { static void Main() { int a = 11, b = 4; int max = b > a ? b : a; Console.WriteLine( max ); // Результат 11 }}}

Слайд 32





Ввод данных с консоли
using System;
namespace A
{    class Class1
    {    static void Main()
        {
            string s = Console.ReadLine();           // ввод строки
            
        char c = (char)Console.Read();          // ввод символа
        Console.ReadLine();                             
        
            string buf;                                       // буфер для ввода чисел
            buf = Console.ReadLine();                
         int i = Convert.ToInt32( buf );           // преобразование в целое
         buf = Console.ReadLine();
         double x = Convert.ToDouble( buf ); // преобразование в вещ.
            buf = Console.ReadLine();
         double y = double.Parse( buf );         // преобразование в вещ.
  	   }
    }
}
Описание слайда:
Ввод данных с консоли using System; namespace A { class Class1 { static void Main() { string s = Console.ReadLine(); // ввод строки char c = (char)Console.Read(); // ввод символа Console.ReadLine(); string buf; // буфер для ввода чисел buf = Console.ReadLine(); int i = Convert.ToInt32( buf ); // преобразование в целое buf = Console.ReadLine(); double x = Convert.ToDouble( buf ); // преобразование в вещ. buf = Console.ReadLine(); double y = double.Parse( buf ); // преобразование в вещ. } } }

Слайд 33





Математические функции:      класс   Math
Описание слайда:
Математические функции: класс Math

Слайд 34


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №34
Описание слайда:

Слайд 35


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №35
Описание слайда:

Слайд 36





Блок (составной оператор)
Блок — это последовательность операторов, заключенная в операторные скобки:
begin   end
{          }
Блок воспринимается компилятором как один оператор и может использоваться всюду, где синтаксис требует одного оператора, а алгоритм — нескольких. 
Блок может содержать один оператор или быть пустым.
Описание слайда:
Блок (составной оператор) Блок — это последовательность операторов, заключенная в операторные скобки: begin end { } Блок воспринимается компилятором как один оператор и может использоваться всюду, где синтаксис требует одного оператора, а алгоритм — нескольких. Блок может содержать один оператор или быть пустым.

Слайд 37





Оператор «выражение»
Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении выражения. 
i++;               // выполняется операция инкремента
a *= b + c;     // выполняется умножение с присваиванием
fun( i, k );       // выполняется вызов функции
;   называют пустым оператором.
Описание слайда:
Оператор «выражение» Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении выражения. i++; // выполняется операция инкремента a *= b + c; // выполняется умножение с присваиванием fun( i, k ); // выполняется вызов функции ; называют пустым оператором.

Слайд 38


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №38
Описание слайда:

Слайд 39





Условный оператор if
Описание слайда:
Условный оператор if

Слайд 40





Пример
Описание слайда:
Пример

Слайд 41





Оператор выбора switch
switch ( выражение )
{
	case константное_выражение_1: [ список_операторов_1 ]
	case константное_выражение_2: [ список_операторов_2 ]
	..
	case константное_выражение_n: [ список_операторов_n ]
	[ default: операторы ]
}
Описание слайда:
Оператор выбора switch switch ( выражение ) { case константное_выражение_1: [ список_операторов_1 ] case константное_выражение_2: [ список_операторов_2 ] .. case константное_выражение_n: [ список_операторов_n ] [ default: операторы ] }

Слайд 42





Пример: Калькулятор на четыре действия 
using System; namespace ConsoleApplication1
{   class Class1    {   static void Main()        {
        string buf;  double a, b, res;
          Console.WriteLine( "Введите 1й операнд:" ); 
	   buf = Console.ReadLine(); a = double.Parse( buf);
	   Console.WriteLine( "Введите знак операции" );
	   char op = (char)Console.Read(); Console.ReadLine();
	   Console.WriteLine( "Введите 2й операнд:" ); 
	   buf = Console.ReadLine(); b = double.Parse( buf);
        bool ok = true;
           switch (op)
            {
                case '+' : res = a + b; break;
                case '-'  : res = a - b;  break;
                case '*' : res = a * b; break;
                case '/' : res = a / b; break;
                default  : res = double.NaN; ok = false; break;
            }
         if (ok) Console.WriteLine( "Результат: " + res );
         else    Console.WriteLine( "Недопустимая операция" );
}}}
Описание слайда:
Пример: Калькулятор на четыре действия using System; namespace ConsoleApplication1 { class Class1 { static void Main() { string buf; double a, b, res; Console.WriteLine( "Введите 1й операнд:" ); buf = Console.ReadLine(); a = double.Parse( buf); Console.WriteLine( "Введите знак операции" ); char op = (char)Console.Read(); Console.ReadLine(); Console.WriteLine( "Введите 2й операнд:" ); buf = Console.ReadLine(); b = double.Parse( buf); bool ok = true; switch (op) { case '+' : res = a + b; break; case '-' : res = a - b; break; case '*' : res = a * b; break; case '/' : res = a / b; break; default : res = double.NaN; ok = false; break; } if (ok) Console.WriteLine( "Результат: " + res ); else Console.WriteLine( "Недопустимая операция" ); }}}

Слайд 43





Структура оператора цикла
Описание слайда:
Структура оператора цикла

Слайд 44





Цикл с предусловием 
while ( выражение ) оператор
Описание слайда:
Цикл с предусловием while ( выражение ) оператор

Слайд 45





Цикл с постусловием 
do оператор while выражение;
Описание слайда:
Цикл с постусловием do оператор while выражение;

Слайд 46





Цикл с параметром 
for ( инициализация; выражение; модификации ) оператор;
int s = 0;
for ( int i = 1; i <= 100; i++ ) s += i;
Описание слайда:
Цикл с параметром for ( инициализация; выражение; модификации ) оператор; int s = 0; for ( int i = 1; i <= 100; i++ ) s += i;

Слайд 47





Пример цикла с параметром
using System;
namespace ConsoleApplication1
{   class Class1
    {   static void Main()
        {
            double Xn = -2, Xk = 12, dX = 2, t = 2, y;
            Console.WriteLine( "|     x     |     y     |";
            for ( double x = Xn; x <= Xk; x += dX )
            {
                y = t * x;
                Console.WriteLine( "| {0,9} | {1,9} |", x, y );  
            }
        }
    }
}
Описание слайда:
Пример цикла с параметром using System; namespace ConsoleApplication1 { class Class1 { static void Main() { double Xn = -2, Xk = 12, dX = 2, t = 2, y; Console.WriteLine( "| x | y |"; for ( double x = Xn; x <= Xk; x += dX ) { y = t * x; Console.WriteLine( "| {0,9} | {1,9} |", x, y ); } } } }

Слайд 48





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

Слайд 49





Передача управления
оператор break — завершает выполнение цикла, внутри которого записан;
оператор continue — выполняет переход к следующей итерации цикла;
оператор return — выполняет выход из функции, внутри которой он записан;
оператор throw — генерирует исключительную ситуацию;
оператор goto — выполняет безусловную передачу управления.
Описание слайда:
Передача управления оператор break — завершает выполнение цикла, внутри которого записан; оператор continue — выполняет переход к следующей итерации цикла; оператор return — выполняет выход из функции, внутри которой он записан; оператор throw — генерирует исключительную ситуацию; оператор goto — выполняет безусловную передачу управления.

Слайд 50





Оператор break
Описание слайда:
Оператор break

Слайд 51





Оператор goto 
завершает выполнение функции и передает управление в точку ее вызова:
return [ выражение ];
Описание слайда:
Оператор goto завершает выполнение функции и передает управление в точку ее вызова: return [ выражение ];

Слайд 52





Оператор goto: 2 варианта использования
Описание слайда:
Оператор goto: 2 варианта использования

Слайд 53


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №53
Описание слайда:

Слайд 54





Возможные действия при ошибке
прервать выполнение программы;
возвратить значение, означающее «ошибка»;
вывести сообщение об ошибке и вернуть вызывающей программе некоторое приемлемое значение, которое позволит ей продолжать работу;
выбросить исключение
Исключения генерирует либо система выполнения, либо программист с помощью оператора throw.
Описание слайда:
Возможные действия при ошибке прервать выполнение программы; возвратить значение, означающее «ошибка»; вывести сообщение об ошибке и вернуть вызывающей программе некоторое приемлемое значение, которое позволит ей продолжать работу; выбросить исключение Исключения генерирует либо система выполнения, либо программист с помощью оператора throw.

Слайд 55





Некоторые стандартные исключения
Описание слайда:
Некоторые стандартные исключения

Слайд 56





Оператор try 
Служит для обнаружения и обработки исключений.
Оператор содержит три части:
контролируемый блок — составной оператор, предваряемый ключевым словом try. В контролируемый блок включаются потенциально опасные операторы программы. Все функции, прямо или косвенно вызываемые из блока, также считаются ему принадлежащими;
один или несколько обработчиков исключений — блоков catch, в которых описывается, как обрабатываются ошибки различных типов;
блок завершения finally, выполняемый независимо от того, возникла ли ошибка в контролируемом блоке.
Описание слайда:
Оператор try Служит для обнаружения и обработки исключений. Оператор содержит три части: контролируемый блок — составной оператор, предваряемый ключевым словом try. В контролируемый блок включаются потенциально опасные операторы программы. Все функции, прямо или косвенно вызываемые из блока, также считаются ему принадлежащими; один или несколько обработчиков исключений — блоков catch, в которых описывается, как обрабатываются ошибки различных типов; блок завершения finally, выполняемый независимо от того, возникла ли ошибка в контролируемом блоке.

Слайд 57





Механизм обработки исключений
Обработка исключения начинается с появления ошибки. Функция или операция, в которой возникла ошибка, генерируют исключение;
Выполнение текущего блока прекращается, отыскивается соответствующий обработчик исключения, и ему передается управление.
В любом случае (была ошибка или нет) выполняется блок finally, если он присутствует. 
Если обработчик не найден, вызывается стандартный обработчик исключения.
Описание слайда:
Механизм обработки исключений Обработка исключения начинается с появления ошибки. Функция или операция, в которой возникла ошибка, генерируют исключение; Выполнение текущего блока прекращается, отыскивается соответствующий обработчик исключения, и ему передается управление. В любом случае (была ошибка или нет) выполняется блок finally, если он присутствует. Если обработчик не найден, вызывается стандартный обработчик исключения.

Слайд 58





Пример работы оператора обработки исключений
Описание слайда:
Пример работы оператора обработки исключений

Слайд 59





Массивы
Описание слайда:
Массивы

Слайд 60





Создание массива
Массив относится к ссылочным типам данных (располагается в управляемой куче), поэтому создание массива начинается с выделения памяти под его элементы.
Элементами массива могут быть величины как значимых, так и ссылочных типов (в том числе массивы), например:

int[]      w = new int[10];          // массив из 10 целых чисел
string[] z = new string[100];    // массив из 100 строк
Массив значимых типов хранит значения, массив ссылочных типов — ссылки на элементы. 
Всем элементам при создании массива присваиваются значения по умолчанию: нули для значимых типов и null для ссылочных.
Описание слайда:
Создание массива Массив относится к ссылочным типам данных (располагается в управляемой куче), поэтому создание массива начинается с выделения памяти под его элементы. Элементами массива могут быть величины как значимых, так и ссылочных типов (в том числе массивы), например: int[] w = new int[10]; // массив из 10 целых чисел string[] z = new string[100]; // массив из 100 строк Массив значимых типов хранит значения, массив ссылочных типов — ссылки на элементы. Всем элементам при создании массива присваиваются значения по умолчанию: нули для значимых типов и null для ссылочных.

Слайд 61





Размещение массивов в памяти
Описание слайда:
Размещение массивов в памяти

Слайд 62





Размерность массива
Количество элементов в массиве (размерность) задается при выделении памяти и не может быть изменена впоследствии. Она может задаваться выражением: 
short n = ...;
string[] z = new string[2*n + 1]; 
Размерность не является частью типа массива. 
Элементы массива нумеруются с нуля.
Для обращения к элементу массива после имени массива указывается номер элемента в квадратных скобках, например:
w[4]        z[i]
С элементом массива можно делать все, что допустимо для переменных того же типа. 
При работе с массивом автоматически выполняется контроль выхода за его границы: если значение индекса выходит за границы массива, генерируется исключение IndexOutOfRangeException.
Описание слайда:
Размерность массива Количество элементов в массиве (размерность) задается при выделении памяти и не может быть изменена впоследствии. Она может задаваться выражением: short n = ...; string[] z = new string[2*n + 1]; Размерность не является частью типа массива. Элементы массива нумеруются с нуля. Для обращения к элементу массива после имени массива указывается номер элемента в квадратных скобках, например: w[4] z[i] С элементом массива можно делать все, что допустимо для переменных того же типа. При работе с массивом автоматически выполняется контроль выхода за его границы: если значение индекса выходит за границы массива, генерируется исключение IndexOutOfRangeException.

Слайд 63





Действия с массивами
Массивы одного типа можно присваивать друг другу. При этом происходит присваивание ссылок, а не элементов:
int[] a = new int[10];
int[] b = a;        // b и a указывают на один и тот же массив
Все массивы в C# имеют общий базовый класс Array, определенный в пространстве имен System. Некоторые элементы класса Array:
Length (Свойство) - Количество элементов массива (по всем размерностям)
BinarySearch (Статический метод) - Двоичный поиск в отсортированном массиве
IndexOf – (Статический метод) - Поиск первого вхождения элемента в одномерный массив
Sort (Статический метод) - Упорядочивание элементов одномерного массива
Описание слайда:
Действия с массивами Массивы одного типа можно присваивать друг другу. При этом происходит присваивание ссылок, а не элементов: int[] a = new int[10]; int[] b = a; // b и a указывают на один и тот же массив Все массивы в C# имеют общий базовый класс Array, определенный в пространстве имен System. Некоторые элементы класса Array: Length (Свойство) - Количество элементов массива (по всем размерностям) BinarySearch (Статический метод) - Двоичный поиск в отсортированном массиве IndexOf – (Статический метод) - Поиск первого вхождения элемента в одномерный массив Sort (Статический метод) - Упорядочивание элементов одномерного массива

Слайд 64





Одномерные массивы 
Варианты описания массива:
тип[] имя;
тип[] имя = new тип [ размерность ];
тип[] имя = { список_инициализаторов };
тип[] имя = new тип [] { список_инициализаторов };
тип[] имя = new тип [ размерность ] { список_инициализаторов };
Примеры описаний (один пример на каждый вариант описания, соответственно):
int[] a;                                                            //  элементов нет
int[] b = new int[4];                                  //  элементы равны 0
int[] c = { 61, 2, 5, -9 };                       //  new подразумевается
int[] d = new int[] { 61, 2, 5, -9 };   // размерность вычисляется
int[] e = new int[4] { 61, 2, 5, -9 };       // избыточное описание
Описание слайда:
Одномерные массивы Варианты описания массива: тип[] имя; тип[] имя = new тип [ размерность ]; тип[] имя = { список_инициализаторов }; тип[] имя = new тип [] { список_инициализаторов }; тип[] имя = new тип [ размерность ] { список_инициализаторов }; Примеры описаний (один пример на каждый вариант описания, соответственно): int[] a; // элементов нет int[] b = new int[4]; // элементы равны 0 int[] c = { 61, 2, 5, -9 }; // new подразумевается int[] d = new int[] { 61, 2, 5, -9 }; // размерность вычисляется int[] e = new int[4] { 61, 2, 5, -9 }; // избыточное описание

Слайд 65





Программа
const int n = 6;
int[] a = new int[n] { 3, 12, 5, -9, 8, -4 };

Console.WriteLine( "Исходный массив:" );
for ( int i = 0; i < n; ++i ) Console.Write( "\t" + a[i] );
Console.WriteLine();

long sum = 0;              // cумма отрицательных элементов
int  num = 0;              // количество отрицательных элементов
for ( int i = 0; i < n; ++i )
       if ( a[i] < 0 ) { 
		sum += a[i];  ++num;
       }
 Console.WriteLine( "Сумма  отрицательных = " + sum );
 Console.WriteLine( "Кол-во отрицательных = " + num );

 int max = a[0];             // максимальный элемент
 for ( int i = 0; i < n; ++i )
           if ( a[i] > max ) max = a[i];
 Console.WriteLine( "Максимальный элемент = " + max );
Описание слайда:
Программа const int n = 6; int[] a = new int[n] { 3, 12, 5, -9, 8, -4 }; Console.WriteLine( "Исходный массив:" ); for ( int i = 0; i < n; ++i ) Console.Write( "\t" + a[i] ); Console.WriteLine(); long sum = 0; // cумма отрицательных элементов int num = 0; // количество отрицательных элементов for ( int i = 0; i < n; ++i ) if ( a[i] < 0 ) { sum += a[i]; ++num; } Console.WriteLine( "Сумма отрицательных = " + sum ); Console.WriteLine( "Кол-во отрицательных = " + num ); int max = a[0]; // максимальный элемент for ( int i = 0; i < n; ++i ) if ( a[i] > max ) max = a[i]; Console.WriteLine( "Максимальный элемент = " + max );

Слайд 66





Оператор foreach
Применяется для перебора элементов массива. Синтаксис:
foreach ( тип имя in имя_массива ) тело_цикла
Имя задает локальную по отношению к циклу переменную, которая будет по очереди принимать все значения из массива, например:

int[] massiv =  { 24, 50, 18, 3, 16, -7, 9, -1 };
foreach ( int x in massiv ) Console.WriteLine( x );
Описание слайда:
Оператор foreach Применяется для перебора элементов массива. Синтаксис: foreach ( тип имя in имя_массива ) тело_цикла Имя задает локальную по отношению к циклу переменную, которая будет по очереди принимать все значения из массива, например: int[] massiv = { 24, 50, 18, 3, 16, -7, 9, -1 }; foreach ( int x in massiv ) Console.WriteLine( x );

Слайд 67





Использование методов класса Array 
static void Main()
        {
            int[] a =  { 24, 50, 18, 3, 16, -7, 9, -1 };
            Console.WriteLine( "Исходный массив:", a );
            for ( int i = 0; i < a.Length; ++i )
                Console.Write( "\t" + a[i] );
            Console.WriteLine();
            Console.WriteLine( Array.IndexOf( a, 18 ) ); 
            Array.Sort(a);     // Array.Sort(a, 1, 5);
            Console.WriteLine ( "Упорядоченный массив:", a );
            for ( int i = 0; i < a.Length; ++i )
                Console.Write( "\t" + a[i] );
            Console.WriteLine();
            Console.WriteLine( Array.BinarySearch( a, 18) );
            Array.Reverse(a);     // Array.Reverse(a, 2, 4);  
}
Описание слайда:
Использование методов класса Array static void Main() { int[] a = { 24, 50, 18, 3, 16, -7, 9, -1 }; Console.WriteLine( "Исходный массив:", a ); for ( int i = 0; i < a.Length; ++i ) Console.Write( "\t" + a[i] ); Console.WriteLine(); Console.WriteLine( Array.IndexOf( a, 18 ) ); Array.Sort(a); // Array.Sort(a, 1, 5); Console.WriteLine ( "Упорядоченный массив:", a ); for ( int i = 0; i < a.Length; ++i ) Console.Write( "\t" + a[i] ); Console.WriteLine(); Console.WriteLine( Array.BinarySearch( a, 18) ); Array.Reverse(a); // Array.Reverse(a, 2, 4); }

Слайд 68





Прямоугольные массивы 
Прямоугольный массив имеет более одного измерения. Чаще всего в программах используются двумерные массивы. Варианты описания двумерного массива:
тип[,] имя;
тип[,] имя = new тип [ разм_1, разм_2 ];
тип[,] имя = { список_инициализаторов };
тип[,] имя = new тип [,] { список_инициализаторов };
тип[,] имя = new тип [ разм_1, разм_2 ] { список_инициализаторов };
Примеры описаний (один пример на каждый вариант описания):
int[,] a;                                                        // элементов нет
int[,] b = new int[2, 3];                                 // элементы равны 0
int[,] c = {{1, 2, 3}, {4, 5, 6}};                    // new подразумевается
int[,] c = new int[,] {{1, 2, 3}, {4, 5, 6}};     // разм-сть вычисляется
int[,] d = new int[2,3] {{1, 2, 3}, {4, 5, 6}}; // избыточное описание
Описание слайда:
Прямоугольные массивы Прямоугольный массив имеет более одного измерения. Чаще всего в программах используются двумерные массивы. Варианты описания двумерного массива: тип[,] имя; тип[,] имя = new тип [ разм_1, разм_2 ]; тип[,] имя = { список_инициализаторов }; тип[,] имя = new тип [,] { список_инициализаторов }; тип[,] имя = new тип [ разм_1, разм_2 ] { список_инициализаторов }; Примеры описаний (один пример на каждый вариант описания): int[,] a; // элементов нет int[,] b = new int[2, 3]; // элементы равны 0 int[,] c = {{1, 2, 3}, {4, 5, 6}}; // new подразумевается int[,] c = new int[,] {{1, 2, 3}, {4, 5, 6}}; // разм-сть вычисляется int[,] d = new int[2,3] {{1, 2, 3}, {4, 5, 6}}; // избыточное описание

Слайд 69





К элементу двумерного массива обращаются, указывая номера строки и столбца, на пересечении которых он расположен:
К элементу двумерного массива обращаются, указывая номера строки и столбца, на пересечении которых он расположен:
a[1, 4]        b[i, j]        b[j, i]
Компилятор воспринимает как номер строки первый индекс, как бы он ни был обозначен в программе.
Описание слайда:
К элементу двумерного массива обращаются, указывая номера строки и столбца, на пересечении которых он расположен: К элементу двумерного массива обращаются, указывая номера строки и столбца, на пересечении которых он расположен: a[1, 4] b[i, j] b[j, i] Компилятор воспринимает как номер строки первый индекс, как бы он ни был обозначен в программе.

Слайд 70





const int m = 3, n = 4;
const int m = 3, n = 4;
int[,] a = new int[m, n] {
                { 2,-2, 8, 9 }, 
                {-4,-5, 6,-2 },
                { 7, 0, 1, 1 } 
            };
Console.WriteLine( "Исходный массив:" );
for ( int i = 0; i < m; ++i )
{   for ( int j = 0; j < n; ++j )
         Console.Write( "\t" + a[i, j] );
     Console.WriteLine();
}
Описание слайда:
const int m = 3, n = 4; const int m = 3, n = 4; int[,] a = new int[m, n] { { 2,-2, 8, 9 }, {-4,-5, 6,-2 }, { 7, 0, 1, 1 } }; Console.WriteLine( "Исходный массив:" ); for ( int i = 0; i < m; ++i ) { for ( int j = 0; j < n; ++j ) Console.Write( "\t" + a[i, j] ); Console.WriteLine(); }

Слайд 71





double sum = 0;
double sum = 0;
int nPosEl;
for ( int i = 0; i < m; ++i )
{
      nPosEl = 0;
      for ( int j = 0; j < n; ++j )
      {
            sum += a[i, j];
            if ( a[i, j] > 0 ) ++nPosEl;
      }
      Console.WriteLine( "В строке {0} {1} положит-х эл-в", i, nPosEl);
}
Console.WriteLine( "Среднее арифметическое всех элементов: " 
                             + sum / m / n );
Описание слайда:
double sum = 0; double sum = 0; int nPosEl; for ( int i = 0; i < m; ++i ) { nPosEl = 0; for ( int j = 0; j < n; ++j ) { sum += a[i, j]; if ( a[i, j] > 0 ) ++nPosEl; } Console.WriteLine( "В строке {0} {1} положит-х эл-в", i, nPosEl); } Console.WriteLine( "Среднее арифметическое всех элементов: " + sum / m / n );

Слайд 72





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

Слайд 73





Описание ступенчатого массива
тип[][] имя;
Под каждый из массивов, составляющих ступенчатый массив, память требуется выделять явным образом:
int[][] a = new int[3][];   // память под ссылки на 3 строки
     a[0] = new int[5];     // память под 0-ю строку (5 эл-в)
     a[1] = new int[3];     // память под 1-ю строку (3 эл-та)
     a[2] = new int[4];     // память под 2-ю строку (4 эл-та)
Или:
int[][] a = { new int[5], new int[3], new int[4] };   
Обращение к элементу ступенчатого массива:
a[1][2]        a[i][j]        a[j][i]
Описание слайда:
Описание ступенчатого массива тип[][] имя; Под каждый из массивов, составляющих ступенчатый массив, память требуется выделять явным образом: int[][] a = new int[3][]; // память под ссылки на 3 строки a[0] = new int[5]; // память под 0-ю строку (5 эл-в) a[1] = new int[3]; // память под 1-ю строку (3 эл-та) a[2] = new int[4]; // память под 2-ю строку (4 эл-та) Или: int[][] a = { new int[5], new int[3], new int[4] }; Обращение к элементу ступенчатого массива: a[1][2] a[i][j] a[j][i]

Слайд 74





Пример
int[][] a = new int[3][];
          a[0] = new int [5] { 24, 50, 18, 3, 16 };
          a[1] = new int [3] { 7, 9, -1 };
          a[2] = new int [4] { 6, 15, 3, 1 };
          Console.WriteLine( "Исходный массив:" );
          for ( int i = 0; i < a.Length; ++i )
            {
                for ( int j=0; j < a[i].Length; ++j) 
                         Console.Write( "\t" + a[i][j] );
                Console.WriteLine();
            }
         // поиск числа 18 в нулевой строке:   
         Console.WriteLine( Array.IndexOf( a[0], 18 ) );
Описание слайда:
Пример int[][] a = new int[3][]; a[0] = new int [5] { 24, 50, 18, 3, 16 }; a[1] = new int [3] { 7, 9, -1 }; a[2] = new int [4] { 6, 15, 3, 1 }; Console.WriteLine( "Исходный массив:" ); for ( int i = 0; i < a.Length; ++i ) { for ( int j=0; j < a[i].Length; ++j) Console.Write( "\t" + a[i][j] ); Console.WriteLine(); } // поиск числа 18 в нулевой строке: Console.WriteLine( Array.IndexOf( a[0], 18 ) );

Слайд 75


Синтаксис ООЯП С#. Класс. Объект. Свойства и методы, слайд №75
Описание слайда:

Слайд 76





Строки типа string 
Тип string предназначен для работы со строками символов в кодировке Unicode. Ему соответствует базовый класс System.String библиотеки .NET.
Создание строки:
string s;                                     // инициализация отложена
string t = "qqq";       // инициализация строковым литералом
string u = new string(' ', 20);               // с пом. конструктора
string v = new string( a );    // создание из массива символов
// создание массива символов:  char[] a = { '0', '0', '0' };
Описание слайда:
Строки типа string Тип string предназначен для работы со строками символов в кодировке Unicode. Ему соответствует базовый класс System.String библиотеки .NET. Создание строки: string s; // инициализация отложена string t = "qqq"; // инициализация строковым литералом string u = new string(' ', 20); // с пом. конструктора string v = new string( a ); // создание из массива символов // создание массива символов: char[] a = { '0', '0', '0' };

Слайд 77





Операции для строк
присваивание (=);
проверка на равенство (==);
проверка на неравенство (!=);
обращение по индексу ([]);
сцепление (конкатенация) строк (+).
Строки равны, если имеют одинаковое количество символов и совпадают посимвольно.
Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения. Это связано с тем, что строки типа string относятся к неизменяемым типам данных. 
Методы, изменяющие содержимое строки, на самом деле создают новую копию строки. Неиспользуемые «старые» копии автоматически удаляются сборщиком мусора.
Описание слайда:
Операции для строк присваивание (=); проверка на равенство (==); проверка на неравенство (!=); обращение по индексу ([]); сцепление (конкатенация) строк (+). Строки равны, если имеют одинаковое количество символов и совпадают посимвольно. Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения. Это связано с тем, что строки типа string относятся к неизменяемым типам данных. Методы, изменяющие содержимое строки, на самом деле создают новую копию строки. Неиспользуемые «старые» копии автоматически удаляются сборщиком мусора.

Слайд 78





Некоторые элементы класса System.String
Описание слайда:
Некоторые элементы класса System.String

Слайд 79





Некоторые элементы класса System.String
Описание слайда:
Некоторые элементы класса System.String

Слайд 80





Пример
 string s = "прекрасная королева Изольда";
            Console.WriteLine( s );
            string sub = s.Substring( 3 ).Remove( 12, 2 );         // 1
            Console.WriteLine( sub );
            string[] mas = s.Split(' ');                                       // 2
            string joined = string.Join( "! ", mas );
            Console.WriteLine( joined );
Описание слайда:
Пример string s = "прекрасная королева Изольда"; Console.WriteLine( s ); string sub = s.Substring( 3 ).Remove( 12, 2 ); // 1 Console.WriteLine( sub ); string[] mas = s.Split(' '); // 2 string joined = string.Join( "! ", mas ); Console.WriteLine( joined );

Слайд 81





Строки типа StringBuilder 
Класс StringBuilder определен в пространстве имен System.Text.  Позволяет изменять значение своих экземпляров.
При создании экземпляра обязательно использовать операцию new и конструктор, например:
StringBuilder a = new StringBuilder();                             // 1
StringBuilder b = new StringBuilder( "qwerty" );              // 2
StringBuilder c = new StringBuilder( 100 );                      // 3
StringBuilder d = new StringBuilder( "qwerty", 100 );       // 4
StringBuilder e = new StringBuilder( "qwerty", 1, 3, 100 );// 5
Описание слайда:
Строки типа StringBuilder Класс StringBuilder определен в пространстве имен System.Text. Позволяет изменять значение своих экземпляров. При создании экземпляра обязательно использовать операцию new и конструктор, например: StringBuilder a = new StringBuilder(); // 1 StringBuilder b = new StringBuilder( "qwerty" ); // 2 StringBuilder c = new StringBuilder( 100 ); // 3 StringBuilder d = new StringBuilder( "qwerty", 100 ); // 4 StringBuilder e = new StringBuilder( "qwerty", 1, 3, 100 );// 5

Слайд 82





Основные элементы класса System.Text.StringBuilder
Описание слайда:
Основные элементы класса System.Text.StringBuilder

Слайд 83





Пример
Описание слайда:
Пример

Слайд 84





Символьный тип данных - char
Описание слайда:
Символьный тип данных - char

Слайд 85





Основные методы
Описание слайда:
Основные методы

Слайд 86





Пример
Описание слайда:
Пример



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