Thon Условные



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


if a > b: M = a else: M = b

Поскольку операция выбора максимального из двух значе-

ний нужна очень часто, в Python есть встроенная функция max,

которая вызывается так:

M = max( a, b )

Есть также и аналогичная функция min, которая выбирает ми-



нимальное (наименьшее) из двух или нескольких значений.

Если выбирается максимальное из двух чисел, можно ис-пользовать особую форму условного оператора в Python:

M = a if a > b else b

34 http://kpolyakov.spb.ru



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

которая работает так же, как и приведённый выше условный оператор в полной форме: записывает в переменную M значе-ние a, если a > b, и значение b, если это условие ложно.



Неполная форма условного оператора

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



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

M = a

if b > a:

M = b

Здесь использован условный оператор в неполной форме, по-тому что в случае, когда условие ложно, ничего делать не требу-ется (нет слова else и блока операторов после него).



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

if a < b:

M = a if b < a:

M = b

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

Можно ли в этой программе два условных оператора в неполной форме заменить на один оператор в полной форме? Почему?

if a < 5:

a = 5

if a > 10:

a = 10

Что делает эта программа?

35 http://kpolyakov.spb.ru

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

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



Составной оператор

Часто при выполнении какого-то условия нужно выпол-нить сразу несколько действий. Например, в задаче сортировки значений переменных a и b по возрастанию нужно поменять местами значения этих переменных, если a > b:

if a > b:

temp = a a = b

b = temp

Здесь temp это временная спомогательная) переменная (от

англ. temporary временный). Все операторы, входящие в блок, сдвинуты на одинаковое расстояние от левого края. Начало и конец блока, который выполняется при истинном условии, оп-ределяется именно этими сдвигами. Поэтому операторные скоб-ки специальные ограничители блоков (как, например, слова begin и end в языке Паскаль или фигурные скобки в С-

подобных языках) здесь не нужны.



Заметим, что в Python, в отличие от многих других языков программирования, есть множественное присваивание, которое позволяет выполнить такой обмен значительно проще:

a, b = b, a
Ветвления в других языках программирования

Знание хотя бы одного языка программирования позволяет понимать запись программы на многих других языках. Вот фрагменты программы, которая меняет местами значения двух переменных, на языках Паскаль (слева) и C++ (справа):

if a > b then begin if ( a > b ) {

temp := a; temp = a; a := b; a = b;

b := temp b = temp;
36 http://kpolyakov.spb.ru

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


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




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

    Басты бет