Программирование на языке Python
Что такое алгоритм?
Свойства алгоритма
Программирование на языке Python
Вывод на экран
Переменные
Имена переменных
Типы переменных
Как записать значение в переменную?
Ввод значения с клавиатуры
Ввод значения с клавиатуры
Ввод двух значений в одной строке
Ввод с подсказкой
Изменение значений переменной
Вывод данных
Программирование на языке Python
Арифметическое выражения
Деление
Остаток от деления
Сокращенная запись операций
Стандартные функции
Напишите программу вычисления периметра прямоугольника по двум его сторонам.
Домашнее задание
1.14M
Категория: ПрограммированиеПрограммирование

Что такое алгоритм?

1. Программирование на языке Python

1
Программирование
на языке Python
§ 54. Алгоритм и его
свойства
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

2. Что такое алгоритм?

Алгоритмизация и программирование, язык Python, 10 класс
2
Что такое алгоритм?
Алгоритм — это точное описание
порядка действий, которые должен
выполнить исполнитель для решения
задачи за конечное время.
Исполнитель – это устройство или
одушёвленное существо (человек),
способное понять и выполнить
команды, составляющие алгоритм.
Мухаммед ал-Хорезми
(ок. 783–ок. 850 гг.)
Формальные исполнители: не понимают
(и не могут понять) смысл команд.
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

3. Свойства алгоритма

Алгоритмизация и программирование, язык Python, 10 класс
3
Свойства алгоритма
Дискретность — алгоритм состоит из отдельных команд,
каждая из которых выполняется за конечное время.
Детерминированность (определённость) — при каждом
запуске алгоритма с одними и теми же исходными
данными получается один и тот же результат.
Понятность — алгоритм содержит только команды,
входящие в систему команд исполнителя.
Конечность (результативность) — для корректного
набора данных алгоритм должен завершаться через
конечное время.
Корректность — для допустимых исходных данных
алгоритм должен приводить к правильному результату.
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

4. Программирование на языке Python

4
Программирование
на языке Python
§ 55. Простейшие программы
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

5. Вывод на экран

Алгоритмизация и программирование, язык Python, 10 класс
5
Вывод на экран
print ( "2+2=?" )
print ( "Ответ: 4" )
автоматический
переход на новую
строку
Протокол:
2+2=?
Ответ: 4
К.Ю. Поляков, Е.А. Ерёмин, 2014
print ( '2+2=?' )
print ( 'Ответ: 4' )
http://kpolyakov.spb.ru

6. Переменные

Алгоритмизация и программирование, язык Python, 10 класс
6
Переменные
Переменная – это величина, имеющая имя, тип
и значение. Значение переменной можно
изменять во время работы программы.
Значение
Имя
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

7. Имена переменных

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

8. Типы переменных

Алгоритмизация и программирование, язык Python, 10 класс
8
Типы переменных
a=4
print ( type(a) )
<class 'int'>
a = 4.5
print ( type(a) )
<class 'float'>
a = "Вася"
print ( type(a) )
<class 'str'>
a = True
print ( type(a) )
<class 'bool'>
К.Ю. Поляков, Е.А. Ерёмин, 2014
целое число (integer)
вещественное число
символьная строка
логическая
http://kpolyakov.spb.ru

9. Как записать значение в переменную?

Алгоритмизация и программирование, язык Python, 10 класс
9
Как записать значение в переменную?
! При записи нового значения
оператор
присваивания
a = 5
a = 7
старое удаляется из памяти!
a
5
7
Оператор – это команда языка
программирования (инструкция).
Оператор присваивания – это команда для
записи нового значения переменной.
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

10. Ввод значения с клавиатуры

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

11. Ввод значения с клавиатуры

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

12. Ввод двух значений в одной строке

Алгоритмизация и программирование, язык Python, 10 класс
12
Ввод двух значений в одной строке
a, b = map ( int, input().split() )
21 33 input()
ввести строку с клавиатуры
21 33 input().split()
целые
применить
разделить строку на
части по пробелам
21 33 map ( int, input().split() )
эту
операцию
к каждой части
a, b = map ( int, input().split() )
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

13. Ввод с подсказкой

Алгоритмизация и программирование, язык Python, 10 класс
13
Ввод с подсказкой
a = input ( "Введите число: " )
Введите число: 26
подсказка
? Что не так?
a = int( input("Введите число: ") )
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

