- •Типы данных
- •Переменные
- •Операции c#.
- •Линейная программа
- •Циклы с предусловием
- •Цикл с постусловием.
- •Исключения.
- •Двумерные массивы.
- •Символы и строки.
- •Деструктор.
- •Свойства
- •Конструктор класса – инициализирует поля. Индексатор.
- •Операции класса
- •Поля методы и свойства класса.
- •Виртуальные методы
- •Перегрузка методов.
- •Рекурсивные методы.
- •Interface (Интерфейсы)
- •Стандартные интерфейсы .Net
- •Клонирование объектов.
- •Абстрактный класс.
- •Бесплодные классы.
- •Класс Object.
- •Структуры
- •Структурное программирование.
- •Потоки файлов.
- •Потоки байтов
- •Потоки символов
- •Отладка программы.
- •Классификация ошибок
- •Методы отладки
- •Методика отладки по
- •Исправление ошибки.
- •Стадия разработки программ и программной документации.
- •Двоичные потоки
- •Тестирование программных продуктов.
- •Сериализация (сохранение объектов)
- •Структурный подход при проектировании программного обеспечения.
- •Объектно-ориентированное проектирование
- •Диаграммы вариантов использования
- •Составление программной документации
- •Руководство пользователя
- •Типы пользовательских интерфейсов и этапы их разработки
- •Этапы разработки пользовательского интерфейса
- •Модульное программирование
- •Сцепление модулей
- •Связность модулей
Циклы с предусловием
Формат оператора цикла с предусловием:
While (выражение) оператор;
Выражение должно быть логического типа. Это может быть операция отношения или просто логическая переменная. Если результаты вычисления выражения равен True, то выполняется тело цикла, эти действия повторяются до тех пор, пока результатом выражения не станет значение False. После окончания циклом управление передается на следующий за ним оператор. Выражение вычисляется перед каждой итерацией цикла. Для выхода цикла можно использовать оператор Break. Для перехода к следующей итерации можно использовать оператор Continue, он пропускает все операторы оставшиеся до конца тела цикла, и передает управление на начало следующей итерации.
Цикл с постусловием.
Оператор цикла с постусловием имеет вид: do оператор while(выраж);
Сначала выполняется тело цикла, а затем вычисляется выражение, если выражение истинно то тело цикла выполняется еще раз, и проверка продолжается. Цикл завершается когда выражение станет равным False. Для выхода из цикла можно использовать оператор Break. Для перехода к следующей итерации можно использовать оператор continue.
Цикл с параметром for имеет следующий формат:
For (инициализация; выражение; модификации) оператор;
Инициализация служит для объявления величин, используемых в цикле, и присвоения им значений. В этой части можно записать несколько операторов, разделенных запятой, например:
For (int i=0,j=10;i<=100;i++)
X=x*i+j;
Областью действия переменных, объявленных в части инициализации цикла, является цикл. Инициализация выполняется один раз в начале исполнения цикла. Выражение имеет тип bool и определяет условие выполнения цикла. Если результат равен true, то цикл выполняется. Модификация выполняется после каждой итерации цикла и служат для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую.
For(int i=0,j=10;i<=100;i++,j++);
X=x*i+j;
Тело цикла – это простой или составной оператор. Любая из частей оператор for может быть опущена, но точки с запятой надо оставить на своих местах.
Цикл с перебором foreach используется для перебора всех объектов из некоторой группы данных (массив, список). Удобство этого вида цикла заключается в том, что не требуется определять количество элементов в группе и выполнять их перебор по индексу: просто указывается необходимость перебора элементов группы. Формат этого оператор имеет вид:
Foreach(тип имя in выражение) тело_цикла;
Иногда в программах удобно использовать данные, задаваемые случайным образом. Для этого есть класс Random; определенный в пространстве имен System. Для получения псевдослучайной последовательности чисел необходимо сначала создать экземпляр класса с помощью конструктора, например:
Random a=new Random(1);
Одним из методов класса System. Random является Next(мин,мах). Он возвращает целое положительное число в диапазоне [мин, мах]. Например:
a.Next(-10,10)
Исключения.
При вычислении выражений могут возникать ошибки, например переполнение, деление на 0. В C# есть механизм, который позволяет, обрабатывать подобные ошибки, и избегать аварийного завершения программы. Этот механизм называется механизмом обработки исключительных ситуаций (исключения). Если возникает ошибка, то система сигнализирует об этом, с помощью специального действия, который называется, генерированием исключения. Так как C# является ООЯ, то исключения являются классами, которые имеют общего предка Exception. Он определен в пространстве имен System. Механизм исключений предназначен, только для событий, которые могут произойти, в результате работы самой программы. Он не поддерживает ошибки оборудования или прерывания. Исключения возникают тогда когда некоторая часть программы не смогла сделать то что от нее требовалось, при этом другая часть программы может попытаться сделать что-нибудь иное. Исключения позволяют логически разделить вычислительный процесс на 2 части: обнаружение аварийной ситуации и ее обработка. Функция, которая обнаруживает ошибку, может не знать, что предпринимать для ее исправления, а использовать эту функцию код может знать, что делать, но не уметь определить место возникновения. Исключение генерирует либо среда выполнения, либо программист с помощью оператора throw. Исключения, которые генерируются средой, определены пространством System и являются потомками класса System.Exception. Исключения обнаруживаются и обрабатываются в операторе try.
Имя |
Описание |
ArithmeticException |
Ошибка в арифмитических операциях |
ArrayTypeMismachException |
Попытка сохранения в массиве, элементов несовместимого типа. |
DivideByZeroException |
Деление на ноль |
FormatException |
Попытка передать в метод аргумент не правильного формата |
IndexOutOfRangeException |
Индекс массива выходит за границы диапазона. |
InvalidCastException |
Ошибка преобразования типов |
OutOfMemoryException |
Недостаточно памяти для создания нового объекта |
OverFlowException |
Переполнение при выполнении арифметических операций |
StackOverFlowException |
Переполнение стека |
Контролируемый блок, в него включаются потенциально опасные операторы программы. Все функции прямо или косвенно вызываемого из блока, так же считаются ему принадлежащими.
Один или несколько обработчиков исключений, блоков catch. В которых описываются, как обрабатываются ошибки различных типов.
Блок завершения Finally, он выполняется независимо от того возникла ошибка или нет.
Синтаксис оператора try.
Try блок [блоки catch][блок finally]
Отсутствовать могут либо блоки catch, либо блок finally, но не оба одновременно. Обработка исключительных ситуаций реализуется следующим образом:
Обработка исключения начинается с появления ошибки. Функция или операция, в которой возникла ошибка, генерирует исключения.
Выполнение текущего блока прекращается. Отыскивается соответствующий обработчик исключения, и ему передается управление.
Выполняется блок Finally, если он присутствует.
Если обработчик не найден, то вызывается стандартный обработчик исключения, обычно он выводит на экран окно с информацией об исключении. И завершает текущий процесс. Подобные окна не предназначены для пользовательской программы, все исключения должны быть перехвачены и обработаны.
Обработчики исключений начинается с ключевого слова catch, за которым в скобках следует тип обкатываемого исключения, существует 3 формы записи:
Catch (тип имя) {тело обработчика}
Catch (тип) {тело обработчика}
Catch {тело обработчика}
Первая форма применяется, когда имя параметра, используется в теле обработчика, для выполнения каких либо действий. Например, вывод информации об исключение.
Вторая форма не предполагает использование информации об исключении, играет роль только его тип.
Третья форма применяется для перехвата всех исключений.
