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

Простейшие программы

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

1
Программирование
на языке Python
§ 54. Алгоритм и его свойства
§ 55. Простейшие программы
§ 56. Вычисления
§ 57. Ветвления
§ 58. Циклические алгоритмы
§ 59. Процедуры
§ 60. Функции
§ 61. Рекурсия
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

2. Python online

2
Python online
https://pythononline.kz/
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

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

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

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

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

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

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

6. Способы записи алгоритмов

Алгоритмизация и программирование, язык Python, 10 класс
6
Способы записи алгоритмов
• естественный язык
установить соединение
пока не принята команда «стоп»
принять команду
выполнить команду
завершить сеанс связи
• псевдокод
установить соединение
начало цикла
принять команду
выполнить команду
конец цикла при команда = 'stop'
завершить сеанс связи
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

7. Способы записи алгоритмов

Алгоритмизация и программирование, язык Python, 10 класс
7
Способы записи алгоритмов
• блок-схема
установить
соединение
принять
команду
выполнить
команду
нет
• программа
установитьСоединение
начало цикла
cmd:= получитьКоманду
выполнитьКоманду(cmd)
конец при cmd = 'stop'
закрытьСоединение
«стоп»?
да
завершить
соединение
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

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

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

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

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

10. Задания

Алгоритмизация и программирование, язык Python, 10 класс
10
Задания
«B»: Вывести на экран текст «лесенкой»
Вася
пошел
гулять
«C»: Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

11. Сложение чисел

Алгоритмизация и программирование, язык Python, 10 класс
11
Сложение чисел
Задача. Ввести с клавиатуры два числа и найти их сумму.
Протокол:
Введите два целых числа
25 30
пользователь
25+30=55
компьютер
компьютер считает сам!
? 1. Как ввести числа в память?
2. Где хранить введенные числа?
3. Как вычислить?
4. Как вывести результат?
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

12. Сумма: псевдокод

Алгоритмизация и программирование, язык Python, 10 класс
12
Сумма: псевдокод
ввести два числа
вычислить их сумму
вывести сумму на экран
Псевдокод – алгоритм на
русском языке с элементами
языка программирования.
! Компьютер не может исполнить псевдокод!
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

13. Переменные

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

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

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

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

Алгоритмизация и программирование, язык Python, 10 класс
15
Типы переменных
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

16. Зачем нужен тип переменной?

Алгоритмизация и программирование, язык Python, 10 класс
16
Зачем нужен тип переменной?
Тип определяет:
• область допустимых значений
• допустимые операции
• объём памяти
• формат хранения данных
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

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

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

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

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

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

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

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

Алгоритмизация и программирование, язык Python, 10 класс
20
Ввод двух значений в одной строке
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

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

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

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

Алгоритмизация и программирование, язык Python, 10 класс
22
Изменение значений переменной
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

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

Алгоритмизация и программирование, язык Python, 10 класс
23
Вывод данных
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

24. Сложение чисел: простое решение

Алгоритмизация и программирование, язык Python, 10 класс
24
Сложение чисел: простое решение
a = int ( input() )
b = int ( input() )
c=a+b
print ( c )
? Что плохо?
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

25. Сложение чисел: полное решение

Алгоритмизация и программирование, язык Python, 10 класс
25
Сложение чисел: полное решение
print ( "Введите два числа: " )
a = int ( input() )
подсказка
b = int ( input() )
c=a+b
print ( a, "+", b, "=", c )
Протокол:
компьютер
Введите два целых числа
25 30
пользователь
25 + 30 = 55
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

26. Форматный вывод

Алгоритмизация и программирование, язык Python, 10 класс
26
Форматный вывод
целое
a = 123
print ( "{:5d}".format(a)
)
5
123
5 знаков
a = 5
print ( "{:5d}{:5d}{:5d}".format
(a, a*a, a*a*a) )
5
25
125
5 знаков 5 знаков 5 знаков
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

27. Задачи

Алгоритмизация и программирование, язык Python, 10 класс
27
Задачи
«A»: Ввести с клавиатуры три целых числа, найти их сумму,
произведение и среднее арифметическое.
Пример:
Введите три целых числа:
5 7 8
5+7+8=20
5*7*8=280
(5+7+8)/3=6.667
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

28.