14. Изменение значений переменной

Алгоритмизация и программирование, язык Python, 10 класс
14
Изменение значений переменной
a = 5
b = a + 2
a = (a + 2)*(b – 3)
b = b + 1
28
a
b
=(5+2)*(7-3)
5
7
=5+2
8
=7+1
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

15. Вывод данных

Алгоритмизация и программирование, язык Python, 10 класс
15
Вывод данных
print ( a )
значение
переменной
значение и
текст
print ( "Ответ: ", a )
перечисление через запятую
print ( "Ответ: ", a+b )
вычисление
выражения
print ( a, "+", b, "=", c )
2 + 3 = 5
через пробелы
print ( a, "+", b, "=", c, sep = "" )
2+3=5
К.Ю. Поляков, Е.А. Ерёмин, 2014
убрать разделители
http://kpolyakov.spb.ru

16. Программирование на языке Python

16
Программирование
на языке Python
§ 56. Вычисления
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

17. Арифметическое выражения

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

18. Деление

Алгоритмизация и программирование, язык Python, 10 класс
18
Деление
Классическое деление:
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
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

19. Остаток от деления

Алгоритмизация и программирование, язык Python, 10 класс
19
Остаток от деления
% – остаток от деления
d = 85
b = d // 10
# 8
a = d % 10
# 5
d = a % b
# 5
d = b % a
# 3
Для отрицательных чисел:
a = -7
b = a // 2
d = a % 2
К.Ю. Поляков, Е.А. Ерёмин, 2014
# -4
# 1
! Как в математике!
остаток 0
-7 = (-4)*2 + 1
http://kpolyakov.spb.ru

20. Сокращенная запись операций

Алгоритмизация и программирование, язык Python, 10 класс
20
Сокращенная запись операций
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
К.Ю. Поляков, Е.А. Ерёмин, 2014
a += 1
увеличение на 1
http://kpolyakov.spb.ru

21. Стандартные функции

Алгоритмизация и программирование, язык Python, 10 класс
21
Стандартные функции
abs(x) — модуль числа
int(x) — преобразование к целому числу
round(x) — округление
подключить
import math
математический модуль
math.pi
— число «пи»
math.sqrt(x) — квадратный корень
math.sin(x) — синус угла, заданного в радианах
math.cos(x) — косинус угла, заданного в радианах
math.exp(x) — экспонента ех
math.ln(x)
— натуральный логарифм
math.floor(x) — округление «вниз»
math.ceil(x) — округление «вверх»
x = math.floor(1.6)# 1
x = math.ceil(1.6) # 2
К.Ю. Поляков, Е.А. Ерёмин, 2014
x = math.floor(-1.6) #-2
x = math.ceil(-1.6) #-1
http://kpolyakov.spb.ru

22.

print ("введите значение стороны
квадрата")
a=int(input())
S=a*a
print ("площадь квадрата равна ", S)

23. Напишите программу вычисления периметра прямоугольника по двум его сторонам.

Что дано?
Стороны a и b
Что найти?
Периметр - P
Формула периметра?
P=a+a+b+b=2a+2b=2(a+b)

24.

Какие переменные нужны для работы?
a (сторона),b (сторона),P (периметр).
Откуда возьмем значения a, b?
Пользователь введет с клавиатуры
Как это записать?
print ("введите длины сторон прямоугольника")
a=int(input())
b=int(input())

25.

Известны длины сторон. Что делать дальше?
вычислять P (периметр).
По какой формуле?
P=2(a+b)
Какую строку добавим в программу?
print ("введите длины сторон прямоугольника")
a=int(input())
b=int(input())
P=2*(a+b)

26.

Задача выполнена?
Нет. Пользователь не видит ответ
Что делать?
Добавить оператор print
Какую строку добавим в программу?
print ("введите длины сторон прямоугольника")
a=int(input())
b=int(input())
P=2*(a+b)
print ("Периметр прямоугольника равен", P)

27. Домашнее задание

Составить
программу,
позволяющую
определять, сколько секунд в сутках.
Количество
суток
запрашивается
у
пользователя программы.
Вычислить
стоимость
мебельного
гарнитура, содержащего 4 стула, 2 кресла и
1 стол. Стоимость одного стула A рублей,
одного кресла - B рублей и одного стола – C
рублей. Числа А, B, C запрашиваются у
пользователя.
English     Русский Правила