Thon Условные



бет15/38
Дата23.02.2020
өлшемі2,05 Mb.
#58878
1   ...   11   12   13   14   15   16   17   18   ...   38
Байланысты:
8-3 python


end; }

В языке Паскаль оператор присваивания записывается в

виде последовательности символов «:=», а в языке C++ так же,

как и в Python с помощью одного знака «=». Оформление в

языке Паскаль более сложное: после условия пишут слово then

(по-английски тогда), а составной оператор «охвачен» опера-

торными скобками служебными словами begin и end. В язы-ке С++ условие после if обязательно заключается в круглые скобки, а составной оператор ограничивается фигурными скоб-ками.

Вложенные условные операторы

Внутри условного оператора могут находиться любые опе-раторы, в том числе и другие условные операторы.



Например, пусть возраст Андрея записан в переменной ageA, а возраст Бориса в переменной ageB. Нужно определить, кто из них старше. Одним условным оператором тут не обой-тись, потому что есть три возможных результата: старше Анд-рей, старше Борис или оба одного возраста. Решение задачи можно записать так:

if ageA > ageB:

print( "Андрей старше" ) else:

if ageA == ageB:

print( "Одного возраста" ) else:

print( "Борис старше" )

Условный оператор, проверяющий равенство н выделен

фоном), находится внутри блока «иначе» (else), поэтому он на-



зывается вложенным условным оператором. Использование вложенных условных операторов позволяет выбрать один из не-скольких не только из двух) вариантов.

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

37 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин

Если после else сразу следует еще один оператор if, мож-

но применить так называемое «каскадное» ветвление с ключе-

выми словами elif (сокращение от else-if). Если очередное



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

if ageA > ageB:

print( "Андрей старше" ) elif ageA == ageB:

print( "Одного возраста" ) else:

print( "Борис старше" )

Обратите внимание на отступы: слова if, elif и else находят-



ся на одном уровне.

В цепочке операторов if-elif-elif- срабатывает пер-

вое истинное условие. Например, программа

cost = 1500

if cost < 1000:

print( "Скидок нет." ) elif cost < 2000:

print( "Скидка 2%." ) elif cost < 5000:

print( "Скидка 5%." ) else:

print( "Скидка 10%." )

выводит «Скидка 2%.», хотя условие cost < 5000 тоже выполня-ется.



Что выведет эта программа при x = 3? x = 0? x = 123?

if x >= 0:

if x > 0: print( 1 ) else: print( 0 )

else:

print( -1 )

Перепишите её, используя цепочку if-elif-else.

38 http://kpolyakov.spb.ru



05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин

Сложные условия

Предположим, что ООО «Кнут и Пряник» набирает сотруд-ников, возраст которых от 25 до 40 лет включительно. Нужно написать программу, которая запрашивает возраст претендента и выдает ответ: «подходит» он или «не подходит» по этому при-знаку.



Какое же условие должно быть истинно для того, чтобы че-ловека приняли на работу? Одного условия «возраст >= 25» не хватает, это условие соблюдается и для людей старше 40 лет. С другой стороны, условия «возраст <= 40» тоже не хватает, так как оно выполняется и для школьников. В этой задаче нужно, чтобы два условия выполнялись одновременно: «возраст >= 25» и «возраст <= 40».

Пусть в переменной age записан возраст сотрудника.

Запишите решение задачи с помощью вложенных условных операторов.

Эту задачу можно решить с помощью вложенного условного оператора, но решение получается некрасивое: оно запутанное и, кроме того, один и тот же ответ «не подходит» приходится вы-водить в двух местах программы.



Почти во всех языках программирования в условном опе-раторе можно использовать такое условие:

if age >= 25 and age <= 40:

print( "подходит" ) else:


Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   38




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет