Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Тема 2.2.2. Операторы условного и безусловного перехода.

Оператор безусловного перехода. Условный оператор. Оператор варианта.

После изучения темы студент должен

знать:

  • Оператор безусловного перехода;

  • Условный оператор;

  • Оператор варианта

уметь

  • Составлять программы с использованием операторов ветвления.

Оператор перехода

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

Метка

goto

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

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

Label

Метка

;

,

  1. Метка, указанная в операторе перехода, должна помечать оператор, находящийся в том же блоке, что и сам оператор перехода. Таким образом НЕ ДОПУСКАЮТСЯ переходы вовне процедур (функций) или внутрь них.

  2. переход внутрь структурного оператора может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщение об ошибке.

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

  • Следует стремиться применять операторы перехода для передачи управления только вниз по тексту программы; при необходимости передачи управления «назад» следует использовать операторы цикла

  • Расстояние между меткой и оператором перехода на нее не должно превышать одной страницы текста

Условный оператор

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

Выражение

then

Оператор

Else

Оператор

If

Данный оператор выполняется следующим образом. сначала вычисляется значение, стоящее после служебного слова if. Результат вычисления должен иметь булевский тип. Если значение есть true, то выполняется оператор указанный после служебного слова then. Если результат вычисления есть false, выполняется оператор, следующий за служебным словом else. Если при этом часть условного оператора, начиная со слова else, отсутствует, то управление немедленно передается оператору, следующему за условным.

Поскольку развилка может быть неполной, то возможна и неполная форма записи условного оператора:

IF <логическое выражение> THEN серия;

Выражение

then

Оператор

If

Примеры условных операторов

Пример1

If x<y then

Max:=y

Else

Max:=x

Пример2

Вычислить значение функции Y, в зависимости от значения x.

Условный оператор будет иметь вид:

If x>0 Then Y:=a*x+b Else Y:=a*x*x+b;

Листинг программы