Содержание
- 2. Программирование на алгоритмическом языке § 62. Массивы
- 3. Что такое массив? Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних
- 4. Выделение памяти (объявление) целтаб A[1:5] вещтаб V[0:5] логтаб L[-5:5] симтаб S[65:90] минимальный индекс максимальный индекс цел
- 5. Что неправильно? целтаб A [10:1] ... A[5] := 4.5; [1:10] целтаб A[1:10] ... A[15] := 'a'
- 6. Обращение к элементу массива A массив 3 15 НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4]
- 7. Как обработать все элементы массива? Объявление: Обработка: цел N = 5 целтаб A[1:N] | обработать A[1]
- 8. Как обработать все элементы массива? Обработка с переменной: i:= 1 | обработать A[i] i:= i +
- 9. Заполнение массива алг Массив нач цел i, N = 10 целтаб A[1:N] нц для i от
- 10. Ввод с клавиатуры и вывод на экран Объявление: Ввод с клавиатуры: Вывод на экран: цел N
- 11. Заполнение случайными числами нц для i от 1 до N A[i]:= irand(20,100) вывод A[i], ' '
- 12. Перебор элементов Общая схема: нц для i от 1 до N ... | сделать что-то с
- 13. Перебор элементов Среднее арифметическое: цел count = 0, sum = 0 нц для i от 1
- 14. Задачи «A»: Заполните массив случайными числами в интервале [0,100] и найдите среднее арифметическое его значений. Пример:
- 15. Задачи «C»: Заполните массив из N элементов случайными числами в интервале [1,N] так, чтобы в массив
- 16. Программирование на алгоритмическом языке § 63. Алгоритмы обработки массивов
- 17. Поиск в массиве Найти элемент, равный X: i:= 1 нц пока A[i] X i:= i +
- 18. Поиск в массиве nX:= 0 нц для i от 1 до N если A[i] = X
- 19. Задачи «A»: Заполните массив случайными числами в интервале [0,5]. Введите число X и найдите все значения,
- 20. Задачи «B»: Заполните массив случайными числами в интервале [0,5]. Определить, есть ли в нем элементы с
- 21. Задачи «C»: Заполните массив случайными числами. Определить, есть ли в нем элементы с одинаковыми значениями, не
- 22. Максимальный элемент M:= A[1] нц для i от 2 до N если A[i] > M то
- 23. Максимальный элемент и его номер
- 24. Задачи «A»: Заполнить массив случайными числами и найти минимальный и максимальный элементы массива и их номера.
- 25. Задачи «C»: Введите массив с клавиатуры и найдите (за один проход) количество элементов, имеющих максимальное значение.
- 26. Реверс массива «Простое» решение: нц для i от 1 до N | поменять местами A[i] и
- 27. Реверс массива нц для i от 1 до div(N,2) c:= A[i] A[i]:= A[N+1-i] A[N+1-i]:= c кц
- 28. Циклический сдвиг элементов «Простое» решение: c:= A[1] нц для i от 1 до N-1 A[i]:= A[i+1]
- 29. Задачи «A»: Заполнить массив случайными числами и выполнить циклический сдвиг элементов массива вправо на 1 элемент.
- 30. Задачи «C»: Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные
- 31. Отбор нужных элементов «Простое» решение: Задача. Отобрать элементы массива A, удовлетворяющие некоторому условию, в массив B.
- 32. Отбор нужных элементов A B выбрать чётные элементы count:= 0 | счётчик нц для i от
- 33. Задачи «A»: Заполнить массив случайными числами в интервале [-10,10] и отобрать в другой массив все чётные
- 34. Задачи «C»: Заполнить массив случайными числами и отобрать в другой массив все числа Фибоначчи. Используйте логическую
- 35. Программирование на алгоритмическом языке § 64. Сортировка
- 36. Что такое сортировка? Сортировка – это расстановка элементов массива в заданном порядке. …по возрастанию, убыванию, последней
- 37. Метод пузырька (сортировка обменами) Идея: пузырек воздуха в стакане воды поднимается со дна вверх. Для массивов
- 38. Метод пузырька 2-й проход: 3-й проход: 4-й проход:
- 39. Метод пузырька 1-й проход: нц для j от N-1 до 1 шаг -1 если A[j+1] |
- 40. Метод пузырька нц для i от 1 до N-1 нц для j от N-1 до шаг
- 41. Задачи «A»: Напишите программу, в которой сортировка выполняется «методом камня» – самый «тяжёлый» элемент опускается в
- 42. Метод выбора (минимального элемента) Идея: найти минимальный элемент и поставить его на первое место. нц для
- 43. Метод выбора (минимального элемента) нц для i от 1 до N-1 если i nMin то |
- 44. Задачи «A»: Массив содержит четное количество элементов. Напишите программу, которая сортирует первую половину массива по возрастанию,
- 45. Задачи «B»: Напишите программу, которая сортирует массив и находит количество различных чисел в нем. Пример: Массив:
- 46. Быстрая сортировка (QuickSort) Идея: выгоднее переставлять элементы, который находятся дальше друг от друга.
- 47. Быстрая сортировка Шаг 2: переставить элементы так: при сортировке элементы не покидают « свою область»! Шаг
- 48. Быстрая сортировка Разделение: выбрать средний элемент массива (X=67) установить L:=1, R:=N увеличивая L, найти первый элемент
- 49. Быстрая сортировка
- 50. Быстрая сортировка цел N = 7 целтаб A[1:N] алг Быстрая сортировка нач | заполнить массив qSort(1,
- 51. Быстрая сортировка алг qSort(цел nStart, nEnd) нач цел L, R, c, X если nStart >= nEnd
- 52. Быстрая сортировка Сортировка массива случайных значений:
- 53. Задачи «A»: Массив содержит четное количество элементов. Напишите программу, которая сортирует по возрастанию отдельно элементы первой
- 54. Задачи «B»: Напишите программу, которая сортирует массив и находит количество различных чисел в нем. Используйте алгоритм
- 55. Задачи «C»: Напишите программу, которая сравнивает число перестановок элементов при использовании сортировки «пузырьком», методом выбора и
- 56. Программирование на алгоритмическом языке § 65. Двоичный поиск
- 57. Двоичный поиск X = 7 X 8 4 X > 4 6 X > 6 Выбрать
- 58. Двоичный поиск X = 44
- 59. Двоичный поиск цел L, R, c L:= 1; R:= N + 1 | начальный диапазон нц
- 60. Двоичный поиск скорость выше, чем при линейном поиске нужна предварительная сортировка Число сравнений:
- 61. Задачи «A»: Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить,
- 62. Задачи «B»: Заполнить массив случайными числами и отсортировать его. Ввести число X. Используя двоичный поиск, определить,
- 63. Задачи «C»: Заполнить массив случайными числами и ввести число и отсортировать его. Ввести число X. Используя
- 64. Программирование на алгоритмическом языке § 66. Символьные строки
- 65. Зачем нужны символьные строки? симтаб s[1:80] | массив символов элементы массива – отдельные объекты сложно работать
- 66. Символьные строки Присваивание: s:= 'Вася пошёл гулять' Ввод с клавиатуры: ввод s Вывод на экран: вывод
- 67. Символьные строки алг Замена а на б нач лит s вывод 'Введите строку: ' ввод s
- 68. Задачи «A»: Ввести с клавиатуры символьную строку и заменить в ней все буквы «а» на «б»
- 69. Задачи «B»: Ввести с клавиатуры символьную строку и определить, сколько в ней слов. Словом считается последовательности
- 70. Задачи «C»: Ввести с клавиатуры символьную строку и найдите самое длинное слово и его длину. Словом
- 71. Операции со строками Объединение (конкатенация) : s1:= 'Привет' s2:= 'Вася' s := s1 + ', '
- 72. Операции со строками Вставка: s:= '123456789' вставить('ABC', s, 3) | '12ABC3456789' что куда с какого символа
- 73. Поиск в строках s:= 'Здесь был Вася.' n:= позиция('с', s) если n > 0 то вывод
- 74. Пример обработки строк Задача: Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы». Пример: Введите
- 75. Пример обработки строк алг FIO нач лит s, name, name2 цел n вывод 'Введите имя, отчество
- 76. Задачи «A»: Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести
- 77. Задачи «B»: Ввести адрес файла и «разобрать» его на части, разделенные знаком '/'. Каждую часть вывести
- 78. Задачи «C»: Напишите программу, которая заменяет во всей строке одну последовательность символов на другую. Пример: Введите
- 79. Преобразования «строка» – «число» Из строки в число: s:= '123' N:= лит_в_цел(s, OK) | N =
- 80. Задачи «A»: Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа
- 81. Задачи «C»: Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки
- 82. Задачи «D»: Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки
- 83. Строки в процедурах и функциях Задача: построить процедуру, которая заменяет в строке s все вхождения слова-образца
- 84. Замена всех экземпляров подстроки
- 85. Замена всех экземпляров подстроки алг Замена всех нач лит s = '12.12.12' replaceAll(s, '12', 'A12B') вывод
- 86. Замена всех экземпляров подстроки алг replaceAll(аргрез лит s, арг лит wOld, wNew) нач лит res; цел
- 87. Замена: из процедуры в функцию алг Замена всех нач лит s = '12.12.12' s:= replaceAll(s, '12',
- 88. Задачи «A»: Напишите функцию, которая возвращает первое слово переданной ей символьной строки. Пример: Введите строку: Однажды
- 89. Задачи «B»: Напишите функцию, которая заменяет расширение файла на заданное новое расширение. Пример: Введите имя файла:
- 90. Задачи «C»: Напишите функцию, которая заменяет во всей строке все римские числа на соответствующие десятичные числа.
- 91. Рекурсивный перебор Задача. В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно
- 92. Рекурсивный перебор алг перебор К символов нач w[1]:='Ы' | перебор последних K-1 символов w[1]:='Ш' | перебор
- 93. Рекурсивный перебор алг ЫШЧО нач лит word = '...'; | из K символов TumbaWords('ЫШЧО', word, 0)
- 94. Задачи «A»: В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести
- 95. Задачи «C»: В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести
- 96. Сравнение строк Сравнение по кодам символов:
- 97. Сравнение строк 5STEAM steam
- 98. Сортировка строк алг Сортировка строк нач цел i, j, N = 10 литтаб S[1:N] лит s1
- 99. Задачи «A»: Вводится 5 строк, в которых сначала записан порядковый номер строки с точкой, а затем
- 100. Задачи «B»: Вводится несколько строк (не более 20), в которых сначала записан порядковый номер строки с
- 101. Задачи «C»: Вводится несколько строк (не более 20), в которых сначала записаны инициалы и фамилии работников
- 102. Программирование на алгоритмическом языке § 67. Матрицы
- 103. Что такое матрица? Матрица — это прямоугольная таблица, составленная из элементов одного типа (чисел, строк и
- 104. Объявление матриц цел N = 3, M = 4 целтаб A[1:N, 1:M] вещтаб X[-3:0, -8:M] логтаб
- 105. Простые алгоритмы Заполнение случайными числами: нц для i от 1 до N нц для j от
- 106. Задачи «A»: Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99], и находит максимальный
- 107. Задачи «B»: Яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. Преобразовать рисунок
- 108. Задачи «С»: Заполните матрицу, содержащую N строк и M столбцов, натуральными числами по спирали и змейкой,
- 109. Перебор элементов матрицы Главная диагональ: нц для i от 1 до N | работаем с A[i,i]
- 110. Перестановка строк 2-я и 4-я строки: нц для j от 1 до M c:= A[2,j] A[2,j]:=
- 111. Задачи «A»: Напишите программу, которая заполняет квадратную матрицу случайными числами в интервале [10,99], а затем записывает
- 112. Задачи «B»: Пиксели рисунка закодированы числами (обозначающими цвет) в виде матрицы, содержащей N строк и M
- 113. Программирование на алгоритмическом языке § 68. Работа с файлами
- 114. Как работать с файлами? файлы текстовые двоичные «plain text»: текст, разбитый на строки; из специальных символов
- 115. Принцип сэндвича хлеб хлеб начинка файл Fin, Fout Fin:= открыть на чтение('input.txt') Fout:= открыть на запись('output.txt')
- 116. Ввод данных цел a, b файл Fin Fin:= открыть на чтение('input.txt') закрыть(Fin) начать чтение(Fin) ввод Fin,
- 117. Вывод данных в файл цел a = 1, b = 2 файл Fout Fout:= открыть на
- 118. Чтение неизвестного количества данных нц пока | не конец файла | прочитать число из файла |
- 119. Задачи «A»: Напишите программу, которая находит среднее арифметическое всех чисел, записанных в файле в столбик, и
- 120. Обработка массивов Задача. В файле записано не более 100 целых чисел. Вывести в другой текстовый файл
- 121. Обработка массивов Ввод массива: файл Fin Fin:= открыть на чтение('input.txt') цел N N:= 0 | счётчик
- 122. Обработка массивов Вывод результата: файл Fout Fout:= открыть на запись('output.txt') нц для i от 1 до
- 123. Задачи «A»: В файле записано не более 100 чисел. Отсортировать их по возрастанию последней цифры и
- 124. Обработка строк Задача. В файле записано данные о собаках: в каждой строчке кличка собаки, ее возраст
- 125. Обработка строк | найти в строке пробел | удалить из строки кличку с первым пробелом |
- 126. Обработка строк лит s, s0 нц пока не конец файла(Fin) ввод Fin, s0 s:= s0 ...
- 127. Задачи «A»: В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и
- 128. Задачи «C»: В файле записаны данные о результатах сдачи экзамена. Каждая строка содержит фамилию, имя и
- 129. Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН
- 131. Скачать презентацию