Похожие презентации:
Функции. Логические функции
1. Программирование на языке Python
1Программирование
на языке Python
§ 60. Функции
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Логические функции
Алгоритмы и программирование, язык Python, 10 класс2
Логические функции
Логическая функция – это функция, возвращающая
логическое значение (True/False).
def even(n):
if n % 2 == 0:
return True
else:
return False
def even(n):
return (n % 2 == 0)
k = int( input() )
if even( k ):
print( "Число", k, "чётное." )
else:
print( "Число", k, "нечётное." )
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
3. Логические функции
Алгоритмы и программирование, язык Python, 10 класс3
Логические функции
Задача. Найти все простые числа в диапазоне
от 2 до 1000.
for i in range(2,1001):
if i
isPrime(i)
- простое :
print ( i )
функция,
возвращающая
логическое значение
(True/False)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4. Функция: простое число или нет?
Алгоритмы и программирование, язык Python, 10 класс4
Функция: простое число или нет?
def isPrime ( n ):
for d in range(2,n):
if n % d == 0:
return False
return True
нет ни одного
? Что плохо?
К.Ю. Поляков, Е.А. Ерёмин, 2018
делителя
http://kpolyakov.spb.ru
5. Функция: простое число или нет?
Алгоритмы и программирование, язык Python, 10 класс5
Функция: простое число или нет?
n a b, a b a n
Пусть a n Тогда b n a b n .
! Перебор до квадратного корня!
def isPrime ( n ):
for d in range(2, round(n**0.5)+1
round(n**0.5)+1 ):
if n % d == 0:
return False
return True
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
6. Функция: простое число или нет?
Алгоритмы и программирование, язык Python, 10 класс6
Функция: простое число или нет?
! Только с целыми числами!
d n d d n
def isPrime ( n ):
d=2
while d*d <= n and n % d != 0:
d += 1
if d*d > n:
return (d*d > n)
return True
else:
return False
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
7. Логические функции: использование
Алгоритмы и программирование, язык Python, 10 класс7
Логические функции: использование
! Функция, возвращающая логическое значение,
может использоваться везде, где и логическая
величина!
n = int ( input() )
while isPrime(n):
print ( n, "– простое число" )
n = int ( input() )
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
8. Задачи
Алгоритмы и программирование, язык Python, 10 класс8
Задачи
«A»: Напишите логическую функцию, которая
определяет, является ли переданное ей число
совершенным, то есть, равно ли оно сумме своих
делителей, меньших его самого.
Пример:
Введите натуральное число:
28
Число 28 совершенное.
Пример:
Введите натуральное число:
29
Число 29 не совершенное.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Задачи
Алгоритмы и программирование, язык Python, 10 класс9
Задачи
«B»: Напишите логическую функцию, которая
определяет, являются ли два переданные ей числа
взаимно простыми, то есть, не имеющими общих
делителей, кроме 1.
Пример:
Введите два натуральных числа:
28 15
Числа 28 и 15 взаимно простые.
Пример:
Введите два натуральных числа:
28 16
Числа 28 и 16 не взаимно простые.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Задачи
Алгоритмы и программирование, язык Python, 10 класс10
Задачи
«С»: Простое число называется гиперпростым, если любое
число, получающееся из него откидыванием нескольких
последних цифр, тоже является простым. Например,
число 733 – гиперпростое, так как и оно само, и числа 73
и 7 – простые. Напишите логическую функцию, которая
определяет, верно ли, что переданное ей число –
гиперпростое. Используйте уже готовую функцию
isPrime, которая приведена в учебнике.
Пример:
Введите натуральное число:
733
Число 733 гиперпростое.
Пример:
Введите натуральное число:
19
Число 19 не гиперпростое.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru