Программирование вложенных условий

Как можно реализовать составленный алгоритм с вложенными условиями в интегрированной среде программирования?

Новые знания

Подумай

Какие примеры простых и сложных условий можно привести из повседневной жизни?

При решении задач часто приходится рассматривать не два, а большее количество вариантов. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор. Итак, когда оператор if появляется внутри другого оператора if, они считаются вложенными. Такое вложение используется для уменьшения числа необходимых проверок. Этот метод часто обеспечивает большую эффективность, однако одновременно он уменьшает наглядность программы.

№1 – примерная запись вложенного оператора
​If 1-условие then if 2-условие
​then 1-оператор else 2-оператор else 3-оператор;

Замечание:

  • Если часть else используется во вложенных if, то каждое else со-ответствует тому if, которое ему непосредственно предшествует.
    ​Таким образом, при определении последовательности выполнения фрагментов нет двусмысленности.
  • Оператор выполняется следующим образом. Сначала вычисляется оператор (выражение), записанное в условии. В результате вычисления получается значение, если оно истинно, то выполняется 1-оператор, если результат ложный, то выполняется 2-опера-тор или оператор, следующий за оператором IF.
  • Не рекомендуется использовать более одного-двух уровней вложения if. За вторым уровнем вложения становится трудно восстановить последовательность проверки условий каждым условным оператором.

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

№2 – примерная запись вложенного оператора
​If 1-условие then 1-оператор else if 2-условие
​then 2-оператор else 3-оператор;

№3 – примерная запись вложенного оператора
​If 1-условие then if 2-условие then 1-оператор else 2-оператор;


​1-пример: Дано целое число а. Нужно определить является ли данное число положительным или отрицательным. Если данное число является положительным, то получим ответ с обозначением «1», если данное число является отрицательным, то получим ответ с обозначением «-1», если данное число равно нулью, то получим ответ с обозначением «0».

Алгоритмическое решение:
​В задачи рассматриваются условия а > 0, а < 0, а = 0. В тексте задачи встречается более двух условий, поэтому применяем при решении задач вложенные условия.

Var а: integer;
​Begіn
​Readln (a);
​Іf a = 0 then write (0) else if a >0 then write (1) else write (-1) End.

Решение задач аналогично по структуре примерной записи вложенного оператора №3.


​2-пример. Вычислить значение функции.

        х – 12, если x > 0

у =  5, если x = 0

        х2, если x < 0

Алгоритмическое решение:

если х >0, то вычисляется значение функции по формуле у = х – 12 иначе если х = 0, то функции присваивается значение у = 5, иначе функция вычисляется по формуле у = sqr(x);

Var k, а: real;
​Begіn
​Readln (а);
​Іf а=0 then write (k=5) if a >0 then write (k=а -12) else write (k=sqr(а))
​End.


​Рассмотрим примеры с вложенными условиями в среде программирования Lazarus
​3-пример:
Дано целое число а. Нужно определить данное число. Если данное число является 1, то получим ответ с обозначением «Один». Если данное число является 2, то получим ответ с обозначением «Два», если данное число равно нулю, то получим ответ с обозначением «Ноль», иначе получим ответ со словами «число мне незнакомо» (рис. 4.39, а и б).

Тогда получаем примерно такой программный код:
procedure TForm1.Button1Click(Sender: TObject);​
​var a:integer;
​begin
​a:=StrToInt (edit1.text);
​if a = 0 then
​ShowMessage (‘Ноль’)
​else
​if a = 1 then
​ShowMessage (‘Один’)
​else
​if a = 2 then
ShowMessage (‘Два’)
Else
ShowMessage (‘Число мне незнакомо’)
End;

              Вопросы

              1. Что такое вложенные условия?

              2. В каких случаях применяют вложенные условия?

              3. Какие варианты использования вложенных условий вы знаете? Дайте их анализ.

              4. Определите различия решения задач с вложенными условиями на языке модульного программирования и визуальной среды программирования.

              Өтінемін күте тұрыңыз