Содержание урока:
8.1. Общие сведения об одномерных массивах
8.2. Задачи поиска элемента с заданными свойствами
8.3. Проверка соответствия элементов массива некоторому условию. 8.4. Удаление и вставка элементов массива
8.5. Перестановка всёх элементов массива в обратном порядке. 8.6. Сортировка массива
САМОЕ ГЛАВНОЕ. Вопросы и задания
Материалы к уроку
Из элементов простых типов в языке Pascal можно образовывать составные типы данных (структуры данных). Примером таких структур являются одномерные массивы.
Массив в языке Pascal — это набор однотипных данных, причём количество этих данных фиксировано и определяется при описании массива. Все переменные, входящие в массив, имеют одно и то же имя — имя массива, а различаются они по индексу — номеру (месту) в массиве.
Перед использованием в программе массив должен быть описан, т. е. должно быть указано имя массива, количество элементов массива и их тип. Это необходимо для того, чтобы выделить в памяти под массив блок ячеек нужного типа.
Чаще всего массив обрабатывается в цикле for. Но при работе с массивами можно использовать и другие циклы.
К типовым задачам обработки одномерных массивов, решаемым в процессе их однократного просмотра, относятся:
• задачи поиска элемента с заданными свойствами, в том числе максимумов и минимумов;
• проверка соответствия элементов массива некоторому условию (подсчёт количества или суммы элементов, удовлетворяющих некоторому условию; проверка соответствия всех элементов массива некоторому условию; проверка массива на упорядоченность и др.);
• задачи на удаление и вставку элементов массива;
• задачи на перестановку всех элементов массива в обратном порядке и т. д.
Сортировка — один из наиболее распространённых процессов современной обработки данных. Под сортировкой (упорядочением) массива понимают перераспределение значений его элементов в некотором определённом порядке.
1. Приведите примеры задач поиска информации в больших массивах данных.
2. Почему важно уметь решать задачи, связанные с обработкой массивов, путём однократного просмотра массива?
3. Программист написал программу суммирования элементов массива, но допустил в ней ошибку.
1) Что получится в результате выполнения этой программы, если в качестве элементов массива ввести числа: 1, -2, 3, -4, 5, -6, 7, -8, 9, -10?
2) Придумайте пример такого массива, обработка которого с помощью этой программы приводила бы к правильному результату.
3) Найдите ошибку, допущенную программистом.
4. Программист написал программу нахождения произведения элементов массива, но допустил в ней ошибку.
1) Что получится в результате выполнения этой программы, если в качестве элементов массива ввести числа: 1, -2, 3, -4, 5, -6, 7, -8, 9, -10?
2) Придумайте пример такого массива, обработка которого с помощью этой программы приводила бы к правильному результату.
3) Найдите ошибку, допущенную программистом.
5. На блок-схеме представлен алгоритм одновременного поиска максимального и минимального значений элементов массива:
Реализуйте этот алгоритм на языке программирования и выполните программу для массива из задания 6.
6. Имеется одномерный целочисленный массив из семи элементов:
Каким будет результат преобразования массива по следующему алгоритму?
7. Имеется ли разница между операциями вставки в массив элемента на место с индексом k и замены значения элемента массива с индексом k? Обоснуйте свой ответ.
8. Имеется одномерный целочисленный массив из семи элементов:
Каким будет результат преобразования массива по следующему алгоритму?
9. Дана программа:
Что получится в результате выполнения этой программы? Какую задачу решает эта программа?
10. Дано натуральное десятичное число n <= 32 000. Напишите программу, в которой:
1) из цифр данного числа формируется одномерный целочисленный массив;
2) определяются наибольшая и наименьшая цифры данного числа;
3) находятся сумма и произведение цифр, образующих данное число.
11. Требуется упорядочить по весу в порядке неубывания тг непрозрачных банок с чаем, имея в своём распоряжении только чашечные весы без гирь. Опишите возможный алгоритм решения этой задачи.