Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С# ЛЕКЦИИ.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

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

Формат оператора цикла с предусловием:

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

Переполнение стека

  1. Контролируемый блок, в него включаются потенциально опасные операторы программы. Все функции прямо или косвенно вызываемого из блока, так же считаются ему принадлежащими.

  2. Один или несколько обработчиков исключений, блоков catch. В которых описываются, как обрабатываются ошибки различных типов.

  3. Блок завершения Finally, он выполняется независимо от того возникла ошибка или нет.

Синтаксис оператора try.

Try блок [блоки catch][блок finally]

Отсутствовать могут либо блоки catch, либо блок finally, но не оба одновременно. Обработка исключительных ситуаций реализуется следующим образом:

  1. Обработка исключения начинается с появления ошибки. Функция или операция, в которой возникла ошибка, генерирует исключения.

  2. Выполнение текущего блока прекращается. Отыскивается соответствующий обработчик исключения, и ему передается управление.

  3. Выполняется блок Finally, если он присутствует.

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

  5. Обработчики исключений начинается с ключевого слова catch, за которым в скобках следует тип обкатываемого исключения, существует 3 формы записи:

Catch (тип имя) {тело обработчика}

Catch (тип) {тело обработчика}

Catch {тело обработчика}

Первая форма применяется, когда имя параметра, используется в теле обработчика, для выполнения каких либо действий. Например, вывод информации об исключение.

Вторая форма не предполагает использование информации об исключении, играет роль только его тип.

Третья форма применяется для перехвата всех исключений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]