Выбранный для просмотра документ Инструкция для активизации макросов в презентации.docx
Скачать материал "11 класс_ЯП Python. Целочисленная арифметика"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ 11 класс-РУ_Информатика-№4_Целочисленная арифметика.pptm
Скачать материал "11 класс_ЯП Python. Целочисленная арифметика"
Рабочие листы
к вашим урокам
Скачать
1 слайд
ИНФОРМАТИКА
11
11
2 слайд
ИНФОРМАТИКА
Разминка
11
3 слайд
ИНФОРМАТИКА
ИГРА
«Python»
11
ПРАВИЛА ИГРЫ
4 слайд
ИНФОРМАТИКА
11
Игровое поле «Python» представляет собой своеобразную игру-бродилку. Стартовать начинаем с головы Питона, а финишировать будем в хвосте. Тело Питона поделено на части, которые пронумерованы.
ПРАВИЛА ИГРЫ:
5 слайд
ИНФОРМАТИКА
11
Тело Питона поделено на части, которые пронумерованы. Необходимо поделиться на 2 команды. У каждой команды своя фишка (определяется жребием, как и то, кто будет ходить первым).
Количество шагов на поле определяется «подбрасыванием» интерактивной игральной кости со значениями от 1 до 4.
ПРАВИЛА ИГРЫ:
6 слайд
ИНФОРМАТИКА
11
Фишка команды передвигается по полю. Попав на поле с цифрой, нужно ответить на вопрос,
если команда отвечает на поставленный вопрос, то продолжает «подбрасывать» кубик. Если отвечает неправильно или вообще не сможет дать ответа, то ход переходит другой команде. Побеждает та команда, которая первая пришла к финишу.
ПРАВИЛА ИГРЫ:
7 слайд
ИНФОРМАТИКА
11
Игра предусматривает бонусы – можно подняться наверх по лестнице, и ловушки – если встретилась змейка, придется скатиться на указанную клетку.
ПРАВИЛА ИГРЫ:
Если встали на клетку с отгаданным вопросом или пустую клетку – команда пропускает ход, переход хода к другой команде
8 слайд
ИНФОРМАТИКА
11
Если встретится:
– двигаемся на 1 клетку вперёд,
– двигаемся на 2 клетки вперёд,
– двигаемся на 1 клетку назад,
– двигаемся на 2 клетки назад.
ПРАВИЛА ИГРЫ:
9 слайд
ИНФОРМАТИКА
11
40
38
36
34
33
31
30
27
25
24
22
9
8
20
19
18
15
5
4
2
1
10 слайд
ИНФОРМАТИКА
11
Как в Python добавить элемент x в начало списка A? Ответ запишите без пробелов.
ВОПРОС №1:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
11 слайд
ИНФОРМАТИКА
11
ВОПРОС №1:
ОТВЕТ:
A=[x]+A
Как в Python добавить элемент x в начало списка A? Ответ запишите без пробелов.
12 слайд
ИНФОРМАТИКА
11
Каким должен быть список, чтобы в нём можно было применить двоичный поиск?
Выберите один из 4 вариантов ответа:
Отсортированным
Строковым
Символьным
Пустым
ВОПРОС №2:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
13 слайд
ИНФОРМАТИКА
11
Каким должен быть список, чтобы в нём можно было применить двоичный поиск?
Выберите один из 4 вариантов ответа:
Отсортированным
Строковым
Символьным
Пустым
ВОПРОС №2:
ОТВЕТ:
1 (ОТСОРТИРОВАННЫМ)
14 слайд
ИНФОРМАТИКА
11
ВОПРОС №4:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Как называется изменение порядка следования элементов списка в соответствии с некоторыми правилами?
Составьте слово из букв:
РВКСИТРОАО
15 слайд
ИНФОРМАТИКА
11
ВОПРОС №4:
ОТВЕТ:
СОРТИРОВКА
Как называется изменение порядка следования элементов списка в соответствии с некоторыми правилами?
Составьте слово из букв:
РВКСИТРОАО
16 слайд
ИНФОРМАТИКА
11
ВОПРОС №5:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Как нужно изменить условие ветвления в четвёртой строке кода, чтобы функция начала возвращать индекс последнего вхождения максимального элемента списка? Новое условие запишите без пробелов.
Изображение:
17 слайд
ИНФОРМАТИКА
11
ВОПРОС №5:
ОТВЕТ:
a[i]>=a[m]
Как нужно изменить условие ветвления в четвёртой строке кода, чтобы функция начала возвращать индекс последнего вхождения максимального элемента списка? Новое условие запишите без пробелов.
Изображение:
18 слайд
ИНФОРМАТИКА
11
ВОПРОС №8:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Как с помощью стандартной функции сортировки языка Python получить список B состоящий из элементов списка А, отсортированных по возрастанию?
Выберите несколько из 4 вариантов ответа:
B = sorted (A, reverse = True)
A = sorted (B)
3) B = sorted (A, reverse = False)
4) B = sorted (A)
19 слайд
ИНФОРМАТИКА
11
ВОПРОС №8:
ОТВЕТ:
3; 4
Как с помощью стандартной функции сортировки языка Python получить список B состоящий из элементов списка А, отсортированных по возрастанию?
Выберите несколько из 4 вариантов ответа:
B = sorted (A, reverse = True)
A = sorted (B)
3) B = sorted (A, reverse = False)
4) B = sorted (A)
20 слайд
ИНФОРМАТИКА
11
ВОПРОС №9:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Сколько проверок выполнит алгоритм двоичного поиска, прежде чем найти элемент со значением 8 в следующем списке?
[1, 3, 6, 7, 8, 10, 15, 20]
Выберите один из 4 вариантов ответа:
1) 42) 23) 54) 6
21 слайд
ИНФОРМАТИКА
11
ВОПРОС №9:
ОТВЕТ:
1 (4 проверки)
Сколько проверок выполнит алгоритм двоичного поиска, прежде чем найти элемент со значением 8 в следующем списке?
[1, 3, 6, 7, 8, 10, 15, 20]
Выберите один из 4 вариантов ответа:
1) 42) 23) 54) 6
22 слайд
ИНФОРМАТИКА
11
ВОПРОС №15:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
К какому типу алгоритмов относится быстрая сортировка элементов списка?
Выберите один из 4 вариантов ответа:
К рекурсивным
К разветвляющимся
3) К циклическим
4) К линейным
23 слайд
ИНФОРМАТИКА
11
ВОПРОС №15:
ОТВЕТ:
1 (к рекурсивным)
К какому типу алгоритмов относится быстрая сортировка элементов списка?
Выберите один из 4 вариантов ответа:
К рекурсивным
К разветвляющимся
3) К циклическим
4) К линейным
24 слайд
ИНФОРМАТИКА
11
ВОПРОС №18:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Укажите верный порядок следования строк кода в описании функции поиска индекса первого вхождения элемента с заданным значением в списке?
Укажите порядок следования всех 5 вариантов ответа:
return -1
return a.index (x)
def search (x, a):
else:
if x in a:
25 слайд
ИНФОРМАТИКА
11
ВОПРОС №18:
Укажите верный порядок следования строк кода в описании функции поиска индекса первого вхождения элемента с заданным значением в списке?
Укажите порядок следования всех 5 вариантов ответа:
return -1
3
1
4
2
5
return a.index (x)
def search (x, a):
else:
if x in a:
26 слайд
ИНФОРМАТИКА
11
ВОПРОС №19:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Что будет выведено на экран при исполнении инструкций?
A = [1, 2, 3, 4, 5]
print (3 in A)
27 слайд
ИНФОРМАТИКА
11
ВОПРОС №19:
ОТВЕТ:
True
Что будет выведено на экран при исполнении инструкций?
A = [1, 2, 3, 4, 5]
print (3 in A)
28 слайд
ИНФОРМАТИКА
11
ВОПРОС №20:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Как в Python с помощью единственной инструкции в переменной B создать копию списка A? Ответ запишите без пробелов.
29 слайд
ИНФОРМАТИКА
11
ВОПРОС №20:
ОТВЕТ:
B=A[0:len(A)]
Как в Python с помощью единственной инструкции в переменной B создать копию списка A? Ответ запишите без пробелов.
30 слайд
ИНФОРМАТИКА
11
ВОПРОС №22:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Что будет выведено на экран при исполнении инструкций?
s = 'АРАРАТ'
s.replace ('АРА', 'ФА')
print (s[0:4])
31 слайд
ИНФОРМАТИКА
11
ВОПРОС №22:
ОТВЕТ:
ФАРА
Что будет выведено на экран при исполнении инструкций?
s = 'АРАРАТ'
s.replace ('АРА', 'ФА')
print (s[0:4])
32 слайд
ИНФОРМАТИКА
11
ВОПРОС №24:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Какое условие выполняется для элементов главной диагонали квадратной матрицы?
i, j - индексы строки и столбца матрицы.
Выберите один из 4 вариантов ответа:
1) i == j2) i <= j3) i != j4) i >= j
33 слайд
ИНФОРМАТИКА
11
ВОПРОС №24:
ОТВЕТ:
1 (i == j)
Какое условие выполняется для элементов главной диагонали квадратной матрицы?
i, j - индексы строки и столбца матрицы.
Выберите один из 4 вариантов ответа:
1) i == j2) i <= j3) i != j4) i >= j
34 слайд
ИНФОРМАТИКА
11
ВОПРОС №25:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Что будет выведено на экран при исполнении инструкций?
s, t = 'Кара-Көл', 'Кара-Суу'
if t > s:
print (s)
else:
print (t)
35 слайд
ИНФОРМАТИКА
11
ВОПРОС №25:
ОТВЕТ:
Кара-Көл
Что будет выведено на экран при исполнении инструкций?
s, t = 'Кара-Көл', 'Кара-Суу'
if t > s:
print (s)
else:
print (t)
36 слайд
ИНФОРМАТИКА
11
ВОПРОС №27:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Выберите несколько истинных утверждений из 4 вариантов ответа:
1) Элементы символьной строки можно изменять, обращаясь к ним по их индексам.
2) Квадратной называется матрица, в которой количество строк не равно количеству столбцов.
3) Элемент матрицы имеет два индекса.
4) Символьная строка - это неизменная величина.
37 слайд
ИНФОРМАТИКА
11
ВОПРОС №27:
ОТВЕТ:
3; 4
Выберите несколько истинных утверждений из 4 вариантов ответа:
1) Элементы символьной строки можно изменять, обращаясь к ним по их индексам.
2) Квадратной называется матрица, в которой количество строк не равно количеству столбцов.
3) Элемент матрицы имеет два индекса.
4) Символьная строка - это неизменная величина.
38 слайд
ИНФОРМАТИКА
11
ВОПРОС №30:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Какие значения элементов будут у матрицы A после исполнения инструкций?
A = [0] * 3
A = [A] * 3
A[0][1] = 1
Выберите один из 4 вариантов ответа:
1) [[0, 0, 0], 2) [[0, 1, 0], 3) [[0, 0, 0], 4) [[0, 1, 0],
[1, 0, 0], [0, 0, 0], [1, 1, 1], [0, 1, 0],
[0, 0, 0]] [0, 0, 0]] [0, 0, 0]] [0, 1, 0]]
39 слайд
ИНФОРМАТИКА
11
ВОПРОС №30:
ОТВЕТ:
4
Какие значения элементов будут у матрицы A после исполнения инструкций?
A = [0] * 3
A = [A] * 3
A[0][1] = 1
Выберите один из 4 вариантов ответа:
1) [[0, 0, 0], 2) [[0, 1, 0], 3) [[0, 0, 0], 4) [[0, 1, 0],
[1, 0, 0], [0, 0, 0], [1, 1, 1], [0, 1, 0],
[0, 0, 0]] [0, 0, 0]] [0, 0, 0]] [0, 1, 0]]
40 слайд
ИНФОРМАТИКА
11
ВОПРОС №31:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Как называется прямоугольная таблица из элементов одного типа?
Выберите один из 4 вариантов ответа:
Массив
Матрица
Символьная строка
Список
41 слайд
ИНФОРМАТИКА
11
ВОПРОС №31:
ОТВЕТ:
2
Как называется прямоугольная таблица из элементов одного типа?
Выберите один из 4 вариантов ответа:
Массив
Матрица
Символьная строка
Список
42 слайд
ИНФОРМАТИКА
11
ВОПРОС №33:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Укажите верный порядок следования строк кода в описании функции вычисления суммы элементов матрицы? Укажите порядок следования всех 5 вариантов ответа:
s = s + sum (t)
s = 0
def sumMatrix (a):
return s
for t in a:
43 слайд
ИНФОРМАТИКА
11
ВОПРОС №33:
Укажите верный порядок следования строк кода в описании функции вычисления суммы элементов матрицы? Укажите порядок следования всех 5 вариантов ответа:
s = s + sum (t)
2
1
5
3
4
s = 0
def sumMatrix (a):
return s
for t in a:
44 слайд
ИНФОРМАТИКА
11
ВОПРОС №34:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Сопоставьте методы символьных строк, с результатом, который они вернут при s = 'Самолёт'?
Укажите соответствие для всех 5 вариантов ответа:
s.upper ()
s.rfind ('Лёт')
s.split ('о')
s.isdgit ()
s.find ('лёт')
'САМОЛЁТ'
-1
4
'Сам', 'лёт'
False
45 слайд
ИНФОРМАТИКА
11
ВОПРОС №34:
Сопоставьте методы символьных строк, с результатом, который они вернут при s = 'Самолёт'?
Укажите соответствие для всех 5 вариантов ответа:
s.upper ()
'САМОЛЁТ'
-1
4
'Сам', 'лёт'
False
s.rfind ('Лёт')
s.split ('о')
s.isdgit ()
s.find ('лёт')
46 слайд
ИНФОРМАТИКА
11
ВОПРОС №36:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
В какой из инструкций допущена ошибка, если s = 'мама мыла раму'?
Выберите один из 4 вариантов ответа:
s = s[0:4]
t = s[3]
s[3] = ' '
t = s[0:4]
47 слайд
ИНФОРМАТИКА
11
ВОПРОС №36:
ОТВЕТ:
3
В какой из инструкций допущена ошибка, если s = 'мама мыла раму'?
Выберите один из 4 вариантов ответа:
s = s[0:4]
t = s[3]
s[3] = ' '
t = s[0:4]
48 слайд
ИНФОРМАТИКА
11
ВОПРОС №38:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
Что будет выведено на экран при исполнении инструкций?
s = '-5'
print (s.isdigit ())
49 слайд
ИНФОРМАТИКА
11
ВОПРОС №38:
ОТВЕТ:
False
Что будет выведено на экран при исполнении инструкций?
s = '-5'
print (s.isdigit ())
50 слайд
ИНФОРМАТИКА
11
ЗАДАНИЕ №40:
10
9
8
7
6
5
4
3
2
1
0
Узнать ответ
1
2
3
4
5
6
7
8
9
10
Объявление матрицы
Включение генератора случайных чисел
Начало цикла работы со строками
Начало цикла работы с элементами одной строки матрицы
Присваивание элементу массива значения функции выбора случайного числа
Добавление оператора вывода
Окончание цикла работы с элементами одной строки матрицы
Переход на новую строку
Окончание цикла работы со строками матрицы
Окончание программы
Расположите по порядку действия, которые нужно выполнить при создании программы ввода матрицы с помощью датчика случайных чисел
51 слайд
ИНФОРМАТИКА
11
ЗАДАНИЕ №40:
1
2
3
4
5
6
7
8
9
10
1.Объявление матрицы
2.Включение генератора случайных чисел
3.Начало цикла работы со строками
4.Начало цикла работы с элементами одной строки матрицы
5.Присваивание элементу массива значения функции выбора случайного числа
6.Добавление оператора вывода
7.Окончание цикла работы с элементами одной строки матрицы
8.Переход на новую строку
9.Окончание цикла работы со строками матрицы
10.Окончание программы
52 слайд
Урок №4
1.4.Тема:
«Целочисленная арифметика»
Программирование
ИНФОРМАТИКА 11 КЛАСС
53 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Числа: целые, вещественные, комплексные. Работа с числами и операции над ними.
А
В
А В
𝑎 2
2𝑥+3
6𝑦−7𝑥
2𝑎−5𝑑 3𝑏+4𝑐
(𝑎+𝑏)(𝑎−𝑏)
54 слайд
Целочисленный тип данных (int)
205
112
782
345
981
400
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
55 слайд
Операции обработки числовых данных
+
–
/
*
**
Тип результата зависит от типа операндов
a
b
Тип результата: float
a: int
b: float
a, b: int
a + b: int
a + b: float
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
56 слайд
Функция модуля числа
Запись:
abs
Модуль числа — это расстояние на числовой оси от точки начала отсчёта
до точки, соответствующей
этому числу.
|a|
При a ≥ 0, |a| = a,
при a < 0, |a| = –a.
(<аргумент>)
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
57 слайд
Задача
Даны целочисленные ненулевые координаты точки T на плоскости. Из начала отсчёта в точку Т провели отрезок, который является диагональю прямоугольника. Вычислить площадь и периметр этого прямоугольника.
y
x
T1
(x1; y1)
a = x1
b = y1
T2
(x2; y2)
a = –x2
b = –y2
P = (a + b) × 2
S = a × b
a = |x|, b = |y|
y
x
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
58 слайд
Задача
print ('Введите координаты точки Т.')
x = int (input ())
y = int (input ())
a, b = abs (x), abs (y)
s = a * b
p = (a + b) * 2
print ('Площадь заданного прямоугольника равна', s, ', а периметр -', p)
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
59 слайд
Задача
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
60 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Числа: целые, вещественные, комплексные. Работа с числами и операции над ними.
61 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Числа: целые, вещественные, комплексные. Работа с числами и операции над ними.
>>> 20 % 3
2
>>> 3 ** 4
81
>>> (3, 4)
81
>>> (3, 4, 27)
0
>>> 255 + 34
289
>>>
5 * 2
10
>>> 20 / 3
6.666666666666667
>>> 20 // 3
6
>>> 3 ** 150 369988485035126972924700782451696644186473100389722973815184405301748249
62 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Битовые операции
63 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Дополнительные методы
int.bit_length() - количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.
>>> n = -37
>>> bin(n)
'-0b100101'
>>> n.bit_length()
6
Например:
64 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Дополнительные методы
int.to_bytes(length, byteorder, *, signed=False) - возвращает строку байтов, представляющих это число.
>>> (1024).to_bytes(2, byteorder='big')
b'\x04\x00'
>>> (1024).to_bytes(10, byteorder='big')
b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00'
>>> (-1024).to_bytes(10, byteorder='big', signed=True)
b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00'
>>> x = 1000 >>> x.to_bytes((x.bit_length() // 8) + 1, byteorder='little')
b'\xe8\x03'
Например:
65 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Дополнительные методы
classmethod int.from_bytes(bytes, byteorder, *, signed=False) - возвращает число из данной строки байтов.
>>> int.from_bytes(b'\x00\x10', byteorder='big')
16
>>> int.from_bytes(b'\x00\x10', byteorder='little')
4096
>>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True)
-1024
>>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False)
64512
>>> int.from_bytes([255, 0, 0], byteorder='big')
16711680
Например:
66 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Системы счисления
int([object], [основание системы счисления]) - преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
bin(x) - преобразование целого числа в двоичную строку.
hex(х) - преобразование целого числа в шестнадцатеричную строку.
oct(х) - преобразование целого числа в восьмеричную строку.
1910 = 100112
Функции для перевода из одной с.с. в другую:
67 слайд
Вещественные числа (float)
Floating point
– плавающая точка.
Мантисса
Показатель сдвига
8 байт
До 15 цифр
Важно: так как точность вещественных чисел при программировании ограничена, то в процессе проведения многочисленных вычислений с их использованием может накапливаться вычислительная ошибка.
Это стоит учитывать при написании программ.
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
68 слайд
Операции обработки числовых данных
+
–
/
*
**
Тип результата зависит от типа операндов
a
b
Тип результата: float
a: int
b: float
a, b: int
a + b: int
a + b: float
Функция модуля – abs (х); возвращает значение того же типа, что и аргумент.
|a|
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
69 слайд
Дополнительные методы
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
float.as_integer_ratio() - пара целых чисел, чьё отношение равно этому числу.
float.is_integer() - является ли значение целым числом.
float.hex() - переводит float в hex (шестнадцатеричную систему счисления).
classmethod float.fromhex(s) - float из шестнадцатеричной строки.
70 слайд
Функции приведения к целым значениям
Математическое округление
Выделение целой части
round (x)
Целочисленный результат
Целочисленный результат
int (x)
round (2.4) = 2
round (3.8) = 4
int (2.4) = 2
int (3.8) = 3
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
71 слайд
Математические функции
Math
Математический
модуль
Синус угла
sin x
math.sin (x)
Косинус угла
cos x
math.cos (x)
α = t°
t
180°
× π рад.
=
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
72 слайд
Математические функции
Math
Математический
модуль
Синус угла
sin x
math.sin (x)
Косинус угла
cos x
math.cos (x)
Натуральный логарифм
ln x
math.log (x)
Квадратный корень
math.sqrt (x)
Экспонента
ex
math.exp (x)
x
Описанные функции принимают числовые аргументы и возвращают вещественные значения.
Число π
π
math.pi
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
73 слайд
Математические функции
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
74 слайд
Вызов функций из модуля
Подключение модуля:
import math
Точечный вызов:
math.sqrt (x)
Загрузка всех функций модуля:
from math import *
Вызов загруженных функций:
sqrt (x)
Выборочная загрузка функций модуля:
from math import
sin, cos, sqrt
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
75 слайд
Случайные вещественные числа
Функция random.random ( )
возвращает случайное вещественное
число на промежутке [0; 1).
Случайное вещественное число на промежутке [a; b):
random.random ()
* (b – a)
+ a
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
import random
76 слайд
Комплексные числа
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Для работы с комплексными числами используется также модуль cmath.
>>> x = complex(1, 2)
>>> print(x)
(1+2j)
>>> y = complex(3, 4)
>>> print(y)
(3+4j)
>>> z = x + y
>>> print(x)
(1+2j)
>>> print(z)
(4+6j)
>>> z = x * y
>>> print(z)
(-5+10j)
>>> z = x / y
>>> print(z)
(0.44+0.08j)
77 слайд
Комплексные числа
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
>>> print(x.conjugate()) # Сопряжённое число
(1-2j)
>>> print (x.imag) # Мнимая часть
2.0
>>> print(x.real) # Действительная часть
1.0
>>> print(x > y) # Комплексные числа нельзя сравнить
Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: complex() > complex()
>>> print(x == y) # Но можно проверить на равенство
False
>>> abs (3 + 4j) # Модуль комплексного числа
5.0
>>> pow (3 + 4j, 2) # Возведение в степень
(-7+24j)
78 слайд
Целочисленные алгоритмы
1
2
Решето Эратосфена
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
3
«Длинные» числа
11
4
Вычисление факториала. Квадратный корень
79 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Целочисленные алгоритмы
Исходные данные и необходимые результаты – целые числа.
Процессор, как правило, выполняет операции с целыми числами значительно быстрее, чем с вещественными;
Целые числа всегда точно представляются в памяти компьютера, и вычисления с ними также выполняются без ошибок (если, конечно, не происходит переполнение разрядной сетки).
1
2
80 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Эратосфен Киренский
(Eratosthenes, Ερατοσθδνη)
(ок. 275-194 до н.э.)
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2
3
81 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Таблица простых чисел до 1000
82 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел.
Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете.
83 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Числа являются простыми, если делятся только на единицу и самих себя.
Первое простое число - это 2, второе простое число - это 3.
2
3
4
5
6
7
8
9
10
12
13
14
15
16
…
11
2
3
5
7
11
13
17
19
…
84 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Данная программа должна вывести все простые числа в заданном диапазоне (от 0 до n) при помощи алгоритма «Решето Эратосфена».
Описание задачи:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2
3
85 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Принимаем значение определяющее верхнюю границу диапазона и записываем его в переменную n.
Инициализируем переменную sieve («решето») множеством чисел от 2 до n.
Используем цикл while, который прекратит свою работу, когда множество sieve станет пустым.
Примем во внимание тот факт, что минимальное число в этом множестве (на первой итерации это будет 2) всегда простое.
Выводим это число на экран.
Далее удаляем это число вместе со всеми числами, кратными ему (в заданном диапазоне).
Продолжаем это делать, пока множество sieve не станет пустым.
Конец
Алгоритм «Решето Эратосфена»:
86 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Реализация на Python:
n = int(input("Введите верхнюю границу диапазона: "))
sieve = set(range(2, n+1))
while sieve:
prime = min(sieve)
print(prime, end = "\t")
sieve -= set(range(prime, n+1, prime))
87 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Решето Эратосфена
Результаты работы программы:
Пример 1: Введите верхнюю границу диапазона: 10
2 3 5 7
Пример 2: Введите верхнюю границу диапазона: 15
2 3 5 7 11 13
88 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
«Длинные» числа
Ключи для шифрования: 256 битов.
Целочисленные типы данных обычно 64 битов.
Как хранить?
?
Длинное число – это число, которое не помещается в переменную одного из стандартных типов данных языка программирования.
«Длинная арифметика» – алгоритмы для работы с длинными числами.
В Python длинная арифметика встроенная!
!
89 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
«Длинные» числа
A = 12345678
Что плохо?
?
неудобно вычислять (с младшего разряда!)
неэкономное расходование памяти (одна цифра в ячейке)
Обратный порядок элементов:
90 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
«Длинные» числа
Упаковка элементов:
12345678 = 12·10002 + 345·10001 + 678·10000
система счисления с основанием 1000!
На что похоже?
?
от –231 = – 2 147 483 648 до 231 – 1 = 2 147 483 647.
Если 4 байтовая ячейка:
Какие основания можно использовать?
?
должны помещаться все промежуточные результаты!
A = 12345678
91 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Вычисление факториала
Задача 1. Вычислить точно значение факториала
100! = 1·2·3·…·99·100
Как оценить количество цифр?
?
1·2·3·…·99·100 < 100100
201 цифра
6 цифр в ячейке 34 ячейки
Основной алгоритм:
{A} = 1
for k in range(2,101):
{A} *= k
длинное число
основание 1000000
A = [1]
k ≤100
92 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Вычисление факториала
основание d = 1 000 000
[A] = 12345678901734567
734 567·3 = 2 203 701
*3
остаётся в A[0]
r = перенос в A[1]
Как найти перенос?
?
s = A[0]*k
A[0] = s % d
r = s // d
Что изменится для A[1]?
?
s = A[1]*k + r
93 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Вычисление факториала
r = 0
for i in range(len(A)):
s = A[i]*k + r
A[i] = s % d
r = s // d
if r > 0:
A.append ( r )
Умножение «длинного» числа на k:
Вычисление 100!:
for k in range(2,101):
{A} *= k
все разряды
число удлиняется
94 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Вычисление факториала
Какое число?
?
A = 1000002000003
вывести старший ненулевой разряд
вывести все следующие разряды, добавляя лидирующие нули до 6 цифр
for i in range(h-1,-1,-1):
print ( "{:06d}".format(A[i]), end = "" )
дополнить нулями
в 6 позициях
h = len ( A )- 1
print ( A[h], end = "" )
import math
print ( math.factorial(100) )
95 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Квадратный корень
Задача. Извлечь квадратный корень из «длинного» целого числа; если это не целое число, найти корень с округлением «вниз» (к меньшему значению).
Метод Герона:
Начальное приближение – любое > 0!
!
(1)
96 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Квадратный корень
Метод Герона в целых числах:
x = (x + a // x)// 2
x = (x*x + a) // (2*x)
или так:
только целые числа!
Когда остановиться?
?
(1)
(2)
Если следующее приближение больше предыдущего, то стоп!
!
это ответ!
97 слайд
ПРОГРАММИРОВАНИЕ.
1.4. «Целочисленная арифметика»
11
Квадратный корень
Метод Герона в целых числах:
def isqrt(a):
x = a # начальное приближение
while True:
x1 = (x*x + a)//(2*x)
if x1 >= x:
return x
x = x1
следующее приближение
вернуть результат
98 слайд
ДО НОВЫХ ВСТРЕЧ!
Программирование
ИНФОРМАТИКА 11 КЛАСС
99 слайд
Клепачёва Е.А.,
учитель информатики УК АФМШЛ №61,
Отличник образования КР,
Председатель городского методического совета учителей информатики г.Бишкек
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ DragAndDrop2013.pptm
Скачать материал "11 класс_ЯП Python. Целочисленная арифметика"
Рабочие листы
к вашим урокам
Скачать
1 слайд
Рабочие листы
к вашим урокам
Скачать
Рабочие листы
к вашим урокам
Скачать
6 663 820 материалов в базе
«Информатика (базовый и углублённый уровни) (в 2 частях)», Поляков К.Ю., Еремин Е.А.
§ 38. Целочисленные алгоритмы
Больше материалов по этой темеНастоящий материал опубликован пользователем Клепачёва Елена Александровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
600 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Мини-курс
5 ч.
Мини-курс
4 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.