Содержание
- 2. Программирование (АлгЯзык) § 19. Символьные строки
- 3. Что такое символьная строка? Символьная строка – это последовательность символов. Хочется: строка – единый объект длина
- 4. Символьные строки Присваивание: s:= 'Вася пошёл гулять' Ввод с клавиатуры: ввод s Вывод на экран: вывод
- 5. Сравнение строк лит s вывод 'Введите пароль: ' ввод s если s = 'sEzAm' то вывод
- 6. Сравнение строк лит s s1:= 'паровоз' s2:= 'пароход' если s1 вывод s1, ' иначе если s1
- 7. Посимвольная обработка строк s[4]:= 'a' Задача. Ввести строку и заменить в ней все буквы «э» на
- 8. Задачи «A»: Напишите программу, которая вводит строку, состоящую только из точек и букв Х, и заменяет
- 9. Задачи «С»: Введите битовую строку и дополните её последним битом, который должен быть равен 0, если
- 10. Операции со строками Объединение (конкатенация) : s1:= 'Привет' s2:= 'Вася' s := s1 + ', '
- 11. Операции со строками Вставка: s:= '123456789' вставить('ABC', s, 3) | '12ABC3456789' что куда с какого символа
- 12. Поиск в строках s:= 'Здесь был Вася.' n:= позиция('с', s) если n > 0 то вывод
- 13. Задачи «A»: Ввести с клавиатуры в одну строку фамилию и имя, разделив их пробелом. Вывести первую
- 14. Задачи «C»: Ввести адрес файла и «разобрать» его на части, разделенные знаком '/'. Каждую часть вывести
- 15. Преобразования «строка» → «число» Целое число: цел N, лит s, лог OK s:= '123' N:= лит_в_цел(s,
- 16. Преобразования «число» → «строка» цел N, вещ X, лит s N:= 123 s:= цел_в_лит(N) | '123'
- 17. Задачи «A»: Напишите программу, которая вычисляет сумму двух чисел, введенную в форме символьной строки. Все числа
- 18. Задачи «D»: Напишите программу, которая вычисляет выражение, содержащее целые числа и знаки сложения и вычитания. Пример:
- 19. Программирование (АлгЯзык) § 20. Обработка массивов
- 20. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Определить, сколько было введено
- 21. Обработка потока данных цел x, count count: = 0 ввод x нц пока x 0 если
- 22. Найди ошибку! цел x, count count: = 0 ввод x нц пока x 0 если x
- 23. Найди ошибку! цел x, count count: = 0 ввод x нц пока x = 0 если
- 24. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых чисел,
- 25. Обработка потока данных Задача. С клавиатуры вводятся числа, ввод завершается числом 0. Найти сумму введённых чисел,
- 26. Найди ошибку! цел x, sum sum: = 0 ввод x нц пока x 0 если mod(x,10)
- 27. Задачи «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сколько получено
- 28. Задачи «C»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти среднее арифметическое
- 29. Перестановка элементов массива с:= a a:= b b:= c элементы массива: с:= A[i] A[i]:= A[k] A[k]:=
- 30. Перестановка пар соседних элементов Задача. Массив A содержит чётное количество элементов N. Нужно поменять местами пары
- 31. Перестановка пар соседних элементов нц для i от 1 до N поменять местами A[i] и A[i+1]
- 32. Перестановка пар соседних элементов нц для i от 1 до N-1 шаг 2 | переставляем A[i]
- 33. Реверс массива Задача. Переставить элементы массива в обратном порядке (выполнить реверс). A[1]↔A[N] A[2]↔A[N-1] A[i]↔A[N+1-i] A[N]↔A[1] 1+N
- 34. Реверс массива нц для i от 1 до N поменять местами A[i] и A[N+1-i] кц i=1
- 35. Линейный поиск в массиве Задача. Найти в массиве элемент, равный X, и его номер. X =
- 36. Линейный поиск в массиве i:=1 нц пока i X i:=i+1 кц если i вывод 'A[',i,']=',X иначе
- 37. Досрочный выход из цикла Задача. Найти в массиве элемент, равный X, и его номер. nX:=0 |
- 38. Задачи «A»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 39. Задачи «B»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 40. Задачи «C»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 41. Поиск максимального элемента
- 42. Поиск максимального элемента нц для i от 1 до N если A[i]>M то M:=A[i] все кц
- 43. Поиск максимального элемента M:= A[1] нц для i от 2 до N если A[i]>M то M:=
- 44. Номер максимального элемента Задача. Найти в массиве максимальный элемент и его номер. M:= A[1]; nMax:= 1
- 45. Номер максимального элемента M:= A[1]; nMax:= 1 нц для i от 2 до N если A[i]>M
- 46. Максимальный не из всех Задача. Найти в массиве максимальный из отрицательных элементов. M:= A[1] нц для
- 47. Максимальный не из всех Задача. Найти в массиве максимальный из отрицательных элементов. M:= A[1] нц для
- 48. Задачи «A»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [50; 150]
- 49. Задачи «D»: Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [–100; 100]
- 50. Задачи-2 (максимум в потоке) «A»: На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём.
- 51. Задачи-2 (максимум в потоке) «D»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём.
- 52. Сортировка Сортировка — это расстановка элементов списка (массива) в заданном порядке. Задача. Отсортировать элементы в порядке
- 53. Сортировка выбором нашли минимальный, поставили его на первое место из оставшихся нашли минимальный, поставили его на
- 54. Сортировка выбором нц для i от 1 до N-1 | ищем минимальный среди A[i]..A[N] nMin:=i нц
- 55. Задачи «A»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 56. Задачи «C»: Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне
- 57. Программирование (АлгЯзык) § 21. Матрицы (двумерные массивы)
- 58. Что такое матрица? Матрица — это прямоугольная таблица, составленная из элементов одного типа (чисел, строк и
- 59. Объявление матриц цел N = 3, M = 4 целтаб A[1:N, 1:M] вещтаб X[-3:0, -8:M] логтаб
- 60. Простые алгоритмы Заполнение случайными числами: нц для i от 1 до N нц для j от
- 61. Перебор элементов матрицы Главная диагональ: нц для i от 1 до N | работаем с A[i,i]
- 62. Перестановка строк 2-я и 4-я строки: нц для j от 1 до M c:= A[2,j] A[2,j]:=
- 63. Задачи «A»: Напишите программу, которая заполняет матрицу случайными числами и находит максимальный элемент на главной диагонали
- 64. Задачи «B»: Напишите программу, которая заполняет матрицу случайными числами и находит максимальный элемент матрицы и его
- 65. Задачи «C»: Напишите программу, которая заполняет матрицу случайными числами и находит минимальный из чётных положительных элементов
- 66. Программирование (АлгЯзык) § 22. Сложность алгоритмов
- 67. Как сравнивать алгоритмы? быстродействие (временна́я сложность) объём требуемой памяти (пространственная сложность) понятность Время работы алгоритма –
- 68. Примеры определения сложности Задача 1. Вычислить сумму первых трёх элементов массива (при N ≥ 3). Sum:=
- 69. Примеры определения сложности Задача 3. Отсортировать все элементы массива по возрастанию методом выбора. нц для i
- 70. Примеры определения сложности Задача 4. Найти сумму элементов квадратной матрицы размером N×N. Sum:= 0 нц для
- 71. Сравнение алгоритмов по сложности при N при N > 100:
- 72. Асимптотическая сложность Асимптотическая сложность – это оценка скорости роста количества операций при больших значениях N. сложность
- 73. Асимптотическая сложность сложность O(N3) ⇔ T(N) ≤ c⋅ N3 для N ≥ N0 кубичная сложность O(2N)
- 74. Асимптотическая сложность Алгоритм относится к классу O( f(N) ), если найдется такая постоянная c, что начиная
- 75. Программирование (АлгЯзык) § 23. Как разрабатывают программы
- 76. Этапы разработки программ I. Постановка задачи Документ: техническое задание. II. Построение модели Формализация: запись модели в
- 77. Этапы разработки программ IV. Кодирование Запись алгоритма на языке программирования. V. Отладка Поиск и исправление ошибок
- 78. Этапы разработки программ VI. Тестирование Тщательная проверка программы во всех режимах: альфа-тестирование – внутри компании (тестировщики)
- 79. Методы проектирования программ «Сверху вниз» (последовательное уточнение) Задача 30-40 строк каждая
- 80. Методы проектирования программ «Сверху вниз» (последовательное уточнение) сначала задача решается «в целом» легко распределить работу легче
- 81. Методы проектирования программ «Снизу вверх» (восходящее) Задача библиотека функций
- 82. Методы проектирования программ «Снизу вверх» (восходящее) нет дублирования сразу видно быстродействие сложно распределять работу сложнее отлаживать
- 83. Отладка программы алг КвУр нач вещ a, b, c, D, x1, x2 вывод 'Введите a, b,
- 84. Тестирование Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0 x2=-1.0
- 85. Отладочная печать ввод a, b, c вывод a, ' ', b, ' ', c, нс D:=b*b-4*a*a
- 86. Отладка программы Тест 1. a = 1, b = 2, c = 1. x1=-1.0 x2=-1.0 x1=-1.0
- 87. Документирование программы назначение программы формат входных данных формат выходных данных примеры использования программы Назначение: программа для
- 88. Документирование программы Формат выходных данных: значения вещественных корней уравнения; если вещественных корней нет, выводится слово «нет»
- 89. Программирование (АлгЯзык) § 24. Процедуры
- 90. Два типа подпрограмм Процедуры Функции Подпрограммы выполняют действия + возвращают некоторый результат а) рисует окружность на
- 91. Простая процедура алг С процедурой нач ... printLine ... кон какие-то операторы алг printLine нач вывод
- 92. Линии разной длины алг printLine5 нач вывод '-----', нс кон алг printLine10 нач вывод '----------', нс
- 93. Процедура с параметром алг С процедурой нач ... printLine(10) ... printLine(7) printLine(5) printLine(3) кон алг printLine(цел
- 94. Несколько параметров алг printLine(лит c, цел n) нач цел i нц для i от 1 до
- 95. В других языках программирования procedure printLine( n: integer ); var i: integer; begin for i:=1 to
- 96. В других языках программирования С: void printLine (int n) { int i; for (i=1; i putchar('-');
- 97. Задачи «A»: Напишите процедуру, которая принимает параметр – натуральное число N – и выводит на экран
- 98. Задачи «C»: Напишите процедуру, которая выводит на экран квадрат со стороной N символов. При запуске программы
- 99. Задачи «D»: Напишите процедуру, которая выводит на экран треугольник со стороной N символов. При запуске программы
- 100. Рекурсия Задача. Вывести на экран двоичный код натурального числа. алг printBin(цел n) нач ... кон Алгоритм
- 101. Рекурсия Чтобы вывести двоичную запись числа n, нужно сначала вывести двоичную запись числа div(n,2), а затем
- 102. Рекурсивная процедура Рекурсивная процедура — это процедура, которая вызывает сама себя. алг printBin(цел n) нач printBin(div(n,2))
- 103. Рекурсивная процедура алг printBin(цел n) нач если n = 0 то выход все printBin(div(n,2)) вывод mod(n,2)
- 104. Задачи «A»: Напишите рекурсивную процедуру, которая переводит число в восьмеричную систему. Пример: Введите число: 66 В
- 105. Задачи «С»: Напишите рекурсивную процедуру, которая переводит число в шестнадцатеричную систему. Пример: Введите число: 123 В
- 106. Программирование (АлгЯзык) § 25. Функции
- 107. Что такое функция? Функция — это вспомогательный алгоритм, который возвращает результат (число, строку символов и др.).
- 108. Как вызывать функцию? Запись результата в переменную: вещ sr sr := Avg(5, 8) цел x=2, y=5
- 109. Как вызывать функцию? Использование в условных операторах: цел a, b ввод a, b если Avg(a,b) >
- 110. Как вызывать функцию? Использование в циклах: цел a, b ввод a, b нц пока Avg(a,b) >
- 111. В других языках программирования function Avg(a, b: integer): real; begin Avg:=(a+b)/2 end. Паскаль: def Avg(a, b):
- 112. Максимум из двух (трёх) чисел Задача. Составить функцию, которая определяет наибольшее из двух целых чисел. алг
- 113. Сумма цифр числа Задача. Составить функцию, которая вычисляет сумму значений цифр натурального числа. алг цел sumDigits(цел
- 114. Задачи «A»: Напишите функцию, которая вычисляет среднее арифметическое пяти целых чисел. Пример: Введите 5 чисел: 1
- 115. Задачи «С»: Напишите функцию, которая находит количество единиц в двоичной записи числа. Пример: Введите число: 75
- 116. Логические функции Логическая функция — это функция, возвращающая логическое значения (да или нет). можно ли применять
- 117. Логические функции алг лог Чётное(цел N) нач если mod(N,2)=0 то знач:=да иначе знач:=нет все кон Задача.
- 118. Рекурсивные функции Рекурсивная функция — это функция, которая вызывает сама себя. Задача. Составить рекурсивную функцию, которая
- 119. Рекурсивная функция Вход: натуральное число N. Шаг 1: d:= mod(N,10) Шаг 2: M:= div(N,10) Шаг 3:
- 120. Сумма цифр числа (рекурсия) алг цел sumDigRec(цел N) нач цел d, sum если N = 0
- 121. Задачи «A»: Напишите логическую функцию, которая возвращает значение «истина», если десятичная запись числа заканчивается на цифру
- 122. Задачи «C»: Напишите логическую функцию, которая возвращает значение «истина», если переданное ей число простое (делится только
- 123. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН
- 125. Скачать презентацию