Слайд 2: Типы переменных
2 int # целое float # вещественное bool # логические значения str # символьная строка a = 5 print ( type (a) ) a = 4.5 print ( type (a) ) a = True print ( type (a) ) a = " Вася " print ( type (a) ) <class 'int'> <class 'float'> <class 'bool'> <class 'str'>
Слайд 3: Зачем нужен тип переменной?
3 Тип определяет: область допустимых значений допустимые операции объём памяти формат хранения данных
Слайд 4: Размещение переменных в памяти
4 a = 5 оператор присваивания При записи нового значения старое удаляется из памяти! ! 5 a a = 4.5 4.5 «сборщик мусора» b = a b a = 10 4.5 b 10 a
Слайд 5: Арифметическое выражения
5 a = (c + b ** 5 * 3 - 1 ) / 2 * d Приоритет ( старшинство ): скобки возведение в степень ** умножение и деление сложение и вычитание 1 2 3 4 5 6 a = (c + b * 5 * 3 - 1 ) \ / 2 * d \ перенос на следующую строку a = (c + b * 5 * 3 - 1 ) / 2 * d перенос внутри скобок разрешён
Слайд 6: Деление
6 Классическое деление: a = 9 ; b = 6 x = 3 / 4 # = 0.75 x = a / b # = 1.5 x = -3 / 4 # = - 0.75 x = - a / b # = - 1.5 Целочисленное деление ( округление «вниз»! ) : a = 9 ; b = 6 x = 3 / / 4 # = 0 x = a // b # = 1 x = -3 / / 4 # = -1 x = - a // b # = -2
Слайд 7: Сокращенная запись операций
7 a += b # a = a + b a -= b # a = a - b a *= b # a = a * b a /= b # a = a / b a //= b # a = a // b a %= b # a = a % b a += 1 увеличение на 1 a = b = 0 # b = 0, a = b a, b = 1, 2 # a = 1; b = 2 Множественное присваивание :
Слайд 8: Остаток от деления
8 % – остаток от деления d = 85 b = d // 10 # 8 a = d % 10 # 5 d = a % b # 5 d = b % a # 3 Для отрицательных чисел : a = -7 b = a // 2 # -4 d = a % 2 # 1 Как в математике! ! -7 = ( -4 )*2 + 1 остаток 0
Слайд 9: Вещественные числа
9 Целая и дробная части числа разделяются точкой ! ! Форматы вывода : x = 123.456 print ( x ) print ( "{:10.2f}". format (x)) 123.456 всего знаков 123.46 в дробной части print ( "{:10.2g}". format (x)) значащих цифр 1.2e+02 1,2 10 2
Слайд 10: Стандартные функции
10 abs (x) — модуль числа int (x) — преобразование к целому числу round (x) — округление x = abs ( -1.6 ) # 1.6 x = int ( -1.6 ) # -1 x = round ( -1.6 ) # -2 bin (x) — в двоичную систему oct (x) — в восьмеричную систему hex (x) — в шестнадцатеричную систему x = bin ( 29 ) # '0b11101' x = oct ( 29 ) # '0o35' x = hex ( 29 ) # '0x1d'
Слайд 11: Математические функции
11 math. pi — число «пи» math. sqrt ( x ) — квадратный корень math. sin ( x ) — синус угла, заданного в радианах math. cos ( x ) — косинус угла, заданного в радианах math. exp ( x ) — экспонента е х math. ln ( x ) — натуральный логарифм math. floor ( x ) — округление «вниз» math. ceil ( x ) — округление «вверх» import math подключить математический модуль x = math. floor ( 1.6 ) # 1 x = math. ceil ( 1.6 ) # 2 x = math. floor (- 1.6 ) #-2 x = math. ceil (- 1.6 ) #-1
Слайд 12: Документирование программы
12 from math import sqrt print ( " Введите a, b, c :" ) a, b, c = map ( float, input (). split ()) D = b*b - 4 *a*c if D < 0: print ( "Нет" ) else : x1 = (-b + sqrt (D))/( 2 *a) x2 = (-b - sqrt (D))/( 2 *a) print ( "x1={:5.3f} x2={:5.3f}". format ( x1, x2)) Что делает? ?
Слайд 13: Документирование программы
13 Руководство пользователя : назначение программы формат входных данных формат выходных данных примеры использования программы Назначение : программа для решения уравнения Формат входных данных : значения коэффициентов a, b и c вводятся с клавиатуры через пробел в одной строке
Слайд 14: Документирование программы
14 Формат выходных данных : значения вещественных корней уравнения; если вещественных корней нет, выводится слово «нет» Примеры использования программы : 1. Решение уравнения Введите a, b, c : 1 -5 1 x1=4.791 x2=0.20 9 2. Решение уравнения Введите a, b, c : 1 1 6 Нет.
Слайд 15: Случайные числа
15 Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в лотерею Случайный выбор : жеребьевка на соревнованиях выигравшие номера в лотерее Как получить случайность?
Слайд 16: Случайные числа на компьютере
16 Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191 938992 малый период (последовательность повторяется через 10 6 чисел) Метод середины квадрата (Дж. фон Нейман) в квадрате Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле. зерно
Слайд 17: Линейный конгруэнтный генератор
17 X = ( a*X+b) % c | интервал от 0 до c-1 X = ( X+ 3 ) % 10 | интервал от 0 до 9 X = 0 зерно 3 6 9 2 5 8 0 зацикливание 8 1 4 7 Важен правильный выбор параметров a, b и с ! ! Компилятор GCC : a = 1103515245 b = 12345 c = 2 31
Слайд 18: Генератор случайных чисел
18 Генератор на [0,1) : X = r a ndom.r a ndom () # псевдослучайное число Y = r a ndom.r a ndom () # это уже другое число! англ. random – случайный Целые числа на отрезке [a,b] : X = r a ndom. randint ( 1, 6 ) # псевдосл. число Y = r a ndom. randint ( 1, 6 ) # уже другое! import random Генератор на [a, b] ( вещественные числа ) : X = r a ndom. uniform ( 1.2, 3.5 ) Y = r a ndom. uniform ( 1.2, 3.5 )
Слайд 19: Генератор случайных чисел
19 Генератор на [0,1) : X = r a ndom () ; # псевдослучайное число Y = r a ndom () # это уже другое число! Целые числа на отрезке [a,b] : X = randint ( 10, 60 ) # псевдослучайное число Y = randint ( 10, 60 ) # это уже другое число! from random import * подключить все! Генератор на [a, b] ( вещественные числа ) : X = uniform ( 1.2, 3.5 ) # псевдосл. число Y = uniform ( 1.2, 3.5 ) # уже другое число!
Слайд 20: Задачи
20 « A »: Ввести с клавиатуры три целых числа, найти их сумму, произведение и среднее арифметическое. Пример : Введите три целых числа: 5 7 8 5+7+8=20 5*7*8=280 (5+7+8)/3= 6.667 « B »: Ввести с клавиатуры координаты двух точек (A и B) на плоскости (вещественные числа). Вычислить длину отрезка AB. Пример : Введите координаты точки A: 5.5 3.5 Введите координаты точки B: 1.5 2 Длина отрезка AB = 4.272