Содержание
- 2. Программирование (Python) § 19. Символьные строки
- 3. Что такое символьная строка? Символьная строка – это последовательность символов. строка – единый объект длина строки
- 4. Символьные строки Присваивание: s = "Вася пошёл гулять" Ввод с клавиатуры: s = input() Вывод на
- 5. Сравнение строк print("Введите пароль: ") s = input() if s == "sEzAm": print("Слушаюсь и повинуюсь!") else:
- 6. Сравнение строк s1 = "паровоз" s2 = "пароход" if s1 print(s1, " elif s1 == s2:
- 7. Обращение к символу по номеру print ( s[5] ) print ( s[-2] ) s[len(s)-2] s =
- 8. Посимвольная обработка строк s[4] = "a" Задача. Ввести строку и заменить в ней все буквы «э»
- 9. Цикл перебора символов sNew = "" for c in s: if c == "э": sNew +=
- 10. Задачи «A»: Напишите программу, которая вводит строку, состоящую только из точек и букв Х, и заменяет
- 11. Задачи «С»: Введите битовую строку и дополните её последним битом, который должен быть равен 0, если
- 12. Операции со строками Объединение (конкатенация) : s1 = "Привет" s2 = "Вася" s = s1 +
- 13. Срезы строк (выделение части строки) s = "0123456789" s1 = s[3:8] # "34567" с какого символа
- 14. Срезы строк Срезы с отрицательными индексами: s = "0123456789" s1 = s[:-2] # "01234567" len(s)-2 s
- 15. Операции со строками Вставка: s = "0123456789" s1 = s[:3] + "ABC" + s[3:] Удаление: s
- 16. Поиск в строках s = "Здесь был Вася." n = s.find ( "с" ) # n
- 17. Задачи «A»: Ввести с клавиатуры в одну строку фамилию и имя, разделив их пробелом. Вывести первую
- 18. Задачи «C»: Ввести адрес файла и «разобрать» его на части, разделенные знаком "/". Каждую часть вывести
- 19. Преобразования «строка» → «число» Из строки в число: s = "123" N = int ( s
- 20. Задачи «A»: Напишите программу, которая вычисляет сумму двух чисел, введенную в форме символьной строки. Все числа
- 21. Задачи «D»: Напишите программу, которая вычисляет выражение, содержащее целые числа и знаки сложения и вычитания. Пример:
- 22. Программирование (Python) § 20. Обработка массивов. Поток данных
- 23. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Определить, сколько было введено
- 24. Обработка потока данных count = 0 x = int(input()) while x != 0: if x >
- 25. Найди ошибку! count = 0 x = int(input()) while x != 0: if x > 0:
- 26. Найди ошибку! count = 0 x = int(input()) while x == 0: if x > 0:
- 27. Задачи «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сколько получено
- 28. Задачи «C»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти среднее арифметическое
- 29. Обработка потока данных: сумма Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых
- 30. Обработка потока данных: сумма Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых
- 31. Найди ошибку! Sum = 0 x = int(input()) while x != 0: if x % 10
- 32. Задачи «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сумму чисел,
- 33. Задачи «C»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти сумму цифр
- 34. "Бесконечный" цикл s = 0 while True: x = int(input()) if x == 0: break if
- 35. Условия отбора Положительные числа: if x > 0: ... Числа, делящиеся на 3: if x %
- 36. Если ни одного числа не нашли… Задача: с клавиатуры вводятся числа, ввод завершается числом 0. Найти
- 37. Если ни одного числа не нашли… сумма = 0 счётчик = 0 пока не введён 0:
- 38. s = 0 x = int(input()) while x != 0: if x % 10 == 5:
- 39. Поиск максимума (минимума)
- 40. Поиск максимума (минимума) нужна переменная для хранения максимума как только прочитали первое число, сохранили максимум («из
- 41. Поиск максимума (минимума) x = int(input()) M = x while x != 0: if x >
- 42. Поиск максимума (минимума) – II x = int(input()) M = x while True: x = int(input())
- 43. Максимум не из всех Задача: с клавиатуры вводятся числа в диапазоне [-100;100], ввод завершается числом 0.
- 44. Минимум не из всех По условию: x ∈ [-100;100] x = int(input()) M = -1000 while
- 45. Если диапазон неизвестен… x = int(input()) M = 1 # любое нечётное while x != 0:
- 46. Задачи «A»: с клавиатуры вводятся числа, ввод завершается числом 0. Определить минимальное и максимальное из введённых
- 47. Задачи «B»: с клавиатуры вводятся числа, ввод завершается числом 0. Определить минимальное и максимальное из тех
- 48. Задачи «C»: с клавиатуры вводятся числа, ввод завершается числом 0. Определить минимальное и максимальное из тех
- 49. Задачи «D»: с клавиатуры вводятся числа, ввод завершается числом 0. Определить минимальное из введённых чисел Фибоначчи.
- 50. Обработка потока данных (N чисел) Задача: с клавиатуры вводится число N, а затем – N целых
- 51. Обработка потока данных (N чисел) сделай N раз: ... for i in range(4): print(i) N раз
- 52. Обработка потока данных (N чисел) N = int(input()) k = 0 for i in range(N): x
- 53. Задачи «A»: с клавиатуры вводится число N, а затем – N целых чисел. Определить, сколько было
- 54. Задачи «B»: с клавиатуры вводится число N, а затем – N целых чисел. Определить сумму двузначных
- 55. Задачи «C»: с клавиатуры вводится число N, а затем – N целых чисел. Определить минимальное и
- 56. Задачи «D»: с клавиатуры вводится число N, а затем – N натуральных чисел. Определить минимальное и
- 57. Программирование (Python) Массивы (повторение)
- 58. Обращение к элементу массива A массив 2 15 НОМЕР элемента массива (ИНДЕКС) A[0] A[1] A[2] A[3]
- 59. Создание массива A = [11, 22, 35, 41, 53] A = [11, 22] + [35, 41]
- 60. Обращение к элементу массива i = 1 A[2] = A[i] + 2*A[i-1] + A[2*i+1] print( A[2]+A[4]
- 61. Что неверно? A = [1, 2, 3, 4, 5] x = 1 print( A[x-8] ) A[x+4]
- 62. Перебор элементов массива Перебор элементов: просматриваем все элементы массива и, если нужно, выполняем с каждым из
- 63. Заполнение массива for i in range(N): A[i] = i В развёрнутом виде A[0] = 0 A[1]
- 64. X = N Заполнение массива в обратном порядке A[0] = N A[1] = N-1 A[2] =
- 65. Заполнение массива в обратном порядке A[i] = X –1 +1 i + X = N X
- 66. Вывод массива на экран for i in range(N): print( A[i] ) или так: в столбик Весь
- 67. Вывод массива на экран (Python) print ( *A ) разбить список на элементы print (1, 2,
- 68. Задачи «A»: а) Заполните все элементы массива из 10 элементов значением X , введённым с клавиатуры.
- 69. Задачи «C»: а) Заполните массив из 10 элементов степенями числа 2, начиная с конца, так чтобы
- 70. Заполнение случайными числами from random import randint N = 10 # размер массива A = [0]*N
- 71. Обработка элементов массива N = 10 A = [0]*N # память уже выделена for i in
- 72. for i in range(N): ??? for i in range(N): ??? Обработка элементов массива Вывести числа, на
- 73. Обработка элементов массива Увеличить на 1: for i in range(N): ??? A[i] += 1 Умножить на
- 74. Задачи-2 «A»: Напишите программу, которая заполняет массив из 10 элементов случайными числами в диапазоне [0,10], выводит
- 75. Задачи-2 «C»: Напишите программу, которая заполняет массив из 10 элементов случайными числами в диапазоне [100,500] и
- 76. Сумма элементов массива Sum = 0 for i in range(N): Sum = Sum + A[i] print(
- 77. Сумма элементов массива (Python) Sum = 0 for x in A: Sum += x print( Sum
- 78. Сумма не всех элементов массива Sum = 0 for i in range(N): Sum += A[i] print(
- 79. Сумма не всех элементов массива Sum = 0 for x in A: Sum += x print(
- 80. Задачи «A»: Напишите программу, которая заполняет массив из 10 элементов случайными числами на отрезке [–5; 5]
- 81. Подсчёт элементов по условию Задача. Найти количество чётных элементов массива. count = 0 for i in
- 82. Подсчёт элементов по условию (Python) Задача. Найти количество чётных элементов массива. count = 0 for x
- 83. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). Sum =
- 84. Среднее арифметическое Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). Sum =
- 85. Среднее арифметическое (Python) Задача. Найти среднее арифметическое элементов массива, которые больше 180 (рост в см). B
- 86. Задачи «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [0; 200]
- 87. Перестановка элементов массива с = a a = b b = c элементы массива: с =
- 88. Перестановка пар соседних элементов Задача. Массив A содержит чётное количество элементов N. Нужно поменять местами пары
- 89. Перестановка пар соседних элементов for i in range(N): поменять местами A[i] и A[i+1] ? выход за
- 90. Перестановка пар соседних элементов for i in range(0,N-1,2): # переставляем A[i] и A[i+1] с = A[i]
- 91. Реверс массива Задача. Переставить элементы массива в обратном порядке (выполнить реверс). A[0]↔A[N-1] A[1]↔A[N-2] A[i]↔A[N-1-i] A[N-1]↔A[0] 0+N-1
- 92. Реверс массива for i in range(N): поменять местами A[i] и A[N-1-i] i=0 i=1 i=2 i=3 (N
- 93. Задачи «A»: Заполнить массив из 10 элементов случайными числами в диапазоне [0; 100], поменять местами пары
- 94. Задачи «C»: Заполнить массив из 10 элементов случайными числами в диапазоне [0; 100], сделать реверс отдельно
- 95. Линейный поиск в массиве Задача. Найти в массиве элемент, равный X, и его номер. X =
- 96. Линейный поиск в массиве i = 0 while i i += 1 if i print( "A[",i,"]=",X
- 97. Досрочный выход из цикла Задача. Найти в массиве элемент, равный X, и его номер. nX =
- 98. for i in range ( N ): if A[i] == X: print ( "A[", i, "]=",
- 99. Задачи «A»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 100. Задачи «B»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 101. Задачи «C»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 102. Поиск максимального элемента
- 103. Поиск максимального элемента for i in range(N): if A[i] > M: M = A[i] print( M
- 104. Поиск максимального элемента M = A[0] for i in range(1,N): if A[i] > M: M =
- 105. Поиск максимального элемента (Python) M = A[0] for x in A: if x > M: M
- 106. Номер максимального элемента Задача. Найти в массиве максимальный элемент и его номер. M = A[0]; nMax
- 107. Номер максимального элемента M = A[0]; nMax = 0 for i in range(1,N): if A[i]> M
- 108. Максимальный элемент и его номер M = max(A) nMax = A.index(M) print ( "A[", nMax, "]=",
- 109. Максимальный не из всех Задача. Найти в массиве максимальный из отрицательных элементов. M = A[0] for
- 110. Максимальный не из всех Задача. Найти в массиве максимальный из отрицательных элементов. M = A[0] for
- 111. Максимальный не из всех (Python) Задача. Найти в массиве максимальный из отрицательных элементов. B = [
- 112. Задачи (без min и max) «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами
- 113. Задачи «D»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [–100; 100]
- 114. Задачи-2 (максимум в потоке) «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём.
- 115. Задачи-2 (максимум в потоке) «D»: На вход программы поступает неизвестное количество целых чисел (не менее 2),
- 116. Сортировка Сортировка — это расстановка элементов списка (массива) в заданном порядке. Задача. Отсортировать элементы в порядке
- 117. Сортировка выбором нашли минимальный, поставили его на первое место из оставшихся нашли минимальный, поставили его на
- 118. Сортировка выбором for i in range(N-1): # ищем минимальный среди A[i]..A[N-1] nMin = i for j
- 119. Задачи «A»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 120. Задачи «C»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 121. Программирование (Python) § 21. Матрицы (двумерные массивы)
- 122. Что такое матрица? Матрица — это прямоугольная таблица, составленная из элементов одного типа (чисел, строк и
- 123. Создание матриц A = [[-1, 0, 1], [-1, 0, 1], [0, 1, -1]] перенос на другую
- 124. Создание матриц N = 3 M = 2 row = [0]*M A = [row]*N Нулевая матрица:
- 125. Вывод матриц print ( A ) [[1, 2, 3], [4, 5, 6], [7, 8, 9]] def
- 126. Простые алгоритмы Заполнение случайными числами: from random import randint for i in range(N): for j in
- 127. Перебор элементов матрицы Главная диагональ: for i in range(N): # работаем с A[i][i] Побочная диагональ: for
- 128. Перестановка строк 2-я и 4-я строки: for j in range(M): c = A[2][j] A[2][j] = A[4][j]
- 129. Перестановка столбцов 2-й и 4-й столбцы: for i in range(N): c = A[i][2] A[i][2] = A[i][4]
- 130. Задачи «A»: Напишите программу, которая заполняет матрицу случайными числами в диапазоне [10; 100] и находит максимальный
- 131. Задачи «B»: Напишите программу, которая заполняет матрицу случайными числами в диапазоне [10; 100] и находит максимальный
- 132. Задачи «C»: Напишите программу, которая заполняет матрицу случайными числами в диапазоне [-50; 50] и находит минимальный
- 133. Программирование (Python) § 22. Сложность алгоритмов
- 134. Как сравнивать алгоритмы? быстродействие (временна́я сложность) объём требуемой памяти (пространственная сложность) понятность Время работы алгоритма –
- 135. Примеры определения сложности Задача 1. Вычислить сумму первых трёх элементов массива (при N ≥ 3). Sum
- 136. Примеры определения сложности Задача 3. Отсортировать все элементы массива по возрастанию методом выбора. for i in
- 137. Примеры определения сложности Задача 4. Найти сумму элементов квадратной матрицы размером N×N. Sum = 0 for
- 138. Сравнение алгоритмов по сложности при N при N > 100:
- 139. Асимптотическая сложность Асимптотическая сложность – это оценка скорости роста количества операций при больших значениях N. сложность
- 140. Асимптотическая сложность сложность O(N2) ⇔ T(N) ≤ c⋅ N2 для N ≥ N0 квадратичная сортировка методом
- 141. Асимптотическая сложность сложность O(2N) сложность O(N!) задачи оптимизации, полный перебор вариантов Факториал числа N: N !
- 142. Асимптотическая сложность Алгоритм относится к классу O( f(N) ), если найдется такая постоянная c, что начиная
- 143. Программирование (Python) § 23. Как разрабатывают программы
- 144. Этапы разработки программ I. Постановка задачи Документ: техническое задание. II. Построение модели Формализация: запись модели в
- 145. Этапы разработки программ IV. Кодирование Запись алгоритма на языке программирования. V. Отладка Поиск и исправление ошибок
- 146. Этапы разработки программ VI. Тестирование Тщательная проверка программы во всех режимах: альфа-тестирование – внутри компании (тестировщики)
- 147. Методы проектирования программ «Сверху вниз» (последовательное уточнение) Задача 30-40 строк каждая
- 148. Методы проектирования программ «Сверху вниз» (последовательное уточнение) сначала задача решается «в целом» легко распределить работу легче
- 149. Методы проектирования программ «Снизу вверх» (восходящее) Задача библиотека функций
- 150. Методы проектирования программ «Снизу вверх» (восходящее) нет дублирования сразу видно быстродействие сложно распределять работу сложнее отлаживать
- 151. Отладка программы from math import sqrt print("Введите a, b, c: ") a = float(input()) b =
- 152. Тестирование Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0 x2=-1.0
- 153. Отладочная печать a = float(input()) b = float(input()) c = float(input()) print(a, b, c) D =
- 154. Отладочная печать Введите a, b, c: 1 -5 6 1.0 -5.0 6.0 D= 21.0 Результат: D=
- 155. Отладка программы Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0
- 156. Документирование программы назначение программы формат входных данных формат выходных данных примеры использования программы Назначение: программа для
- 157. Документирование программы Формат выходных данных: значения вещественных корней уравнения; если вещественных корней нет, выводится слово «нет»
- 158. Программирование (Python) § 24. Процедуры
- 159. Два типа подпрограмм Процедуры Функции Подпрограммы выполняют действия + возвращают некоторый результат а) рисует окружность на
- 160. Простая процедура ... printLine() ... какие-то операторы def printLine(): print("----------") вызов процедуры можно вызывать сколько угодно
- 161. Линии разной длины def printLine5(): print("-----") def printLine10(): print("----------") def printLine10(): print("-"*10) def printLine( n ):
- 162. Процедура с параметром ... printLine(10) ... printLine(7) printLine(5) printLine(3) def printLine( n ): ... Параметр –
- 163. Несколько параметров def printLine(c, n): print(c*n) символьная строка printLine( 5, "+" ) printLine( "+", 5 )
- 164. В других языках программирования Паскаль: procedure printLine(c: string; n: integer); var i: integer; begin for i:=1
- 165. В других языках программирования С: void printLine(int n) { int i; for (i=1; i putchar("-"); putchar("\n");
- 166. Как не нужно писать процедуры def summa(): print(x + y) x = 10 y = 5
- 167. Задачи «A»: Напишите процедуру, которая принимает параметр – натуральное число N – и выводит на экран
- 168. Задачи «C»: Напишите процедуру, которая выводит на экран квадрат со стороной N символов. При запуске программы
- 169. Задачи «D»: Напишите процедуру, которая выводит на экран треугольник со стороной N символов. При запуске программы
- 170. Рекурсия Задача. Вывести на экран двоичный код натурального числа. def printBin( n ): ... Алгоритм перевода
- 171. Рекурсия Чтобы вывести двоичную запись числа n, нужно сначала вывести двоичную запись числа (n // 2),
- 172. Рекурсивная процедура Рекурсивная процедура — это процедура, которая вызывает сама себя. def printBin( n ): printBin(n
- 173. Рекурсивная процедура def printBin( n ): if n == 0: return printBin(n // 2) print(n %
- 174. Задачи «A»: Напишите рекурсивную процедуру, которая переводит число в восьмеричную систему. Пример: Введите число: 66 В
- 175. Задачи «С»: Напишите рекурсивную процедуру, которая переводит число в шестнадцатеричную систему. Пример: Введите число: 123 В
- 176. Программирование (Python) § 25. Функции
- 177. Что такое функция? Функция — это вспомогательный алгоритм, который возвращает результат (число, строку символов и др.).
- 178. Как вызывать функцию? Запись результата в переменную: sr = Avg(5, 8) x = 2; y =
- 179. Как вызывать функцию? Использование в условных операторах: a = int(input()) b = int(input()) if Avg(a,b) >
- 180. Как вызывать функцию? Использование в циклах: a = int(input()) b = int(input()) while Avg(a,b) > 0:
- 181. В других языках программирования Паскаль: С: float Avg(int a, int b) { return (a+b)/2.0; } function
- 182. Максимум из двух (трёх) чисел Задача. Составить функцию, которая определяет наибольшее из двух целых чисел. def
- 183. Сумма цифр числа Задача. Составить функцию, которая вычисляет сумму значений цифр натурального числа. def sumDigits( N
- 184. Задачи «A»: Напишите функцию, которая вычисляет среднее арифметическое пяти целых чисел. Пример: Введите 5 чисел: 1
- 185. Задачи «С»: Напишите функцию, которая находит количество единиц в двоичной записи числа. Пример: Введите число: 75
- 186. Логические функции Логическая функция — это функция, возвращающая логическое значения (да или нет). можно ли применять
- 187. Логические функции def Even( N ): if N % 2 == 0: return True else: return
- 188. Рекурсивные функции Рекурсивная функция — это функция, которая вызывает сама себя. Задача. Составить рекурсивную функцию, которая
- 189. Рекурсивная функция Вход: натуральное число N. Шаг 1: d = N % 10 Шаг 2: M
- 190. Сумма цифр числа (рекурсия) def sumDigRec( N ): if N == 0: return 0 else: d
- 191. Задачи «A»: Напишите логическую функцию, которая возвращает значение «истина», если десятичная запись числа заканчивается на цифру
- 192. Задачи «C»: Напишите логическую функцию, которая возвращает значение «истина», если переданное ей число простое (делится только
- 193. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург [email protected] ЕРЕМИН
- 195. Скачать презентацию