- •Язык Турбо-Паскаль. Общие сведения о языке
- •Структура блока описаний
- •Типы данных в языке Паскаль Понятие и классификация типов данных
- •Целочисленные типы
- •Вещественные типы
- •Символьный тип
- •Функции преобразования типов
- •Приоритеты операций
- •Выполняемые операторы языка (для программ линейной структуры)
- •Понятие и классификация
- •Классификация инструкций Паскаля
- •Оператор присваивания
- •Простые управляющие операторы
- •Оператор безусловного перехода.
- •Оператор продолжения цикла.
- •Оператор прекращения (прерывания) цикла.
- •Понятие составного оператора, операторные скобки
- •Операторы ветвлений
- •Оператор условного перехода.
- •Неполный условный оператор.
- •Полный условный оператор.
- •Операторы циклов
- •Оператор арифметического цикла
- •Операторы итеративных циклов
- •Организация цикла с помощью условного перехода
- •Оператор итеративного цикла с предусловием
- •Оператор итеративного цикла с постусловием
- •Глава 7. Составные типы данных
- •Классификация составных типов
- •Массивы Основные определения
- •Сортировки массива
- •Алгоритмы основных методов сортировок
Простые управляющие операторы
К простым управляющим операторам относятся операторы безусловных переходов. Они, как и все управляющие операторы, предназначены для изменения порядка выполнения написанных инструкций (команд). В Турбо-паскале таких операторов три: goto, continue и break. Иногда к ним относят процедуры Exit и Halt. Рассмотрим работу этих операторов.
Оператор безусловного перехода.
Вид оператора
goto <метка>;
Назначение – передача управления в программе на оператор, помеченный меткой <метка>. Меткой может выступать имя (написанное по правилам для имен языка) или целое число без знака, описанное в операторе описания меток Label, и стоящее перед помеченным оператором, но только в одном месте программы. Метка отделяется от оператора символом «:».Переход на метку может встречаться в блоке несколько раз, но сама метка - только один раз. Если на какую-то метку нет передачи управления, ошибки не будет.
Оператор безусловного перехода, вообще говоря, не разрешен в структурном программировании. Хотя он позволяет сократить текст программы, его использование в паскале ограничено рядом правил и рекомендаций. Запрещается переходить внутрь составного оператора, внутрь или на начало подпрограммы и выходить из подпрограммы в вызвавшую ее программу. Не рекомендуется выполнять переход за пределы страницы (экрана) текста программы, кроме перехода на завершающие операторы программы. Все это связано с возможностью пропуска важных операторов для правильного функционирования программы. Обычно оператор безусловного перехода используется только для возврата на начало тела цикла, если цикл конструируется с помощью условного и безусловного операторов.
Отметим, что следующий за goto оператор должен быть также помечен другой меткой, (если goto не последний в группе операторов). В противном случае, на следующий за goto оператор никак не попасть.
Оператор продолжения цикла.
Вид оператора:
continue;
Назначение – прекращение выполнения текущего шага цикла и переход на выполнение следующего шага цикла (т.е. переход на конец тела цикла). Оператор можно использовать, начиная с 6-й версии Турбо-паскаля. Как правило, этот оператор используется внутри условного оператора. Пример использования оператора – смотри в описании операторов цикла.
Оператор прекращения (прерывания) цикла.
Вид оператора:
break;
Назначение – прекращение выполнения текущего цикла и переход на выполнение следующего за циклом оператора. Оператор можно использовать, начиная с 6-й версии Турбо-паскаля. Как правило, этот оператор используется внутри условного оператора. Пример использования оператора – смотри в описании операторов цикла.
Понятие составного оператора, операторные скобки
Составным называется оператор, внутри которого можно выделить в качестве части какой-либо оператор. В составной оператор может входить несколько операторов, но друг от друга они должны разделяться не «;» а ключевыми словами.
Почти все управляющие операторы являются составными, исключением являются операторы безусловных переходов (goto, continue и break).
Кроме того, составным оператором называется группа операторов, заключенная в операторные скобки begin .. end. Внутри группы, операторы разделяются символом «;». Группа операторов создается, если в управляющем операторе необходимо по истинности или ложности некоторого логического выражения выполнить не одно, а несколько действий (операторов). Ни в каких других случаях, группу операторов создавать не следует.
Группа операторов может создаваться для формирования тела цикла и в полных и неполных условных операторах. В начале группы ставится открывающая операторная скобка begin, в кнце – закрывающая скобка – end. Таким образом, ключевое слово begin может встречаться только после слов do, then и else (а также в начале выполняемого блока).
Следует отметить, что ключевые слова repeat .. until, используемые в операторе цикла с постусловием, одновременно выполняют роль операторных скобок, и не требуют дополнительно скобок begin .. end.
Лекция 14