Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции2семестр.doc
Скачиваний:
70
Добавлен:
15.04.2015
Размер:
228.35 Кб
Скачать
    1. Операторы ветвлений

Реализация структур ветвления на Паскале осуществляется с помощью условных операторов "if" и с помощью оператора – переключателя "case". В первом случае производится выбор одного из двух альтернативных путей, переключатель позволяет выбрать один (или не одного) из нескольких путей.

Оператор условного перехода.

Это Простейший из условных операторов. Вид оператора:

if <логическое выражение> then goto <метка>;

Этому оператору соответствует структура (состоящая из одного блока), изображенная на рисунке

Рисунок 5. Структура оператора условного перехода

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

Пример:

. . .

if DX < 1e-6 then goto finihs;

. . .

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

Условный переход является частным случаем неполного условного оператора.

Неполный условный оператор.

Вид оператора:

if <логическое выражение> then <простой или составной оператор>;

Назначение оператора – выполнение или пропуск входящего в него оператора. Если результатом вычисления выражения является истина, оператор выполняется, иначе – не выполняется. В обоих случаях, дальше выполняется следующий оператор.

Этому оператору соответствует структура, изображенная на рисунке

да

нет

простой или составной оператор

Рисунок 6. Структура неполного условного оператора

Пример неполного условного оператора:

if Pr then {здесь Pr – логическая переменная,}

begin {если Pr равно TRUE выполнится этот блок}

Writeln(' При таких данных решения нет');

Pr:=FALSE;

end;

Как и предыдущие операторы, неполный условный не является оператором структурного программирования.

Полный условный оператор.

Вид оператора:

if <логическое выражение> then

<простой или составнойоператор ветви 1>

else

<простой или составнойоператор ветви 2>;

Этому оператору соответствует структура, изображенная на рисунке

да

нет

простой или составной оператор ветви1

простой или составной оператор ветви 2

Рисунок 7. Структура полного условного оператора

Примеры написания таких операторов:

if A>0 then Y:=sin(X) else Y:=cos(X);

if (A+B > C) and (B < 0) then { если требуется проверка}

Writeln('Ветвь 1') { нескольких условий, }

else { каждое отношение следует}

Writeln('Ветвь 2'); { заключать в скобки }

    1. Операторы циклов

Программы циклической структуры используются, когда необходимо несколько раз выполнить однотипные действия с различными данными. Если количество повторений тела цикла известно перед началом цикла, он называется арифметическим, если нет – итеративным. Для организации арифметического цикла в блок-схеме алгоритма используется блок "модификатор", а в программе – соответствующий ему оператор "for...".

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

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