Поиск по этому блогу

среда, 1 февраля 2017 г.

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

В Turbo Pascal включены два условных оператора – if и case (хотя исторически так сложилось что последний называется оператором выбора), каждый из которых может быть записан в двух формах: полной и неполной. Об операторе case будет рассказано позже.

Синтаксис инструкции IF:
If условие
    then
      begin
         {инструкции выполняемые, если условие истинно};
      end
            else
               begin
                 {инструкции выполняемые, если условие ложно};
               end;
Инструкция if выполняется следующим образом:


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

Примечания:
1. Перед ключевым словом else символ «;» никогда не ставится.
2. Если при выполнении (невыполнении) условия надо выполнить только одну инструкцию, то слова begin и end после then (else) могут быть опущены.

Пример: Необходимо вывести на экран значение большего из двух введенных с клавиатуры чисел. Пусть первое число х, а второе число у, тогда фрагмент программы будет выглядеть так:

if x>y then writeln (‘большее из данных двух чисел ’, x)
          else writeln ( ‘большее из данных двух чисел ’,y);
Если какое-либо действие нужно выполнить только при выполнении условия, инструкция if может быть записана так:

If условие
          then
            begin
              {инструкции выполняемые, если условие истинно};
             end;
Такая форма условного оператора называется сокращенной.

Пример: Вычислить значение функции y=1/x. Фрагмент программы будет выглядеть так:
If x<>0 then y:=1/x;
Иногда возникает необходимость использования вложенных условных операторов.

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

if x>y
  then begin
              if x>z then writeln (‘большее из данных чисел ’, x)
                       else writeln ( ‘большее из данных чисел ’,z);
          end
  else   
if y>z then writeln (‘большее из данных чисел ’, y)
             else writeln ( ‘большее из данных чисел ’,z);

Либо можно построить несколько по другому, например так:
if (x>y) and (x>z) then
    writeln (‘большее из данных чисел ’, x)
else
    if y>z then writeln (‘большее из данных чисел ’, y)
             else writeln ( ‘большее из данных чисел ’,z);
Алгоритмы содержащие конструкцию ветвление называются - ветвящимися.

Комментариев нет:

Отправить комментарий