Перейти к содержанию

TODO: сделать однообразно с предыдущими частями!

При решении задач часто приходится рассматривать не два, а большее количество вариантов. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов if и else записывается новый условный оператор. Рассмотрим пример.

Даны целые числа a, b, c. Если a меньше или равно b меньше или равно c, то все числа заменить их квадратами, усли a больше b больше c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.
Для решения этой задачи перепишем условие задачи следующим образом:

a=a*a, b=b*b, c=c*c, если a меньше или равно b меньше или равно c
b=a, c=a, если a больше b больше c
a=-a, b=-b, c=-c, в остальных случаях.

Программа для решения этой задачи представлена ниже.
a=3
b=4
c=5
if (a<=b) and (b<=c)
   a=a*a
   b=b*b
   c=c*c
else
   if (a>b) and (b>c)                    
      b=a
      c=a
   else
      a=-a
      b=-b
      c=-c
print(a)
print(b)
print(c)

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

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

Перейти к набору задач для практики