Алгоритмизация и программирование, язык Python, 10 класс
28
Задача 2. Известны оклад (зарплата) и ставка процента подоходного налога.
Определить размер подоходного налога и сумму, получаемую на руки.
Постановка задачи: Исходными данными являются величина оклада
(переменная oklad, выражаемая числом) и ставка подоходного налога (перем
енная procent, выражаемая числом). Размер налога (переменная nalog) опр
еделяется как oklad*procent/100, а сумма, получаемая на руки (переменная
summa) — как okladnalog .
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

29.

Алгоритмизация и программирование, язык Python, 10 класс
29
Задача 3. Напишите программу, которая
получает с клавиатуры количество секунд и
выводит то же самое время в часах, минутах и
секундах.
Задача 4. Занятия в школе начинаются в 8-30. Урок
длится 45 минут, перерывы между уроками – 10
минут. Напишите программу, которая получает с
клавиатуры номер урока и выводит время его
окончания.
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

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

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

31. Типы данных

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

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

Алгоритмизация и программирование, язык Python, 10 класс
32
Арифметическое выражения
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

33. Деление

Алгоритмизация и программирование, язык Python, 10 класс
33
Деление
Классическое деление:
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

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

Алгоритмизация и программирование, язык Python, 10 класс
34
Остаток от деления
% – остаток от деления
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

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

Алгоритмизация и программирование, язык Python, 10 класс
35
Сокращенная запись операций
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

36. Вещественные числа

Алгоритмизация и программирование, язык Python, 10 класс
36
Вещественные числа
! Целая и дробная части числа разделяются
точкой!
Форматы вывода:
x = 123.456
print( x )
123.456
print("{:10.2f}".format(x))
123.46
всего знаков
в дробной части
print("{:10.2g}".format(x))
1.2e+02
значащих цифр
К.Ю. Поляков, Е.А. Ерёмин, 2014
1,2 102
http://kpolyakov.spb.ru

37. Вещественные числа

Алгоритмизация и программирование, язык Python, 10 класс
37
Вещественные числа
Экспоненциальный формат:
3,333333 10–5
x = 1./30000
print("{:e}".format(x)) 3.333333e-05
x = 12345678.
print("{:e}".format(x)) 1.234568e+07
1,234568 107
x = 123.456
print("{:e}".format(x)) 1.234560e+02
print("{:10.2e}".format(x))
1.23e+02
всего знаков
К.Ю. Поляков, Е.А. Ерёмин, 2014
в дробной части
http://kpolyakov.spb.ru

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

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

39. Генератор случайных чисел

Алгоритмизация и программирование, язык Python, 10 класс
39
Генератор случайных чисел
import random
англ. random – случайный
Целые числа на отрезке [a,b]:
X = random.randint(1,6) # псевдосл. число
Y = random.randint(1,6) # уже другое!
Генератор на [0,1):
X = random.random()
Y = random.random()
# псевдослучайное число
# это уже другое число!
Генератор на [a, b] (вещественные числа):
X = random.uniform(1.2, 3.5)
Y = random.uniform(1.2, 3.5)
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

40. Генератор случайных чисел

Алгоритмизация и программирование, язык Python, 10 класс
40
Генератор случайных чисел
from random import *
подключить все!
Целые числа на отрезке [a,b]:
X = randint(10,60) # псевдослучайное число
Y = randint(10,60) # это уже другое число!
Генератор на [0,1):
X = random(); # псевдослучайное число
Y = random() # это уже другое число!
Генератор на [a, b] (вещественные числа):
X = uniform(1.2, 3.5) # псевдосл. число
Y = uniform(1.2, 3.5) # уже другое число!
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

41. Задачи

Алгоритмизация и программирование, язык Python, 10 класс
41
Задачи
«1»: Ввести с клавиатуры координаты двух точек (A и B) на
плоскости (вещественные числа). Вычислить длину
отрезка AB.
Пример:
Введите координаты точки A:
5.5 3.5
Введите координаты точки B:
1.5 2
Длина отрезка AB = 4.272
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

42. Задачи

Алгоритмизация и программирование, язык Python, 10 класс
42
Задачи
«2»: Получить случайное трехзначное число и вывести
через запятую его отдельные цифры.
Пример:
Получено число 123.
Его цифры 1, 2, 3.
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru

43. Задачи

Алгоритмизация и программирование, язык Python, 10 класс
43
Задачи
«3»: Напишите программу, которая получает с
клавиатуры четырёхзначное натуральное число и
переставляет его первую и последнюю цифры.
Например, из числа 1234 должно получиться число 4231
К.Ю. Поляков, Е.А. Ерёмин, 2014
http://kpolyakov.spb.ru
English     Русский Rules