Похожие презентации:
питон 1
1. Программирование на языке Python
Алгоритм и его свойства2.
Что такое алгоритм?Алгоритм — это точное описание порядка действий,
которые должен выполнить исполнитель для решения
задачи за конечное время.
Исполнитель – это устройство или одушёвленное
существо (человек), способное понять и
выполнить команды, составляющие алгоритм.
Формальные исполнители: не понимают
(и не могут понять) смысл команд.
Мухаммед ал-Хорезми
(ок. 783–ок. 850 гг.)
3. Свойства алгоритма
Дискретность — алгоритм состоит из отдельных команд, каждая из которыхвыполняется за конечное время.
Детерминированность (определённость) — при каждом запуске алгоритма с
одними и теми же исходными данными получается один и тот же результат.
Понятность — алгоритм содержит только команды, входящие в систему
команд исполнителя.
Конечность (результативность) — для корректного набора данных алгоритм
должен завершаться через конечное время.
Корректность — для допустимых исходных данных алгоритм должен
приводить к правильному результату.
Массовость — алгоритм можно использовать для разных исходных данных.
4. Программирование на языке Python
Простейшие программы5.
6.
7. Простейшая программа
# Это пустая программа? Что делает эта программа?
комментарии после #
не обрабатываются
кодировка utf-8
по умолчанию)
# coding: utf-8
# Это пустая программа
"""
Это тоже комментарий
"""
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Вывод на экранprint ( "2+2=?" )
print ( "Ответ: 4" )
автоматический
переход на новую
строку
Протокол:
2+2=?
Ответ: 4
print ( '2+2=?' )
print ( 'Ответ: 4' )
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33. Задания
1. Вывести на экран текст «лесенкой»Вася
пошел
гулять
2. Вывести на экран рисунок из букв
Ж
ЖЖЖ
ЖЖЖЖЖ
ЖЖЖЖЖЖЖ
HH HH
ZZZZZ
3. Исправь ошибки в программе.
print(1024 765)
print('a=', 7)
print(Я учу Python)
Входные данные
Выходные данные
1024 765
a= 7
Я учу Python
34.
4. Программа должна выводить на экран 2 числа: 15 и78. Найди ошибку в программе и исправь.
print(15 78)
Входные данные
Выходные данные
15 78
5. Напиши программу, которая приветствует мир.
Пример результата программы: Hello, World!
Входные данные
Выходные данные
6. Напечатай программу, которая выведет на экран
следующие строки:
Программист востребованная профессия.
Входные данные
Выходные данные
Программист востребованная профессия.
7. Вычисли сумму чисел (556 и 159), используя функцию
print.
Результат программы должен выглядеть так: Сумма
чисел: ***
Hello, World!
Входные данные
Выходные данные
Сумма чисел: 715
35.
8. Петя хочет купить новый костюм в игре, сейчас нанего скидка 17%. Сколько стоит костюм, если раньше
его можно было купить за 2397 рублей?
Напиши программу, которая вычислит и выведет на
экран стоимость костюма.
Входные данные
Выходные данные
1989.51
9. Цена проживания в отеле за 1 сутки составляет 3500
руб. в будни и 4000 руб. в выходные дни. Гость заехал
в отель во вторник и прожил в отеле 6 суток. Напиши
программу которая вычислит и выведет на экран
стоимость проживания гостя в отеле (необходимо
вывести только число, без единиц измерения).
Входные данные
Выходные данные
22000
36. Сложение чисел
Задача. Ввести с клавиатуры два числа и найти их сумму.Протокол:
Введите два целых числа
25
30
25+30=55
? 1. Как ввести числа в память?
2. Где хранить введенные числа?
3. Как вычислить?
4. Как вывести результат?
37. Сумма: псевдокод
ввести два числавычислить их сумму
вывести сумму на экран
Псевдокод – алгоритм на
русском языке с элементами
языка программирования.
! Компьютер не может исполнить псевдокод!
38.
39.
40. Переменные
Переменная – это величина, имеющая имя, типи значение. Значение переменной можно
изменять во время работы программы.
Значение
Имя
41.
42. Имена переменных
МОЖНО использовать• латинские буквы (A-Z, a-z)
заглавные и строчные буквы различаются
• русские буквы (не рекомендуется!)
• цифры
имя не может начинаться с цифры
• знак подчеркивания _
НЕЛЬЗЯ использовать
• скобки
• знаки +, =, !, ? и др.
Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos”
TU154 [QuQu] _ABBA A+B
43.
44.
45.
46.
Типы переменных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'>
целое число (integer)
вещественное число
символьная строка
логическая
47. Зачем нужен тип переменной?
Тип определяет:• область допустимых значений
• допустимые операции
• объём памяти
• формат хранения данных
48.
Ввод значения с клавиатурыa
!
5
1. Программа ждет, пока пользователь введет значение и нажмет
Enter.
2. Введенное значение записывается в переменную a (связывается
с именем a)
49. Ввод значения с клавиатуры
a = input()b = input()
ввести строку с клавиатуры
и связать с переменной a
Протокол:
21
33
2133
с=a + b
print ( c )
? Почему?
! Результат функции input – строка символов!
преобразовать в
целое число
a = int( input() )
b = int( input() )
50.
51. Ввод с подсказкой
a = input ( "Введите число: " )Введите число: 26
подсказка
? Что не так?
a = int( input("Введите число: ") )
52. Изменение значений переменной
a = 5b = a + 2
a = (a + 2)*(b – 3)
b = b + 1
28
a
b
=(5+2)*(7-3)
5
7
=5+2
8
=7+1
53. Вывод данных
print ( a )значение
переменной
значение и
текст
print ( "Ответ: ", a )
перечисление через запятую
print ( "Ответ: ", a+b )
вычисление
выражения
print ( a, "+", b, "=", c )
2 + 3 = 5
через пробелы
print ( a, "+", b, "=", c, sep = "" )
2+3=5
убрать разделители
54. Вывод данных через format
print ( a, "+", b, "=", c, sep = "" )2+3=5
print ( "{}+{}={}".format(a, b, c ) )
55.
56.
57.
58.
59.
60.
61.
62. Сложение чисел: простое решение
a = int ( input() )b = int ( input() )
c=a+b
print ( c )
? Что плохо?
63. Сложение чисел: полное решение
print ( "Введите два числа: " )a = int ( input() )
подсказка
b = int ( input() )
c=a+b
print ( a, "+", b, "=", c, sep="" )
Протокол:
компьютер
Введите два целых числа
25
пользователь
30
25+30=55
64.
65.
ЗаданияВвести три числа, найти их сумму.
Пример:
Введите три числа:
4
5
7
4+5+7=16
Ввести три числа, найти их сумму и
произведение.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
Ввести три числа, найти их сумму,
произведение и среднее арифметическое.
Пример:
Введите три числа:
4
5
7
4+5+7=16
4*5*7=140
(4+5+7)/3=5.333333
66.
Создай 2 переменные: name и age. Присвойпеременной name значение “Петя”, а переменной age
значение “15”.
В результате работы программа должна выводить на
экран выражение:
Его имя - Петя
Ему 15 лет!
Входные данные
Выходные данные
Его имя - Петя
Ему 15 лет!
Напиши программу, которая спрашивает у
пользователя любимую игру.
Пример работы программы:
<<В какую игру ты любишь играть? roblox
roblox - крутая игра! Я тоже хочу!
Запусти программу несколько раз с разными
значениями.
Входные данные
roblox
Выходные данные
roblox - крутая игра! Я тоже хочу!
Напиши программу, которая запрашивает имя
пользователя, а потом выводит на экран приветствие.
Пример вывода: Привет, Алиса
Входные данные
Иван
Выходные данные
Привет, Иван!
67.
Программа спрашивает у пользователя“Введи год своего рождения”, а потом
вычисляет возраст пользователя в 2043 году.
Программа выводит: В 2043 году тебе будет
** лет
Входные данные
2005
Выходные данные
В 2043 году тебе будет 38 лет
Пользователь вводит количество дней, а
программа вычисляет сколько минут в этих
днях.
Подсказка:
1 день = 24 часа
1 час = 60 минут
Входные данные
365
Выходные данные
525600
Пользователь вводит 2 вещественных числа. Напиши программу, которая
выводит сумму этих чисел.
Входные данные
3.57
8.7
Выходные данные
12.27
68.
Школа закупает оборудование для классов. Интерактивные доски за 50670р, парты за3807р, стулья за 2600р. Напиши программу, которая будет запрашивать количество
необходимых предметов и выводить на экран необходимый бюджет.
Пример работы программы:
<<Количество интерактивных досок: 3
<<Количество парт: 10
<<Количество стульев: 24
Бюджет: 252480
Входные данные
3
10
24
Выходные данные
Бюджет: 252480
69.
70.
71.
72.
73.
74.
75.
76.
77.
Арифметическое выражения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
c b5 3 1
a
d
2
перенос на
следующую строку
перенос внутри
скобок разрешён
78.
ДелениеКлассическое деление:
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
79.
Остаток от деления% – остаток от деления
d = 85
b = d // 10
# 8
a = d % 10
# 5
d = a % b
# 5
d = b % a
# 3
a = 15
b = 19
d = a // b
a = a % b
# 0
# 15
80. Операторы // и %
a = 1234d = 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
4
3
2
1
81. Сокращенная запись операций
a += b # a = a + ba -= 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
82.
83.
84.
85.
86. Ввод двух значений в одной строке
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() )
87.
1) Напиши программу, которая запрашивает число и 2) Напиши программу, которая запрашивает упользователя два числа: делимое и делитель.
степень числа. Программа возводит число в
Программа вычисляет остаток от деления от этих
степень и выводит результат на экран.
чисел и выводит на экран.
Пример результата программы:
Входные данные
Остаток от деления - 0
56
4
Входные данные
Выходные данные
16
9834496
8
Выходные данные
3) Напиши программу, которая вычислит
Остаток от деления - 0
выражение: 3*x3 + 2*y4+1
Переменная х равна 5, а переменная у равна 12. В
ответе должен быть только результат вычислений.
Используй скобки, чтобы порядок действий был
верный.
4) Пользователь вводит любое целое двузначное число.
Программа умножает его на 16, а потом находит целую
часть от деления на 3 и прибавляет к ней 8. В результате
программа выводит полученное значение.
Входные данные
Выходные данные
498039
Входные данные
25
Выходные данные
141
88.
5. Программа запрашивает сумму счета и прибавляетк нему чаевые - 150 рублей, а потом делает
посетителю скидку 3%. В результате на экран
выводится сумма счета со скидкой.
Подсказка: сумма счета может быть вещественным
числом
6. Пользователь вводит сумму заказа, а потом
количество бонусов, которые хочет списать. Напиши
программу, которая вычисляет сумму заказа, после
списания бонусов.
7. Напиши программу, которая рассчитывает стоимость
товара по акции. Программа должна запрашивать у
пользователя первоначальную цену товара, размер
скидки (размер скидки указывается в %) и выводить
цену товара с учетом скидки (вводятся и выводятся
целые числа).
Входные данные
2200
15
Выходные данные
1870
8. Пользователь вводит длину, ширину и высоту
комнаты. Программа вычисляет площадь и объем
комнаты и выводит на экран.
Входные данные
8
5
2.8
Выходные данные
Площадь комнаты: 40.0
Объем комнаты: 112.0
9. Ввести число, обозначающее количество секунд.
Вывести то же самое время в часах, минутах и секундах.
Пример:
Число секунд:
8325
2 ч. 18 мин. 45 с
89. Виды алгоритмов
90. Ветвление
91. Пример
92.
93.
94.
95.
96.
97. Условный оператор
Задача: изменить порядок действий в зависимости отвыполнения некоторого условия.
полная
форма
да
нет
ветвления
a > b?
M=a
M=b
вывод M
отступы
? Если a = b?
if a > b:
M = a
else:
M = b
98. Условный оператор: неполная форма
M=aда
b > a?
нет
M = a
if b > a:
M = b
M=b
неполная
форма
ветвления
вывод M
Решение в стиле Python:
M = max(a, b)
M = a if a > b else b
99. Условный оператор
if a < b:с = a
a = b
b = c
? Что делает?
b
a
6
2
? Можно ли обойтись
без переменной c?
Решение в стиле Python:
a, b = b, a
4
c
4
100. Знаки отношений
> <больше, меньше
>=
больше или равно
<=
меньше или равно
==
равно
!=
не равно
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
Вложенные условные операторыЗадача: в переменных a и b записаны возрасты Андрея и
Бориса. Кто из них старше?
Сколько вариантов?
if a > b:
print("Андрей старше")
else:
if a == b:
print("Одного возраста")
else:
print("Борис старше")
?
? Зачем нужен?
вложенный
условный оператор
115.
116.
117.
118.
Каскадное ветвлениеif a > b:
print("Андрей старше")
elif a == b:
print("Одного возраста")
else:
print("Борис старше")
! elif = else if
119.
Каскадное ветвлениеcost = 1500
if cost < 1000:
print ( "Скидок нет." )
elif cost < 2000:
первое сработавшее
условие
print ( "Скидка 2%." )
elif cost < 5000:
print ( "Скидка 5%." )
else:
print ( "Скидка 10%." )
? Что выведет?
Скидка 2%.
120.
Сложные условияЗадача: набор сотрудников в возрасте 25-40 лет
(включительно). сложное условие
if v >= 25 and v <= 40 :
print("подходит")
else:
print("не подходит")
and «И»: одновременное выполнение
всех условий!
121.
Сложные условияЗадача: набор сотрудников в возрасте 25-40 лет
(включительно). сложное условие
if v < 25 or v > 40 :
print("не подходит")
else:
print("подходит")
or «ИЛИ»: выполнение хотя бы одного
из двух условий!
122.
Сложные условияif not(a < b):
print("Cтарт!")
? Как без «НЕ»?
not «НЕ»: если выполняется обратное условие
if a >= b:
print("Cтарт!")
Приоритет :
1) отношения (<, >, <=, >=, ==, !=)
2)not («НЕ»)
3)and («И»)
4)or («ИЛИ»)
123. Циклы
124.
Что такое цикл?Цикл – это многократное выполнение одинаковых
действий.
Два вида циклов:
• цикл с известным числом шагов (сделать 10 раз)
• цикл с неизвестным числом шагов (делать, пока не
надоест)
Задача. Вывести на экран 10 раз слово «Привет».
? Можно ли решить известными методами?
125.
Повторения в программеprint("Привет")
print("Привет")
...
print("Привет")
? Что плохо?
126.
127.
128.
Как организовать цикл?счётчик = 0
k=0
пока счётчик < 10:
while k < 10:
print("Привет")
print ( "Привет" )
увеличить счётчик на 1
k += 1
? Как по-другому?
счётчик = 10
k = 10
пока счётчик > 0:
while k > 0:
print("Привет")
print ( "Привет" )
уменьшить счётчик на 1
k -= 1
129.
Сколько раз выполняется цикл?a = 4; b = 6
while a < b: a += 1
2 раза
a=6
a = 4; b = 6
while a < b: a += b
1 раз
a = 10
a = 4; b = 6
while a > b: a += 1
0 раз
a=4
a = 4; b = 6
while a < b: b = a - b
1 раз
b = -2
a = 4; b = 6
while a < b: a -= 1
зацикливание
130.
Цикл с условиемЗадача. Определить количество цифр в десятичной
записи целого положительного числа, записанного в
переменную n.
n
счётчик
счётчик = 0
пока n > 0:
1234
0
отсечь последнюю цифру n
123
1
увеличить счётчик на 1
12
2
? Как отсечь последнюю цифру?
n = n // 10
1
0
3
4
? Как увеличить счётчик на 1?
счётчик = счётчик + 1
счётчик += 1
131.
Цикл с условиемначальное значение
счётчика
заголовок
цикла
условие
продолжения
count = 0
while n > 0 :
n = n // 10
count += 1
тело цикла
! Цикл с предусловием – проверка на входе в цикл!
132.
Ввести с клавиатуры количество повторений и вывестистолько же раз какое-нибудь сообщение.
Пример:
Сколько раз:
5
Привет!
Привет!
Привет!
Привет!
Привет!
Ввести с клавиатуры натуральное число и найти сумму
значений его цифр.
Пример:
Введите число:
1234
Cумма цифр 10
Ввести с клавиатуры натуральное число и определить,
сколько раз в его записи встречается цифра 1.
Пример:
Введите число:
51211
3
Ввести натуральное число и определить, верно ли, что в его
записи есть две одинаковые цифры, стоящие рядом.
Пример:
Введите натуральное число:
12342
Нет.
Пример:
Введите натуральное число:
12245
Да.
133.
Исправь ошибки в программе. Протестируй работупрограммы.
answer = '12'
ans = input ('Сколько месяцев в году имеют 28 дней? ')
while answer == ans
print ('Упс…Попробуй ещё раз!')
ans = input ('Сколько месяцев в году имеют 28 дней? ')
print ('Верный ответ!')
Входные данные
4
5
12
Выходные данные
Упс…Попробуй ещё раз!
Упс…Попробуй ещё раз!
Верный ответ!
В магазине проходит акция “Цены пополам”, для
участия в акции нужно ввести верный промокод - лист.
Допиши программу, чтобы она запрашивала цену и
промокоды, пока пользователь не введет верный.
price = int (input ('Цена: '))
promo = input ('Промокод: ')
print ('Акция недоступна. Введите другой промокод')
print ('Акция действительна! Новая цена -', price /2)
Входные данные
500
код
500
лист
Выходные данные
Акция недоступна. Введите другой промокод
Акция действительна! Новая цена - 250
134.
Напиши программу, котораязадает вопрос “Как дела?”,
пока пользователь не
ответит “лучше всех”.
Если пользователь ответил
“лучше всех”, то программа
выводит на экран “Круто!”
Пример работы программы:
<<Как дела? ок
<<Как дела? норм
<<Как дела? супер
<<Как дела? лучше всех
Круто!
Входные данные
ок
норм
супер
лучше всех
Выходные данные
Напиши программу, которая загадывает загадку “Чем можно поделиться только
один раз?”, пока пользователь не введет верный ответ “секретом”. Программа
считает количество попыток пользователя.
Если пользователь ошибается, программа выводит на экран “Думай лучше” и
задает вопрос снова.
Если пользователь угадал, то программа выводит “Ура! Вы угадали с *
попытки”
Входные данные
Введи число n (при этом n > 1). Напиши
не знаю
программу, которая выведет в столбик
секретом
все числа от 1 до n включительно.
Выходные данные
Входные данные
Думай лучше
Ура! Вы угадали с 2 попытки
6
Выходные данные
1
2
3
4
5
6
Программирование