Разместить заказ
Вы будете перенаправлены на Автор24

Организация ветвлений в Turbo Pfscal V.7.0

8-800-775-03-30 support@author24.ru
Статья предоставлена специалистами сервиса Автор24
Автор24 - это сообщество учителей и преподавателей, к которым можно обратиться за помощью с выполнением учебных работ.
как работает сервис
Организация ветвлений в Turbo Pfscal V.7.0
Определение 1

Ветвление – это вид алгоритмической организация, в результате выполнения или невыполнения которой совершаются либо одни, либо другие действия. Ветвление бывает полное (рис.1) и неполное (рис.2).

Ветвление в среде Turbo Pascal может осуществляться двумя способами: условным оператором и оператором выбора варианта. Применяя эти операторы, можно проверить выполнение условия ветвления и выбрать один вариант дальнейшего вычисления.

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

Этот оператор выбирает одно из двух направлений выполнения действий, зависящее от некоторого условия, отметим, что одна из ветвей может отсутствовать. Условие выбора всегда представлено логическим выражением, которое бывает двух типов: простое или сложное. Сложное условие построено с использованием логических операций and, or, not.

Формат оператора:

ifthen

[else]

Замечание 1

Выражения в квадратных скобках являются необязательным параметром. Результат вычисления выражения будет представлен логическим значением типа boolean. Если результат истинный (true), то выполнится оператор1, который следует за оператором then. Если же результат выполнения ложный (false), то выполнится оператор2, который следует за оператором else. Если часть оператора условия, заключенная в квадратные скобки, будет отсутствовать, то управление автоматически передастся следующему оператору программы.

Условный оператор If может иметь вложенную структуру, количество вложений неограниченно. Отметим, что использование в операторе If после слова then второго оператора If может привести к синтаксически неоднозначной ситуации:

if then

if then

else

Компилятор разрешит эту неоднозначность, преобразуя этот фрагмент:

if then

begin

if then

else

end;

Замечание 2

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

Приведем пример:

Пример 1

if Ch=1 then Если переменная Ch=1,

begin $X:=Sin(X)$; то X вычисляем как sin X

$WriteLn(‘Sin(x)= ’,X)$; и выводим на монитор,

end

else если нет $(Ch≠1)$, то

begin

$X:=Cos(X)$; X вычисляем как cos X и

$WriteLn(‘Cos(x)= ’,X)$; выводим на экран

end;

В Turbo Pascal 7.0 ветвление может быть организовано и оператором выбора.

Оператор Case

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

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

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

Определение 2

Оператор Case - это идеальное средство обработки ситуаций с многими (более 2) исходами, когда условие принимает более 2 значений.

Данный оператор имеет структуру:

Case of

: ;ра

: ;

. . .

: ;

[ else ];

end ; { case }

Где:

  • - порядковая переменная с проверяемым значением;
  • - константы, с которыми сравниваем значение порядковой переменной;
  • - совокупность оперaторов, из которых выполняется лишь тот, у котoрого значение переменной совпадает с константой;
  • ветвь оператора else может не использоваться. Если ее нет и значение порядковой переменной не совпадает ни с одной из приведенных констант, то оператор является пустым. В отличии от оператора If перед словом else точка с запятой ставится.

Если для некоторых констант нужно выполнить один и тот же оператор, то их перечисляют через запятую, сопровождая одним оператором. Можно указать диапазон возможных значений.

Пример:

Пример 2

Case i of

0, 2, 4, 6, 8: Writeln( 'Чётная цифра' );

1, 3, 5, 7, 9: Writeln('Нечётная цифра');

10 .. 100: Writeln('Число от 10 до 100');

else

Writeln('Отрицательное число или больше 100');

end; {case}

В операторе выбора после двоеточия указывается лишь один оператор. Чтобы выполнить несколько, так же как и в условном операторе, применяем составной оператор.

Case of

: begin

;

...

end;

: begin

;

...

end;

. . .

: begin

;

...

end;

else

begin

;

...

end;

end; {case}

Замечание 3

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

Ограниченное предложение
Введите email чтобы зафиксировать скидку
300 ₽
На любой первый заказ в Автор24