Содержание
- 2. Программирование на языке Паскаль Часть II Тема 1. Массивы © К.Ю. Поляков, 2006-2007
- 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-2007
- 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-2007
- 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-2007
- 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. Программирование на языке Паскаль Часть II Тема 5. Поиск в массиве © К.Ю. Поляков, 2006-2007
- 34. Поиск в массиве Задача – найти в массиве элемент, равный X, или установить, что его нет.
- 35. Линейный поиск nX := 0; for i:=1 to N do if A[i] = X then begin
- 36. Двоичный поиск X = 7 X 8 4 X > 4 6 X > 6 Выбрать
- 37. Двоичный поиск nX := 0; L := 1; R := N; {границы: ищем от A[1] до
- 38. Сравнение методов поиска
- 39. Задания "4": Написать программу, которая сортирует массив ПО УБЫВАНИЮ и ищет в нем элемент, равный X
- 40. Программирование на языке Паскаль Часть II Тема 6. Символьные строки © К.Ю. Поляков, 2006-2007
- 41. Чем плох массив символов? var B: array[1..N] of char; Это массив символов: каждый символ – отдельный
- 42. Символьные строки длина строки рабочая часть s[1] s[2] s[3] s[4] var s: string; var s: string[20];
- 43. Символьные строки Задача: ввести строку с клавиатуры и заменить все буквы "а" на буквы "б". program
- 44. Задания "4": Ввести символьную строку и заменить все буквы "а" на буквы "б" и наоборот, как
- 45. Операции со строками Объединение: добавить одну строку в конец другой. Запись нового значения: var s, s1,
- 46. Удаление и вставка Удаление части строки: Вставка в строку: s := '123456789'; Delete ( s, 3,
- 47. Поиск в строке Поиск в строке: s := 'Здесь был Вася.'; n := Pos ( 'е',
- 48. Примеры s := 'Вася Петя Митя'; n := Pos ( 'Петя', s ); Delete ( s,
- 49. Пример решения задачи Задача: Ввести имя, отчество и фамилию. Преобразовать их к формату "фамилия-инициалы". Пример: Введите
- 50. Программа program qq; var s, name, otch: string; n: integer; begin writeln('Введите имя, отчество и фамилию');
- 51. Задания "4": Ввести имя файла (возможно, без расширения) и изменить его расширение на ".exe". Пример: Введите
- 52. Программирование на языке Паскаль Часть II Тема 7. Рекурсивный перебор © К.Ю. Поляков, 2006-2007
- 53. Рекурсивный перебор Задача: Алфавит языка племени "тумба-юмба" состоит из букв Ы, Ц, Щ и О. Вывести
- 54. Рекурсивный перебор 1 K Рекурсия: Решения задачи для слов из К букв сводится к 4-м задачам
- 55. Процедура procedure Rec(p: integer); begin if p > K then begin writeln(s); count := count+1; end
- 56. Процедура procedure Rec(p: integer); const letters = 'ЫЦЩО'; var i: integer; begin if p > k
- 57. Программа program qq; var s: string; K, i, count: integer; begin writeln('Введите длину слов:'); read (
- 58. Задания Алфавит языка племени "тумба-юмба" состоит из букв Ы, Ц, Щ и О. Число K вводится
- 59. Программирование на языке Паскаль Часть II Тема 8. Матрицы © К.Ю. Поляков, 2006-2007
- 60. Матрицы Задача: запомнить положение фигур на шахматной доске. 1 2 3 4 5 6 c6 A[6,3]
- 61. Матрицы Матрица – это прямоугольная таблица чисел. Матрица – это массив, в котором каждый элемент имеет
- 62. Матрицы Объявление: const N = 3; M = 4; var A: array[1..N,1..M] of integer; B: array[-3..0,-8..M]
- 63. Матрицы Заполнение случайными числами for i:=1 to N do for j:=1 to M do A[i,j] :=
- 64. Обработка всех элементов матрицы Задача: заполнить матрицу из 3 строк и 4 столбцов случайными числами и
- 65. Задания Заполнить матрицу из 8 строк и 5 столбцов случайными числами в интервале [-10,10] и вывести
- 66. Операции с матрицами Задача 1. Вывести на экран главную диагональ квадратной матрицы из N строк и
- 67. Операции с матрицами Задача 3. Найти сумму элементов, стоящих на главной диагонали и ниже ее. строка
- 68. Операции с матрицами Задача 4. Перестановка строк или столбцов. В матрице из N строк и M
- 69. Задания Заполнить матрицу из 7 строк и 7 столбцов случайными числами в интервале [-10,10] и вывести
- 70. Программирование на языке Паскаль Часть II Тема 9. Файлы © К.Ю. Поляков, 2006-2007
- 71. Файлы Файл – это область на диске, имеющая имя. Файлы только текст без оформления, не содержат
- 72. Принцип сэндвича I этап. открыть файл : связать переменную f с файлом открыть файл (сделать его
- 73. Работа с файлами Особенности: имя файла упоминается только в команде assign, обращение к файлу идет через
- 74. Последовательный доступ при открытии файла курсор устанавливается в начало чтение выполняется с той позиции, где стоит
- 75. чтение до конца строки как вернуться назад? Последовательный доступ close ( f ); reset ( f
- 76. Пример Задача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно. Записать в файл
- 77. Программа program qq; var s, x: integer; f: text; begin assign(f, 'input.txt'); reset(f); s := 0;
- 78. Задания В файле input.txt записаны числа, сколько их – неизвестно. "4": Найти среднее арифметическое всех чисел
- 79. Обработка массивов Задача: в файле input.txt записаны числа (в столбик), сколько их – неизвестно, но не
- 80. Чтение данных в массив var A: array[1..100] of integer; f: text; function ReadArray: integer; var i:
- 81. Программа program qq; var A: array[1..100] of integer; f: text; N: integer; Begin N := ReadArray;
- 82. Задания В файле input.txt записаны числа (в столбик), известно, что их не более 100. "4": Отсортировать
- 83. Обработка текстовых данных Задача: в файле input.txt записаны строки, в которых есть слово-паразит "короче". Очистить текст
- 84. Обработка текстовых данных Алгоритм: Прочитать строку из файла (readln). Удалить все сочетания ", короче," (Pos, Delete).
- 85. Работа с двумя файлами одновременно program qq; var s: string; i: integer; fIn, fOut: text; begin
- 86. Полный цикл обработки файла while not eof(fIn) do begin readln(fIn, s); writeln(fOut, s); end; repeat i
- 87. Задания В файле input.txt записаны строки, сколько их – неизвестно. "4": Заменить все слова "короче" на
- 89. Скачать презентацию