Содержание
- 2. Программирование на языке Паскаль Часть II Тема 1. Массивы © К.Ю. Поляков, 2006-2009
- 3. Массивы Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Особенности:
- 4. Массивы A массив 3 15 НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] ЗНАЧЕНИЕ элемента
- 5. Объявление массивов Зачем объявлять? определить имя массива определить тип массива определить число элементов выделить место в
- 6. Объявление массивов Массивы других типов: Другой диапазон индексов: Индексы других типов: var X, Y: array [1..10]
- 7. Что неправильно? var a: array[10..1] of integer; ... A[5] := 4.5; [1..10] var a: array ['z'..'a']
- 8. Массивы Объявление: Ввод с клавиатуры: Поэлементные операции: Вывод на экран: const N = 5; var a:
- 9. Задания «4»: Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива. Пример:
- 10. Программирование на языке Паскаль Часть II Тема 2. Максимальный элемент массива © К.Ю. Поляков, 2006-2009
- 11. Максимальный элемент Задача: найти в массиве максимальный элемент. Алгоритм: Псевдокод: { считаем, что первый элемент –
- 12. Максимальный элемент max := a[1]; { считаем, что первый – максимальный } iMax := 1; for
- 13. Программа program qq; const N = 5; var a: array [1..N] of integer; i, iMax: integer;
- 14. Задания «4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и найти в нем
- 15. Программирование на языке Паскаль Часть II Тема 3. Обработка массивов © К.Ю. Поляков, 2006-2009
- 16. Реверс массива Задача: переставить элементы массива в обратном порядке. Алгоритм: поменять местами A[1] и A[N], A[2]
- 17. Как переставить элементы? 2 3 1 Задача: поменять местами содержимое двух чашек. Задача: поменять местами содержимое
- 18. Программа program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin
- 19. Задания «4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и выполнить инверсию отдельно
- 20. Циклический сдвиг Задача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего.
- 21. Программа program qq; const N = 10; var A: array[1..N] of integer; i, c: integer; begin
- 22. Задания «4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и выполнить циклический сдвиг
- 23. Программирование на языке Паскаль Часть II Тема 4. Сортировка массивов © К.Ю. Поляков, 2006-2009
- 24. Сортировка Сортировка – это расстановка элементов массива в заданном порядке (по возрастанию, убыванию, последней цифре, сумме
- 25. Метод пузырька Идея – пузырек воздуха в стакане воды поднимается со дна вверх. Для массивов –
- 26. Программа 1-ый проход: сравниваются пары A[N-1] и A[N], A[N-2] и A[N-1] … A[1] и A[2] A[j]
- 27. Программа program qq; const N = 10; var A: array[1..N] of integer; i, j, c: integer;
- 28. Метод пузырька с флажком Идея – если при выполнении метода пузырька не было обменов, массив уже
- 29. Метод пузырька с флажком i := 0; repeat i := i + 1; flag := False;
- 30. Метод выбора Идея: найти минимальный элемент и поставить на первое место (поменять местами с A[1]) из
- 31. Метод выбора for i := 1 to N-1 do begin nMin = i ; for j:=
- 32. Задания «4»: Заполнить массив из 10 элементов случайными числами в интервале [0..100] и отсортировать его по
- 33. «Быстрая сортировка» (Quick Sort) Идея – более эффективно переставлять элементы, расположенные дальше друг от друга. N
- 34. «Быстрая сортировка» (Quick Sort) Медиана – такое значение X, что слева и справа от него в
- 35. «Быстрая сортировка» (Quick Sort)
- 36. «Быстрая сортировка» (Quick Sort) procedure QSort ( first, last: integer); var L, R, c, X: integer;
- 37. «Быстрая сортировка» (Quick Sort) program qq; const N = 10; var A: array[1..N] of integer; begin
- 38. Количество перестановок (случайные данные)
- 39. Задания «4»: Заполнить массив из 10 элементов случайными числами в интервале [-50..50] и отсортировать его по
- 40. Программирование на языке Паскаль Часть II Тема 5. Поиск в массиве © К.Ю. Поляков, 2006-2009
- 41. Поиск в массиве Задача – найти в массиве элемент, равный X, или установить, что его нет.
- 42. Линейный поиск nX := 0; for i:=1 to N do if A[i] = X then begin
- 43. Двоичный поиск X = 7 X 8 4 X > 4 6 X > 6 Выбрать
- 44. Двоичный поиск nX := 0; L := 1; R := N; {границы: ищем от A[1] до
- 45. Сравнение методов поиска
- 46. Задания «4»: Написать программу, которая сортирует массив ПО УБЫВАНИЮ и ищет в нем элемент, равный X
- 47. Программирование на языке Паскаль Часть II Тема 6. Символьные строки © К.Ю. Поляков, 2006-2009
- 48. Чем плох массив символов? var B: array[1..N] of char; Это массив символов: каждый символ – отдельный
- 49. Символьные строки длина строки рабочая часть s[1] s[2] s[3] s[4] var s: string; var s: string[20];
- 50. Символьные строки Задача: ввести строку с клавиатуры и заменить все буквы «а» на буквы «б». program
- 51. Задания «4»: Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как
- 52. Операции со строками Объединение: добавить одну строку в конец другой. Запись нового значения: var s, s1,
- 53. Удаление и вставка Удаление части строки: Вставка в строку: s := '123456789'; Delete ( s, 3,
- 54. Поиск в строке Поиск в строке: s := 'Здесь был Вася.'; n := Pos ( 'е',
- 55. Примеры s := 'Вася Петя Митя'; n := Pos ( 'Петя', s ); Delete ( s,
- 56. Преобразования «строка»-«число» Из строки в число: s := '123'; Val ( s, N, r ); {
- 57. Пример решения задачи Задача: Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы». Пример: Введите
- 58. Программа program qq; var s, name, otch: string; n: integer; begin writeln('Введите имя, отчество и фамилию');
- 59. Задания «4»: Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe». Пример: Введите
- 60. Посимвольный ввод Задача: с клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», а затем –
- 61. Посимвольный ввод Пропуск фамилии: repeat read(c); until c = ' '; { пока не встретим пробел
- 62. Программа program qq; var c: char; i, N, count, Year, Gol: integer; begin writeln('Количество футболистов'); readln(N);
- 63. Посимвольный ввод Если фамилия нужна: fam := ''; { пустая строка } repeat read(c); { прочитать
- 64. Посимвольный ввод Если нужно хранить все фамилии: const MAX = 100; var fam: array[1..MAX] of string;
- 65. Задания «4»: Вывести фамилию и имя футболиста, забившего наибольшее число голов, и количество забитых им голов.
- 66. Программирование на языке Паскаль Часть II Тема 7. Рекурсивный перебор © К.Ю. Поляков, 2006-2009
- 67. Рекурсивный перебор Задача: Алфавит языка племени «тумба-юмба» состоит из букв Ы, Ц, Щ и О. Вывести
- 68. Рекурсивный перебор 1 K Рекурсия: Решения задачи для слов из К букв сводится к 4-м задачам
- 69. Процедура procedure Rec(p: integer); begin if p > K then begin writeln(s); count := count+1; end
- 70. Процедура procedure Rec(p: integer); const letters = 'ЫЦЩО'; var i: integer; begin if p > k
- 71. Программа program qq; var s: string; K, i, count: integer; begin writeln('Введите длину слов:'); read (
- 72. Задания Алфавит языка племени «тумба-юмба» состоит из букв Ы, Ц, Щ и О. Число K вводится
- 73. Программирование на языке Паскаль Часть II Тема 8. Матрицы © К.Ю. Поляков, 2006-2009
- 74. Матрицы Задача: запомнить положение фигур на шахматной доске. 1 2 3 4 5 6 c6 A[6,3]
- 75. Матрицы Матрица – это прямоугольная таблица чисел (или других элементов одного типа). Матрица – это массив,
- 76. Матрицы Объявление: const N = 3; M = 4; var A: array[1..N,1..M] of integer; B: array[-3..0,-8..M]
- 77. Матрицы Заполнение случайными числами for i:=1 to N do for j:=1 to M do A[i,j] :=
- 78. Обработка всех элементов матрицы Задача: заполнить матрицу из 3 строк и 4 столбцов случайными числами и
- 79. Задания Заполнить матрицу из 8 строк и 5 столбцов случайными числами в интервале [-10,10] и вывести
- 80. Операции с матрицами Задача 1. Вывести на экран главную диагональ квадратной матрицы из N строк и
- 81. Операции с матрицами Задача 3. Найти сумму элементов, стоящих на главной диагонали и ниже ее. строка
- 82. Операции с матрицами Задача 4. Перестановка строк или столбцов. В матрице из N строк и M
- 83. Задания Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [-10,10] и вывести
- 84. Программирование на языке Паскаль Часть II Тема 9. Файлы © К.Ю. Поляков, 2006-2009
- 85. Файлы Файл – это область на диске, имеющая имя. Файлы только текст без оформления, не содержат
- 86. Принцип сэндвича I этап. открыть файл : связать переменную f с файлом открыть файл (сделать его
- 87. Работа с файлами Особенности: имя файла упоминается только в команде assign, обращение к файлу идет через
- 88. Последовательный доступ при открытии файла курсор устанавливается в начало чтение выполняется с той позиции, где стоит
- 89. чтение до конца строки как вернуться назад? Последовательный доступ close ( f ); reset ( f
- 90. Пример Задача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно. Записать в файл
- 91. Программа program qq; var s, x: integer; f: text; begin assign(f, 'input.txt'); reset(f); s := 0;
- 92. Задания В файле input.txt записаны числа, сколько их – неизвестно. «4»: Найти среднее арифметическое всех чисел
- 93. Обработка массивов Задача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно, но не
- 94. Чтение данных в массив var A: array[1..100] of integer; f: text; function ReadArray: integer; var i:
- 95. Программа program qq; var A: array[1..100] of integer; f: text; N, i: integer; Begin N :=
- 96. Задания В файле input.txt записаны числа (в столбик), известно, что их не более 100. «4»: Отсортировать
- 97. Обработка текстовых данных Задача: в файле input.txt записаны строки, в которых есть слово-паразит «короче». Очистить текст
- 98. Обработка текстовых данных Алгоритм: Прочитать строку из файла (readln). Удалить все сочетания ", короче," (Pos, Delete).
- 99. Работа с двумя файлами одновременно program qq; var s: string; i: integer; fIn, fOut: text; begin
- 100. Полный цикл обработки файла while not eof(fIn) do begin readln(fIn, s); writeln(fOut, s); end; repeat i
- 101. Задания В файле input.txt записаны строки, сколько их – неизвестно. «4»: Заменить все слова «короче» на
- 103. Скачать презентацию