Алгоритмизация и программирование

Содержание

Слайд 2

Структура условного выбора

Команда if-elif-else

Структура условного выбора Команда if-elif-else

Слайд 3

Рассмотрим задачу расчета площади прямоугольника.
Алгоритм решения:
ввод двух размеров прямоугольника,
расчет площади
вывод ответа

Рассмотрим задачу расчета площади прямоугольника. Алгоритм решения: ввод двух размеров прямоугольника, расчет
на экран

Слайд 4

В данной программе обязательно должны выполняться все действия, указанные в ней.
В

В данной программе обязательно должны выполняться все действия, указанные в ней. В
программах возможны ситуации, когда требуется выполнение не строго определенного действия, а одного из двух или более вариантов действия, при этом выбор того или иного варианта зависит от некоторого условия.
Возможны ситуации, когда некоторое действие должно выполняться не всегда, а только при определенном условии.

Слайд 5

Пример. Дано целое число. Определить, является ли оно четным.
Решение:
Начальная часть программы решения

Пример. Дано целое число. Определить, является ли оно четным. Решение: Начальная часть
задачи:
a = int(input('Введите целое число '))
Далее возможны два варианта действий (два варианта инструкции print() вывода информации на экран):
1) print('Это число четное')
2) print('Это число нечетное')

Два варианта действий

Слайд 6

В таких случаях (возможны два варианта действий) в программе необходимо использовать инструкцию

В таких случаях (возможны два варианта действий) в программе необходимо использовать инструкцию
if в следующей форме:
if <условие>:
<Действия 1-го варианта (1-я серия инструкций)>
else:
<Действия 2-го варианта (2-я серия инструкций)>

Слайд 7

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

В Python предусмотрено несколько возможных способов выражения логических значений: логическая константа False,
0, неопределенное значение Python None и пустые значения (например, пустой список [] или пустая строка "") — все эти значения интерпретируются как False. Логическая константа True и все остальные значения интерпретируются как True.
Для создания логических условий используются операторы сравнения (<, <=, ==, >, >=, !=, is, is not, in, not in) и логические операторы (and, not, or); все они возвращают либо True, либо False.

Слайд 8

В языке Python есть 6 операций сравнения:

Примеры:
a < 0
x <= a +

В языке Python есть 6 операций сравнения: Примеры: a x (a +
b
(a + b)/2 > 0
2 * c >= 7 * d – 1
N % 5 == 3
v != 100

Слайд 9

Применительно к рассмотренному примеру инструкция if оформляется так:
if a % 2 ==

Применительно к рассмотренному примеру инструкция if оформляется так: if a % 2
0:
print('Это число четное')
else:
print('Это число нечетное')
Вместо условия a % 2 == 0 можно записать not a % 2.
not a % 5 – True для кратных 5
False для не кратных 5
Задача. Даны два вещественных числа а и b. Если первое больше второго, то увеличить каждое число в 2 раза, иначе – уменьшить в два раза.

Слайд 10

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

В инструкции if возможно также использование так называемых «сложных условий» –

Сложные условия В инструкции if возможно также использование так называемых «сложных условий»
состоящих из двух или нескольких простых условий, соединенных логическими операторами and (И), or (ИЛИ) или not (НЕ).
Результат выполнения логических операций с оператором and над двумя простыми условиями С1 и С2:

Слайд 11

Результат выполнения логических операций с оператором or над двумя простыми условиями С1

Результат выполнения логических операций с оператором or над двумя простыми условиями С1
и С2:

Результат выполнения логической операции с оператором not над условием С определяется так:

Слайд 12

Пример. Предположим, что компания набирает сотрудников, возраст которых – от 25 до

Пример. Предположим, что компания набирает сотрудников, возраст которых – от 25 до
50 лет включительно. Нужно написать программу, которая запрашивает возраст претендента и выдает ответ: «Подходит» или «Не подходит» он по этому признаку.
Пусть возраст сотрудника задан и записан в переменной age. Тогда фрагмент программы, в котором выводится ответ, будет выглядеть так:
if age>= 25 and age<= 50:
print('Подходит')
else:
print('Не подходит')

Слайд 13

Приоритет операций:
Операции сравнения (<, <=, >, >=, ==, !=)
Not
And
Or
Для изменения приоритета используют

Приоритет операций: Операции сравнения ( , >=, ==, !=) Not And Or
круглые скобки.

Слайд 14

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

Иногда условия получаются достаточно длинными, и их хочется перенести на следующую строку.
Сделать это в Python можно двумя способами:
• использовать обратный слэш («\»):

• взять все условие в скобки (перенос внутри скобок разрешен):

Слайд 15

В языке Python разрешены двойные неравенства, например
if A < B < C:
означает

В языке Python разрешены двойные неравенства, например if A означает то же
то же самое, что и
if A < B and B < C:
В качестве условия в инструкции if можно использовать также:
логические функции, то есть функции, возвращающие результат логического типа .
Chet() – функция, возвращающая результат True, если ее параметр (значение, указанное в скобках) является четным числом, и False – в противном случае.

Слайд 16

n = int(input('Введите целое число '))
if Chet(n):
print('Это число четное')
else:
print('Это число

n = int(input('Введите целое число ')) if Chet(n): print('Это число четное') else:
нечетное')
2) оператор in (оператор проверки принадлежности), который проверяет, принадлежит ли некоторый объект (число, символ, переменная и т. п.) набору значений (списку, строке, диапазону чисел и т. п.):
а) a = 3
if a in range(10): #Если a попадает в диапазон 0…9
б) sim = input('Введите символ ')
s = input('Введите строку символов ')
if sim in s: #Если символ sim имеется в строке s

