926.50K
Category: programmingprogramming

Линейные программы

1.

1
Программирование
(Python)
Линейные программы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

2.

Программирование (Python), 8 класс
2
Зачем нужны переменные?
# ввести два числа
# вычислить их сумму
# вывести сумму на экран
Где запомнить?
Переменная — это величина, которая имеет имя, тип и
значение. Значение переменной может изменяться во
время выполнения программы.
a b c
ячейки памяти
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

3.

Программирование (Python), 8 класс
3
Имена переменных
Идентификатор — это имя программы или переменной.
a
b
c
заглавные и строчные
буквы различаются
МОЖНО использовать
• латинские буквы (A-Z, a-z)
• цифры
Имя не может начинаться с цифры!
!
• знак подчеркивания _
Какие имена правильные?
AXby R&B 4Wheel Вася
[QuQu] _ABBA A+B
К.Ю. Поляков, Е.А. Ерёмин, 2018
“PesBarbos” TU154
http://kpolyakov.spb.ru

4.

Программирование (Python), 8 класс
4
Работа с переменными
Присваивание (запись значения)
оператор
a == 5
присваивания
a = 5
a = 18
a ←5
? Что будет храниться в a?
Вывод на экран
print(a)
? В чём разница?
с = 14
print(c)
14
К.Ю. Поляков, Е.А. Ерёмин, 2018
с = 14
print("с")
c
http://kpolyakov.spb.ru

5.

Программирование (Python), 8 класс
5
Работа с переменными
Изменение значения
увеличить на 1
i = i + 1
i ← i + 1
Python:
a
b
4
a = 4
a, b = 4, 7
7
b = 7
5
a = a + 1
a
+=
1
8
b = b + 1
b += 1
13
a = a + b
a += b
21
15
b = b + a
b += a
36
a = a + 2
a += 2
b = b + a
b += a
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

6.

Программирование (Python), 8 класс
6
Ввод с клавиатуры
Цель – изменить исходные данные, не меняя программу.
5
a = input()
! 1. Программа ждет, пока пользователь введет
значение и нажмет Enter.
2. Введенное значение записывается в
переменную a.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

7.

Программирование (Python), 8 класс
7
Ввод с клавиатуры
ввести строку с клавиатуры и
связать с переменной a
a = input()
b = input()
с = a + b
Протокол:
21
33
2133
print ( c )
? Почему?
! Результат функции input – строка символов!
преобразовать в
целое число
a = int( input() )
b = int( input() )
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

8.

Программирование (Python), 8 класс
8
Ввод с подсказкой
Введите число: 26
a = input( "Введите число: " )
?
подсказка
Что не так?
a = int( input("Введите число: ") )
? Что будет?
Введите число:
преобразовать в
целое число
Qu-Qu
ValueError: invalid literal for int() with base 10: 'Qu-Qu'
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

9.

Программирование (Python), 8 класс
9
Ввод вещественных чисел
print( "Введите число:" )
x = float
float (input())
или так:
x = float
float (input("Введите число:"))
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

10.

Программирование (Python), 8 класс
10
Программа сложения чисел
a = int ( input() )
b = int ( input() )
c=a+b
print ( c )
ожидание:
Введите два числа:
5
7
5+7=12
? Что плохо?
реальность:
5
7
12
? Как улучшить диалог?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

11.

Программирование (Python), 8 класс
11
Вывод данных с текстом
значение a
значение b
5+7=12
значение с
текст
print(a, "+", b, "=", c)
ожидание:
реальность:
5+7=12
5 + 7 = 12
это пробелы не заказывали!
sep=""
print(a, "+", b, "=", c, sep=""
)
separator
К.Ю. Поляков, Е.А. Ерёмин, 2018
пустой
http://kpolyakov.spb.ru

12.

Программирование (Python), 8 класс
12
Программа сложения чисел
print ( "Введите два числа: " )
a = int ( input() )
b = int ( input() )
c=a+b
print(a, "+", b, "=", c)
Как переделать для 3-х чисел?
?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

13.

Программирование (Python), 8 класс
13
Арифметические выражения
c b 1
a
d
2
Линейная запись (в одну строку):
a = (c + b - 1) / 2 * d
Операции:
+ –
* – умножение
/ – деление
** – возведение в степень (x2 x**2)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

14.

Программирование (Python), 8 класс
14
Порядок выполнения операций
3
1
2
4
5
6
a = (c + b**5*3 - 1) / 2 * d
Приоритет (старшинство):
c b 5 3 1
a
d
1)скобки
2
2)возведение в степень **
3)умножение и деление
4)сложение и вычитание
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

15.

Программирование (Python), 8 класс
15
Деление
Классическое деление:
Целочисленное деление
(округление «вниз»!):
К.Ю. Поляков, Е.А. Ерёмин, 2018
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
http://kpolyakov.spb.ru

16.

Программирование (Python), 8 класс
16
Частное и остаток
// – деление нацело (остаток отбрасывается)
% – остаток от деления
175 сек = 2 мин 55 сек
? Как получить 2 и 55?
t = 175
m = t // 60 # 2
s = t % 60 # 55
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

17.

Программирование (Python), 8 класс
17
Частное и остаток
? Что получится?
n = 123
d = n // 10 # 12
k = n % 10 # 3
При делении на 10 нацело отбрасывается последняя цифра
числа.
Остаток от деления на 10 – это последняя цифра числа.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru

18.

Программирование (Python), 8 класс
18
Операторы // и %
a = 1234
d = a % 10; print( d )
a = a // 10 # 123
d = a % 10; print( d )
a = a // 10 # 12
d = a % 10; print( d )
a = a // 10 # 1
d = a % 10; print( d )
a = a // 10 # 0
К.Ю. Поляков, Е.А. Ерёмин, 2018
4
3
2
1
http://kpolyakov.spb.ru
English     Русский Rules