Содержание
- 2. Программирование (Python) § 17. Введение
- 3. Что такое программирование? Программирование — это создание программ для компьютеров. Этим занимаются программисты. Чем занимаются программисты:
- 4. Направления в программировании
- 5. Системы программирования Системы программирования — это средства для создания новых программ. Транслятор — это программа, которая
- 6. Системы программирования Отладчик — это программа для поиска ошибок в других программах. пошаговый режим — выполнение
- 7. Вывод на экран print( "Привет!" ) оператор вывода Оператор — это команда языка программирования. print( "Привет",
- 8. Переход на новую строку print( "Привет, Вася!" ) print( "Привет, Петя!" ) Результат: Привет, Вася! Привет,
- 9. Программирование (Python) § 18. Линейные программы
- 10. # ввести три числа # вычислить доход на одного # вывести доход на экран Зачем нужны
- 11. Имена переменных Идентификатор — это имя программы или переменной. a b c МОЖНО использовать латинские буквы
- 12. Работа с переменными Присваивание (запись значения) a = 5 = оператор присваивания a = 5 a
- 13. Ввод с клавиатуры Цель – изменить исходные данные, не меняя программу. a = input() 5 a
- 14. Ввод с клавиатуры a = input() ввести строку с клавиатуры и связать с переменной a b
- 15. Ввод с подсказкой a = input( "Введите число: " ) подсказка Введите число: Qu-Qu a =
- 16. Ввод вещественных чисел print( "Введите число:" ) x = float (input()) или так: x = float
- 17. Программа сложения чисел ожидание: реальность: Введите два числа: 5 7 5+7=12 5 7 12 a =
- 18. Вывод данных с текстом 5+7=12 значение a значение с значение b print(a, "+", b, "=", c)
- 19. Задачи «A»: Ввести три числа, найти их сумму. Пример: Введите три числа: 4 5 7 4+5+7=16
- 20. Задачи «C»: Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа:
- 21. Арифметические выражения Линейная запись (в одну строку): a = (c + b - 1) / 2
- 22. Порядок выполнения операций a = (c + b**5*3 - 1) / 2 * d Приоритет (старшинство):
- 23. Деление Классическое деление: a = 9; b = 6 x = 3 / 4 # =
- 24. Частное и остаток // – деление нацело (остаток отбрасывается) % – остаток от деления t =
- 25. Частное и остаток n = 123 d = n // 10 # 12 k = n
- 26. Операторы // и % a = 1234 d = a % 10; print( d ) a
- 27. Работа с переменными Изменение значения i = i + 1 увеличить на 1 a = 4
- 28. Сокращенная запись операций a += b # a = a + b a -= b #
- 29. Задачи «A»: Ввести число, обозначающее количество секунд. Вывести то же самое время в минутах и секундах.
- 30. Задачи «С»: Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками –
- 31. print( f"x={x:10.3f}" ) Форматный вывод x=12.345678 print( f"x={x}" ) x=12.345678 x= 12.346 3 10 всего на
- 32. Форматный вывод x=12.34 x=12.3 print( f"x={x:2.2f}" ) print( f"x={x:0.1f}" ) минимально возможное x=12.34 print( f"x={x:.2f}" )
- 33. Научный формат чисел x=123456789 print( f"x={x:e}" ) x=1.234568e+008 1,234568 ⋅108 x=0.0000123456789 print( f"x={x:e}" ) x=1.234568e-005 1,234568
- 34. Операции с вещественными числами x=1.6 print( int(x) ) int – целая часть числа 1 x=-1.2 print(
- 35. Математические функции import math # квадратный корень print( math.sqrt(25) ) r = 50 # радиус окружности
- 36. Операции с вещественными числами 1/3 = 0,33333… бесконечно много знаков x = 1/2 y = 1/3
- 37. Задачи «A»: Ввести число, обозначающее размер одной фотографии в Мбайтах. Определить, сколько фотографий поместится на флэш-карту
- 38. Задачи «B»: Оцифровка звука выполняется в режиме стерео с частотой дискретизации 44,1 кГц и глубиной кодирования
- 39. Задачи «С»: Разведчики-математики для того, чтобы опознать своих, используют числовые пароли. Услышав число-пароль, разведчик должен возвести
- 40. Случайные и псевдослучайные числа Случайные явления встретил слона – не встретил слона жеребьёвка на соревнованиях лотерея
- 41. Случайные и псевдослучайные числа Псевдослучайные числа — похожи на случайные, но строятся по формуле. Xn+1= (a*Xn+b)
- 42. Датчик случайных чисел Целые числа на отрезке: from random import randint K = randint(1, 6) #
- 43. Датчик случайных чисел Вещественные числа: from random import random, uniform x = random() # полуинтервал [0,1)
- 44. Задачи «A»: В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из которых
- 45. Задачи «С»: + Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел составляется
- 46. Задачи «D»: + Получить случайное трёхзначное число и вывести в столбик его отдельные цифры. Пример: Получено
- 47. Программирование (Python) § 19. Ветвления
- 48. Выбор наибольшего из двух чисел Задача: изменить порядок действий в зависимости от выполнения некоторого условия. полная
- 49. Вариант 1. Программа print("Введите два целых числа") a = int(input()) b = int(input()) if a >
- 50. Выбор наибольшего из двух чисел-2 неполная форма ветвления
- 51. Вариант 2. Программа print("Введите два целых числа") a = int(input()) b = int(input()) M = a
- 52. Примеры if a M = a if b M = b Поиск минимального:
- 53. Примеры if a c = a a = b b = c if a c =
- 54. В других языках программирования if a c:= a; a:= b; b:= c; end; Паскаль: С: if
- 55. Знаки отношений > >= == != больше, меньше больше или равно меньше или равно равно не
- 56. Вложенные условные операторы if a > b: print("Андрей старше") else: if a == b: print("Одного возраста")
- 57. Каскадное ветвление if a > b: print("Андрей старше") elif a == b: print("Одного возраста") else: print("Борис
- 58. Каскадное ветвление cost = 1500 if cost print ( "Скидок нет." ) elif cost print (
- 59. Задачи (без функций min и max!) «A»: Ввести два целых числа, найти наибольшее и наименьшее из
- 60. Задачи «C»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше. Пример: Возраст
- 61. Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и
- 62. Плохое решение print("Введите ваш возраст") v = int(input()) if v >= 25: if v print("Подходит!") else:
- 63. Хорошее решение (операция «И») if : print("подходит") else: print("не подходит") and v >= 25 and v
- 64. Примеры Задача. Вывести "Да", если число в переменной a – двузначное. if 10 print("Да") Задача. Вывести
- 65. Сложные условия: «ИЛИ» Задача. Самолёт летает по понедельникам и четвергам. Ввести номер дня недели и определить,
- 66. Ещё пример Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и
- 67. Сложные условия: «НЕ» if not(a print("Cтарт!") not «НЕ»: если выполняется обратное условие if a >= b:
- 68. Простые и сложные условия Простые условия (отношения) >= == != Сложное условие – это условие, состоящее
- 69. Порядок выполнения операций выражения в скобках , >=, =, != not and or 1 if not
- 70. Сложные условия Истинно или ложно not (a > b) a a > c or b >
- 71. Задачи «A»: Напишите программу, которая получает три числа - рост трёх спортсменов, и выводит сообщение «По
- 72. Задачи «B»: Напишите программу, которая получает номер месяца и выводит соответствующее ему время года или сообщение
- 73. Задачи «C»: Напишите программу, которая получает возраст человека (целое число, не превышающее 120) и выводит этот
- 74. Логические переменные b = True b = False type(b) только два возможных значения Пример: freeDay =
- 75. Задачи «A»: Напишите программу, которая получает с клавиатуры целое число и записывает в логическую переменную значение
- 76. Задачи «B»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение
- 77. Задачи «С»: Напишите программу, которая получает с клавиатуры трёхзначное число и записывает в логическую переменную значение
- 78. Экспертная система Экспертная система — это компьютерная программа, задача которой — заменить человека-эксперта при принятии решений
- 79. Дерево решений хищник ? птица да да нет нет млекопитающее Кормит детей молоком? Имеет перья? Ест
- 80. Программирование экспертной системы Ответы пользователя: да и нет – символьные строки. ans = input("Кормит детей молоком?
- 81. Заглавные и строчные буквы if ans == "да": ... не сработает на "Да" if ans ==
- 82. Программирование (Python) § 23. Отладка программ
- 83. Виды ошибок Синтаксические ошибки – нарушение правил записи операторов языка программирования. Обнаруживаются транслятором. Логические ошибки –
- 84. Пример отладки программы from math import sqrt print("Введите a, b, c: ") a = float(input()) b
- 85. Тестирование Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0 x2=-1.0
- 86. Отладочная печать a = float(input()) b = float(input()) c = float(input()) print(a, b, c) D =
- 87. Отладочная печать Введите a, b, c: 1 -5 6 1.0 -5.0 6.0 D= 21.0 Результат: D=
- 88. Отладка программы Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0
- 89. Задачи «A»: Загрузите программу, которая должна вычислять сумму цифр трёхзначного числа: N = input(int("N = "))
- 90. Задачи «B»: Доработайте программу из п. А так, чтобы она правильно работала с отрицательными трёхзначными числами:
- 91. Задачи «С»: Загрузите программу, которая должна вычислять наибольшее из трёх чисел: a = input("a = ")
- 92. Программирование (Python) § 20. Программирование циклических алгоритмов
- 93. Зачем нужен цикл? Задача. Вывести 5 раз «Привет!». print("Привет") print("Привет") print("Привет") print("Привет") print("Привет") Цикл «N раз»:
- 94. Как работает цикл? переменная-счётчик счётчик = 0 пока счётчик print("Привет") счётчик = счётчик + 1 ещё
- 95. c = 5 while c > 0: print("Привет") c -= 1 Ещё один вариант счётчик =
- 96. Цикл с предусловием условие проверяется при входе в цикл как только условие становится ложным, работа цикла
- 97. Сколько раз выполняется цикл? a = 4; b = 6 while a 2 раза a =
- 98. Сумма цифр числа Задача. Вычислить сумму цифр введённого числа. 123 → 1 + 2 + 3
- 99. Сумма цифр числа выделяем последнюю цифру числа (%) увеличиваем сумму на значение цифры (s+=d) отсекаем последнюю
- 100. Сумма цифр числа начало конец нет да N != 0? s= 0 d = N %
- 101. Сумма цифр числа N = int(input("Введите целое число")) s = 0 print("Сумма цифр числа", N, "
- 102. Задачи «A»: Напишите программу, которая получает с клавиатуры количество повторений и выводит столько же раз какое-нибудь
- 103. Задачи «C»: Напишите программу, которая получает с клавиатуры натуральное число и находит наибольшую цифру в его
- 104. Алгоритм Евклида Задача. Найти наибольший общий делитель (НОД) двух натуральных чисел. Евклид (365-300 до. н. э.)
- 105. Алгоритм Евклида a = b? да нет a > b? да a=a-b нет b=b-a начало конец
- 106. Алгоритм Евклида while a != b: if a > b: a = a - b else:
- 107. Модифицированный алгоритм Евклида НОД(a,b)= НОД(a % b, b) = НОД(a, b % a) Заменяем большее из
- 108. Модифицированный алгоритм while a != 0 and b != 0: if a > b: a =
- 109. В стиле Python while b!=0: a, b = b, a % b print(a) заменить a на
- 110. В других языках программирования С++: while (a!=0 && b!=0) { if (a > b) a =
- 111. Задачи «A»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью алгоритма Евклида.
- 112. Задачи «C»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их
- 113. Обработка потока данных Задача. На вход программы поступает поток данных — последовательность целых чисел, которая заканчивается
- 114. Обработка потока данных s = 0 x = int(input()) # первое число while x!=0: s +=
- 115. Задачи «A»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём. Определить, сколько получено
- 116. Задачи на циклы (дополнительные) «A»: Напишите программу, которая предлагает ввести число-пароль и не переходит к выполнению
- 117. Задачи «D»: Напишите программу, которая получает с клавиатуры натуральное число и вычисляет целый квадратный корень из
- 118. Цикл по переменной Задача. Вывести на экран степени числа 2 от 20 до 210. k =
- 119. Цикл по переменной for k in range(11): print(k) 0 1 2 … 10 Начать на с
- 120. Цикл по переменной Задача. Найти сумму чисел от 1 до 1000. S = 0 for i
- 121. Цикл по переменной Задача. Найти сумму чётных чисел от 2 до 1000. S = 0 for
- 122. В других языках программирования С: int S, i; S = 0; for (i=1; i S +=
- 123. Задачи «A»: Напишите программу, которая находит количество четырёхзначных чисел, которые делятся на 7. «B»: Ипполит задумал
- 124. Задачи «D»: Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где
- 125. Программирование (Python) § 21. Массивы
- 126. Что такое массив? Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних
- 127. Обращение к элементу массива A массив 2 15 НОМЕР элемента массива (ИНДЕКС) A[0] A[1] A[2] A[3]
- 128. Обращение к элементу массива i = 1 A[2] = A[i] + 2*A[i-1] + A[2*i+1] print( A[2]+A[4]
- 129. Создание массива A = [11, 22, 35, 41, 53] A = [11, 22] + [35, 41]
- 130. Что неверно? A = [1, 2, 3, 4, 5] x = 1 print( A[x-8] ) A[x+4]
- 131. Перебор элементов массива Перебор элементов: просматриваем все элементы массива и, если нужно, выполняем с каждым из
- 132. Заполнение массива for i in range(N): A[i] = i В развёрнутом виде A[0] = 0 A[1]
- 133. X = N Заполнение массива в обратном порядке A[0] = N A[1] = N-1 A[2] =
- 134. Заполнение массива в обратном порядке A[i] = X –1 +1 i + X = N X
- 135. Вывод массива на экран for i in range(N): print( A[i] ) или так: в столбик Весь
- 136. Вывод массива на экран (Python) print ( *A ) разбить список на элементы print (1, 2,
- 137. Ввод с клавиатуры for i in range(N): s = "A[" + str(i) + "]=" A[i] =
- 138. Ввод с клавиатуры (Python) Ввод всех чисел в одной строке: data = input() # "1 2
- 139. В других языках программирования const N = 10; var A: array[0..N-1] of integer; ... for i:=0
- 140. В других языках программирования С++: int A[N], i; for (i = 0; i A[i] = i;
- 141. Задачи «A»: а) Заполните все элементы массива из 10 элементов значением X , введённым с клавиатуры.
- 142. Задачи «C»: а) Заполните массив из 10 элементов степенями числа 2, начиная с конца, так чтобы
- 143. Заполнение случайными числами from random import randint N = 10 # размер массива A = [0]*N
- 144. Обработка элементов массива N = 10 A = [0]*N # память уже выделена for i in
- 145. for i in range(N): ??? for i in range(N): ??? Обработка элементов массива Вывести числа, на
- 146. Обработка элементов массива Увеличить на 1: for i in range(N): ??? A[i] += 1 Умножить на
- 147. Задачи-2 «A»: Напишите программу, которая заполняет массив из 10 элементов случайными числами в диапазоне [0,10], выводит
- 148. Задачи-2 «C»: Напишите программу, которая заполняет массив из 10 элементов случайными числами в диапазоне [100,500] и
- 149. Программирование (Python) § 21. Алгоритмы обработки массивов
- 150. Сумма элементов массива s = 0 for i in range(N): s = s + A[i] print(
- 151. Сумма элементов массива (Python) s = 0 for x in A: s += x print( s
- 152. Сумма не всех элементов массива s = 0 for i in range(N): s += A[i] print(
- 153. Сумма не всех элементов массива s = 0 for x in A: s += x print(
- 154. Задачи «A»: Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [–5; 5]
- 155. Подсчёт элементов по условию Задача. Найти количество чётных элементов массива. count = 0 for i in
- 156. Подсчёт элементов по условию (Python) Задача. Найти количество чётных элементов массива. count = 0 for x
- 157. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). s =
- 158. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). s =
- 159. Среднее арифметическое (Python) Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). B
- 160. Задачи «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [0; 200]
- 161. Перестановка элементов массива с = a a = b b = c элементы массива: с =
- 162. Перестановка пар соседних элементов Задача. Массив A содержит чётное количество элементов N. Нужно поменять местами пары
- 163. Перестановка пар соседних элементов for i in range(N): поменять местами A[i] и A[i+1] ? выход за
- 164. Перестановка пар соседних элементов for i in range(0,N-1,2): # переставляем A[i] и A[i+1] с = A[i]
- 165. Реверс массива Задача. Переставить элементы массива в обратном порядке (выполнить реверс). A[0]↔A[N-1] A[1]↔A[N-2] A[i]↔A[N-1-i] A[N-1]↔A[0] 0+N-1
- 166. Реверс массива for i in range(N): поменять местами A[i] и A[N-1-i] i=0 i=1 i=2 i=3 (N
- 167. Задачи «A»: Заполнить массив из 10 элементов случайными числами в диапазоне [0; 100], поменять местами пары
- 168. Задачи «C»: Заполнить массив из 10 элементов случайными числами в диапазоне [0; 100], сделать реверс отдельно
- 169. Поиск максимального элемента
- 170. Поиск максимального элемента for i in range(N): if A[i] > M: M = A[i] print( M
- 171. Поиск максимального элемента M = A[0] for i in range(1,N): if A[i] > M: M =
- 172. Поиск максимального элемента (Python) M = A[0] for x in A: if x > M: M
- 173. Номер максимального элемента Задача. Найти в массиве максимальный элемент и его номер. M = A[0]; nMax
- 174. Номер максимального элемента M = A[0]; nMax = 0 for i in range(1,N): if A[i]> M
- 175. Задачи (без min и max) «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами
- 176. Задачи «D»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [–100; 100]
- 177. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН
- 179. Скачать презентацию