Презентация Синтаксис операторов передачи управления. Лекция 13 онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Синтаксис операторов передачи управления. Лекция 13 абсолютно бесплатно. Урок-презентация на эту тему содержит всего 37 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Синтаксис операторов передачи управления. Лекция 13
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:37 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:125.41 kB
- Просмотров:76
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![Пустой оператор Частным](/documents_6/181bedb582000093a974ca3571df5271/img2.jpg)
Содержание слайда: Пустой оператор
Частным случаем выражения является пустой оператор (;) - он используется, когда по синтаксису оператор требуется, а по смыслу — нет.
i++; // выполняется операция инкремента
a *= b + c; // выполняется умножение с
// присваиванием
fun( i, k ); // выполняется вызов функции
while( true ); // цикл из пустого оператора -
// - бесконечный цикл
№4 слайд
![Составной оператор Блок, или](/documents_6/181bedb582000093a974ca3571df5271/img3.jpg)
Содержание слайда: Составной оператор
Блок, или составной оператор, — это последовательность описаний и операторов, заключенная в фигурные скобки. Блок воспринимается компилятором как один оператор и может использоваться всюду, где синтаксис требует одного оператора, а алгоритм — нескольких. Блок может содержать один оператор или быть пустым.
№5 слайд
![Операторы передачи управления](/documents_6/181bedb582000093a974ca3571df5271/img4.jpg)
Содержание слайда: Операторы передачи управления
- безусловного перехода goto;
- выхода из цикла break;
- перехода к следующей итерации цикла continue;
- возврата из функции return;
- генерации исключения throw.
Эти операторы могут передать управление в пределах блока, в котором они использованы, и за его пределы. Передавать управление внутрь другого блока запрещается.
№7 слайд
![Оператор goto Метка это](/documents_6/181bedb582000093a974ca3571df5271/img6.jpg)
Содержание слайда: Оператор goto
Метка — это обычный идентификатор, областью видимости которого является функция, в теле которой он задан. Метка должна находиться в той же области видимости, что и оператор перехода.
Оператор goto метка передает управление на помеченный меткой оператор.
х = 1;
loopl: // Цикл суммирует числа от 1 до 100
х++;
if (x < 100) goto loopl;
№8 слайд
![Оператор goto Вторая и третья](/documents_6/181bedb582000093a974ca3571df5271/img7.jpg)
Содержание слайда: Оператор goto
Вторая и третья формы оператора goto используются в теле оператора выбора switch. Оператор goto case константное_выражение передает управление на соответствующую константному выражению ветвь, а оператор goto default — на ветвь default. Формально ветви case или default выполняют в операторе switch роль меток. Поэтому они могут служить адресатами оператора goto. Тем не менее оператор goto должен выполняться в пределах оператора switch. Это означает, что его нельзя использовать как внешнее средство для безусловного перехода в оператор switch.
№11 слайд
![Пример using System class Use](/documents_6/181bedb582000093a974ca3571df5271/img10.jpg)
Содержание слайда: Пример 2
using System;
class Use_goto {
static void Main() {
int i=0, j=0, k=0;
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++ ) {
for (k=0; k < 10; k++) {
Console.WriteLine("i, j, k: " + i + " " + j + " " + k);
if (k == 3) goto stop;
}
}
}
stop:
Console.WriteLine("Стоп! i, j, k: " + i + ", " + j + " " + k);
}
}
№12 слайд
![Оператор break С помощью](/documents_6/181bedb582000093a974ca3571df5271/img11.jpg)
Содержание слайда: Оператор break
С помощью оператора break можно специально организовать немедленный выход из цикла в обход любого кода, оставшегося в теле цикла, а также минуя проверку условия цикла. Когда в теле цикла встречается оператор break, цикл завершается, а выполнение программы возобновляется с оператора, следующего после этого цикла.
№16 слайд
![Пример static void Main for](/documents_6/181bedb582000093a974ca3571df5271/img15.jpg)
Содержание слайда: Пример 6
static void Main() {
for (int i=0; i<3; i++) {
Console.WriteLine("Внешний цикл: " + i);
Console.Write("Внутренний цикл: ");
int t = 0;
while (t < 100) {
if (t == 10) break;
Console.Write(t + " ");
t++;
}
Console.WriteLine ();
}
Console.WriteLine("Циклы завершены.");
}
№17 слайд
![Пример Выполнение программы](/documents_6/181bedb582000093a974ca3571df5271/img16.jpg)
Содержание слайда: Пример 6
Выполнение программы дает следующий результат.
Подсчет во внешнем цикле: 0
Подсчет во внутреннем цикле: 0 1 2 3 4 5 6 7 8 9
Подсчет во внешнем цикле: 1
Подсчет во внутреннем цикле: 0 1 2 3 4 5 6 7 8 9
Подсчет во внешнем цикле: 2
Подсчет во внутреннем цикле: 0 1 2 3 4 5 6 7 8 9
Циклы завершены
Таким образом, оператор break из внутреннего цикла вызывает прерывание только этого цикла, а на выполнение внешнего цикла он не оказывает никакого влияния.
№18 слайд
![Оператор continue С помощью](/documents_6/181bedb582000093a974ca3571df5271/img17.jpg)
Содержание слайда: Оператор continue
С помощью оператора continue можно организовать преждевременное завершение шага итерации цикла в обход обычной структуры управления циклом. Оператор continue осуществляет принудительный переход к следующему шагу цикла (итерации), пропуская любой код, оставшийся до конца тела цикла. Таким образом, оператор continue служит своего рода дополнением оператора break.
№20 слайд
![Пример Программа вычисляет](/documents_6/181bedb582000093a974ca3571df5271/img19.jpg)
Содержание слайда: Пример 8
Программа вычисляет значение функции Sin x (синус) с точностью Ɛ = 10-6 с помощью бесконечного ряда Тейлора по формуле:
y = x - x3/3! + x5/5! - x7/7! +…
Этот ряд сходится при | x | < ∞. Точность достигается при |Rn| < Ɛ, где Rn —остаточный член ряда, который для данного ряда можно заменить величиной Cn очередного члена ряда, прибавляемого к сумме.
№21 слайд
![Пример Алгоритм решения](/documents_6/181bedb582000093a974ca3571df5271/img20.jpg)
Содержание слайда: Пример 8
Алгоритм решения задачи выглядит так: задать начальное значение суммы ряда, а затем многократно вычислять очередной член ряда и добавлять его к ранее найденной сумме. Вычисления заканчиваются, когда абсолютная величина очередного члена ряда станет меньше заданной точности.
№22 слайд
![Пример Для уменьшения](/documents_6/181bedb582000093a974ca3571df5271/img21.jpg)
Содержание слайда: Пример 8
Для уменьшения количества выполняемых действий следует воспользоваться рекуррентной формулой получения последующего члена ряда через предыдущий: Cn+1 = Cn x T, где T — некоторый множитель. Если подставить в эту формулу Cn и Cn+1, получится выражение для вычисления Т:
№25 слайд
![Оператор return Оператор](/documents_6/181bedb582000093a974ca3571df5271/img24.jpg)
Содержание слайда: Оператор return
Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Синтаксис оператора:
return [выражение];
Тип выражения должен иметь неявное преобразование к типу функции. Если тип возвращаемого функцией значения описан как void, выражение должно отсутствовать.
№27 слайд
![Пример static void Main](/documents_6/181bedb582000093a974ca3571df5271/img26.jpg)
Содержание слайда: Пример 9
static void Main(string[] args){
string message = Hello(); // вызов первого метода
Console.WriteLine(message);
Console.WriteLine( "Вызов метода \"Ho\" с параметром 0");
Ho(0);
Console.WriteLine("Вызов метода \"Ho\" с параметром 1");
Ho(1);
Console.ReadKey(); // остановка экрана
}
}
}
№28 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img27.jpg)
Содержание слайда: Обработка исключительных ситуаций
Исключительная ситуация, или исключение, — это возникновение аварийного события, которое может порождаться некорректным использованием аппаратуры или неправильной работой программы, например, делением на ноль или переполнением. Исключения генерирует либо среда выполнения, либо программист с помощью оператора throw.
№30 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img29.jpg)
Содержание слайда: Обработка исключительных ситуаций
Исключения обнаруживаются и обрабатываются в операторе try, который содержит три части:
1. контролируемый блок — составной оператор, предваряемый ключевым словом try. В контролируемый блок включаются потенциально опасные операторы программы. Все функции, прямо или косвенно вызываемые из блока, также считаются ему принадлежащими;
№31 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img30.jpg)
Содержание слайда: Обработка исключительных ситуаций
2. один или несколько обработчиков исключений — блоков catch, в которых описывается, как обрабатываются ошибки различных типов;
3. блок завершения finally выполняется независимо от того, возникла ошибка в контролируемом блоке или нет.
Синтаксис оператора try:
try блок [ блоки catch ] [ блок finally ]
Отсутствовать могут либо блоки catch, либо блок finally, но не оба одновременно.
№32 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img31.jpg)
Содержание слайда: Обработка исключительных ситуаций
Порядок обработки исключительных ситуаций.
1. Обработка исключения начинается с появления ошибки в блоке try. Функция или операция, в которой возникла ошибка, генерирует исключение.
2. Выполнение текущего блока try прекращается, отыскивается соответствующий обработчик исключения catch , и ему передается управление.
3. Выполняется блок finally, если он присутствует.
4. Если обработчик не найден, вызывается стандартный обработчик исключения. Обычно он выводит на экран окно с информацией об исключении и завершает текущий процесс.
№33 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img32.jpg)
Содержание слайда: Обработка исключительных ситуаций
Обработчики исключений должны располагаться непосредственно за блоком try. Они начинаются с ключевого слова catch, за которым в скобках следует тип обрабатываемого исключения. Блоки catch просматриваются в том порядке, в котором они записаны, пока не будет найден соответствующий типу выброшенного исключения.
Существуют три формы записи обработчиков:
catch(тип имя) { ... /* тело обработчика */ }
catch(тип) { ... /* тело обработчика */ }
catch { ... /* тело обработчика */ }
№34 слайд
![Пример try ... Контролируемый](/documents_6/181bedb582000093a974ca3571df5271/img33.jpg)
Содержание слайда: Пример 10
try {
... // Контролируемый блок
}
catch ( OverflowException e ) {
... // Обработка исключений класса
// OverflowException (переполнение)
}
catch ( DivideByZeroException ) {
... // Обработка исключений класса
// DivideByZeroException (деление на 0)
}
catch {
... // Обработка всех остальных исключений
}
№35 слайд
![Обработка исключительных](/documents_6/181bedb582000093a974ca3571df5271/img34.jpg)
Содержание слайда: Обработка исключительных ситуаций
Если исключение в контролируемом блоке try не возникло, все обработчики catch пропускаются.
В любом случае, произошло исключение или нет, управление передается в блок завершения finally (если он существует), а затем — первому оператору, находящемуся непосредственно за оператором try.
Операторы try могут многократно вкладываться друг в друга. Исключение, которое возникло во внутреннем блоке try и не было перехвачено соответствующим блоком catch, передается на верхний уровень, где продолжается поиск подходящего обработчика. Этот процесс называется распространением исключения.
№36 слайд
![Оператор throw Для генерации](/documents_6/181bedb582000093a974ca3571df5271/img35.jpg)
Содержание слайда: Оператор throw
Для генерации исключения используется оператор throw с параметром, определяющим вид исключения. Параметр должен быть объектом, порожденным от стандартного класса System.Exception. Этот объект используется для передачи информации об исключении его обработчику.
Синтаксис оператора throw:
throw [выражение];
Форма без параметра применяется только внутри блока catch для повторной генерации исключения. Тип выражения, стоящего после throw, определяет тип исключения, например:
throw new DivideByZeroException();
Скачать все slide презентации Синтаксис операторов передачи управления. Лекция 13 одним архивом:
Похожие презентации
-
Синтаксис операторов ветвления. Лекция 14
-
Синтаксис операторов циклов: с параметром, предусловием и постусловием. Лекция 15
-
Лекции 9 – 10. Операторы управления
-
Синтаксис оператора
-
Операторы в языке Си. (Лекция 5)
-
Основные операторы языка С. Лекция 2. 2
-
Управляющие операторы языка высокого уровня. Лекция 3
-
Основные свойства MPI - Message Passing Interface, интерфейс передачи сообщений Стандарт MPI 4. 0. Лекция 4
-
Основы программирования C. Дружественные функции и перегрузка операторов. Лекция 8
-
Операторы управления