Слайд 17

3) операторы is/is not (операторы проверки идентичности), которые определяют, ссылаются ли (или

3) операторы is/is not (операторы проверки идентичности), которые определяют, ссылаются ли (или
не ссылаются) две переменные на один и тот же объект.
Конечно, можно комбинировать простые (или сложные) условия с логическими функциями, операторами in и is/is not, а также с логическими константами True и False.

Слайд 18

Пример. Даны три целых числа, среди которых есть отрицательные. Вывести на экран

Пример. Даны три целых числа, среди которых есть отрицательные. Вывести на экран
отрицательные числа на одной строке.
Используем в программе три переменные – a, b и с.
Начальная часть программы решения задачи:
print('Введите 3 целых числа')
a = int(input())
b = int(input())
c = int(input())
print('Среди них отрицательные:')
В каком случае выводить значение первого числа a? Если а<0. Аналогично и для двух других чисел.

Один, но не обязательный вариант действий

Слайд 19

В таких случаях (когда какие-то действия в программе выполняются не всегда, а

В таких случаях (когда какие-то действия в программе выполняются не всегда, а
только при определенном условии) используется инструкция if в следующей форме:
if <условие>:
<Действия (серия
инструкций)>

Такой вариант инструкции if называют «неполный вариант».

Слайд 20

Применительно к рассмотренному примеру завершающая часть программы решения задачи оформляется так:
if a

Применительно к рассмотренному примеру завершающая часть программы решения задачи оформляется так: if
< 0:
print(a, end = ‘ ')
if b < 0:
print(b, end = ‘ ')
if c < 0:
print(c)
Еще раз обратим внимание на то, что нет альтернативных вариантов действий, как в случае, рассмотренном ранее, а есть единственно возможный, но не обязательный, вариант.

Слайд 21

Рассмотрим задачу: «На плоскости выделены три зоны (I, II, III).

Три и более

Рассмотрим задачу: «На плоскости выделены три зоны (I, II, III). Три и
вариантов действий

Дана координата х точки. Определить, в какую зону попала эта точка. Принять, что х не равно границам зон (–1 и 5)».

Слайд 22

Решение
Можно в программе использовать 3 неполных варианта инструкции if (без ветви else):
if

Решение Можно в программе использовать 3 неполных варианта инструкции if (без ветви
x < -1:
print('В зону III')
if x > 5:
print('В зону I')
if x > -1 and x < 5:
print('В зону II')
Можно ли «сэкономить» одно слово if и использовать полный вариант инструкции во втором if ?

Слайд 23

if x < -1:
print('В зону III')
if x > 5:
print('В зону

if x print('В зону III') if x > 5: print('В зону I')
I')
else:
print('В зону II')
Проверим.
При x == 10 ответ будет правильным.
При x == 0 – то же.
При x == –8 на экран будет выведено:
В зону III
В зону II
то есть ответ будет ошибочным.

Слайд 24

Правильный вариант:
if x < -1:
print('В зону III')
else:
if x >

Правильный вариант: if x print('В зону III') else: if x > 5:
5:
print('В зону I')
else:
print('В зону II')
Получается, что одна инструкция if «вложена» в другую.
В Python можно записать так:
if x < -1:
print('В зону III')
elif x > 5:
print('В зону I')
else:
print('В зону II')

Слайд 25

Ветвь elif может присутствовать несколько раз; наличие ветви else необязательно:
if ...:
...
elif ...:
...
elif

Ветвь elif может присутствовать несколько раз; наличие ветви else необязательно: if ...:
...:
...
elif ...:
...
Если в цепочке if-elif-elif-... истинными являются несколько условий, то «срабатывает» первое из них!

Слайд 26

Например, программа:
if cost < 1000:
print ('Скидок нет')
elif cost < 2000:
print('Скидка

Например, программа: if cost print ('Скидок нет') elif cost print('Скидка 2%') elif
2%')
elif cost < 5000:
print('Скидка 5%')
else:
print('Скидка 10%')
при cost == 1500 выводит на экран:
Скидка 2%
хотя условие cost < 5000 тоже выполняется.

Слайд 27

в общем случае:
if <условие 1>:
<действия 1>
elif <условие 2>:
<действия 2>
elif <условие

в общем случае: if : elif : elif : elif ...: ... elif : else:
3>:
<действия 3>
elif ...:
...
elif <условие n>:
<действия n>
else:
<действия (n + 1)>

Слайд 28

Рассмотрим задачу, которая часто встречается в программировании: «Определить максимальное значение из двух

Рассмотрим задачу, которая часто встречается в программировании: «Определить максимальное значение из двух
заданных различных вещественных чисел».
Решение
Заданным переменным дадим имена a, b и максимальному из них - Мax.
Так как возможны два варианта ответа, то в программе можно использовать полный вариант инструкции if:
if a > b:
Мaх = a
else:
Мaх = b

Слайд 29

2. Можно использовать неполный if:
Мaх = a
if b > a:
Мaх =

2. Можно использовать неполный if: Мaх = a if b > a:
b
3. В Python есть стандартная функция max(), которая возвращает максимальное значение среди указанных для нее аргументов:
Max = max(a, b)

Слайд 30

Выполняется блок кода после первого истинного условия (в if или elif). Если

Выполняется блок кода после первого истинного условия (в if или elif). Если
ни одно условие не равно True, то выполняется блок кода после else:

Команда if-elif-else

Присутствие секций elif и else не обязательно, а количество секций elif не ограничено.
Для выделения блоков используются отступы. Каждый блок состоит из одной или нескольких команд, разделенных символами новой строки. Все эти команды должны снабжаться отступами одного уровня. (5 0 10)

Слайд 31

Часть тело после команды if является обязательной. Впрочем, в нее можно включить

Часть тело после команды if является обязательной. Впрочем, в нее можно включить
команду pass (как и в любой точке Python, где нужна команда). Команда pass размещается там, где должна находиться команда, но никаких действий она не выполняет:
if x < 5:
pass
else:
x = 5
В Python не существует конструкции case (или switch).
Там, где в других языках использовалась бы команда case или switch, Python обычно прекрасно обходится цепочкой if… elif… elif… else. Если же цепочка становится слишком громоздкой, обычно можно воспользоваться словарем функций.

Слайд 32

Управляющие конструкции (if-elif-else, циклы while и for) являются составными командами и в

Управляющие конструкции (if-elif-else, циклы while и for) являются составными командами и в
них используются блоки и отступы.
Python использует отступы для определения границ блоков (или тел) управляющих конструкций.
секция составной команды:
блок
секция составной команды:
блок
Составная команда состоит из одной или нескольких секций, за каждой из которых следует блок с отступом. Составные команды также могут находиться в блоках, как и любые другие команды. В этом случае они создают вложенные блоки.

Слайд 33

В одной строке можно разместить сразу несколько команд, разделив их символом «точка

В одной строке можно разместить сразу несколько команд, разделив их символом «точка
с запятой» (;).
Блок, содержащий одну строку, может быть размещен в той же строке после двоеточия (:), завершающего секцию составной команды:

Что касается базового интерактивного режима и оболочки Python IDLE, после внешнего уровня отступов необходима дополнительная строка. Дополнительная строка не нужна при размещении кода в файле программы.

Слайд 34

В каких случаях в программе используется полный вариант инструкции if-else? Как он

В каких случаях в программе используется полный вариант инструкции if-else? Как он
оформляется? Как он «работает»? (Что происходит при его выполнении?) Нарисуйте графическую схему выполнения.
Что представляет из себя условие, записываемое в инструкции if в простейшем случае? Какие знаки операций сравнения могут использоваться в нем?
Что является результатом операции сравнения?
Что такое сложное условие? Какие логические операции могут использоваться в нем?
Каков порядок (приоритет) выполнения логических операций? Как изменить этот порядок?
Что может быть использовано в инструкции if, кроме простых и сложных условий?

Контрольные вопросы

Имя файла: Алгоритмизация-и-программирование.pptx
Количество просмотров: 45
Количество скачиваний: 0