Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика - ответы на билеты.doc
Скачиваний:
280
Добавлен:
11.09.2019
Размер:
945.15 Кб
Скачать

24.Структуры данных. Обработка массивов. Поиск в массиве. Основные алгоритмы сортировки массивов.

В связи с тем, что подавляющее большинство прикладных задач оперируют большим количеством разнообразных данных, практически все развитые универсальные языки программирования высокого уровня имеют в своем синтаксисе конструкции, предназначенные для организации сложных моделей представления данных. Основное назначение таких конструкций — упростить описание модели, упорядочить дальнейшую обработку и позволить создавать объединения из отдельных переменных.

Самый простой случай такой структуры данных - массив - упорядоченный набор однотипных переменных. Такой набор переменных объявляется заранее, с указанием типа переменных и их количества — для отведения нужного объема памяти. Переменные в массиве называются его элементами. Каждый элемент массива имеет индекс — целое число, задающее его положение по порядку в массиве.

Основная операция с массивом — обращение к его элементам. Элементы массива используются и изменяются как обычные переменные. Массивы активно используются в тех случаях, когда нужно обработать большое количество однотипных данных. Примеры: массив значений температуры, массив названий товаров и пр.

Часто возникает задача поиска (определения индекса) элемента в массиве по заданному критерию. Простейший способ такого поиска: перебор всех элементов до нахождения нужного. В качестве ответа можно хранить значение, а можно — индекс найденного элемента.

Если в массиве выдержан какой-то принцип расположения элементов (упорядочение), то все операции поиска можно ускорить. Упорядоченным по неубыванию считается массив, в котором каждый следующий элемент не меньше предыдущего, упорядоченным по невозрастанию — тот, где каждый следующий элемент не больше предыдущего. В упорядоченных массивах можно искать любой заданный элемент методом деления отрезка пополам, а поиск максимума и минимума вообще не нужен.

Алгоритмов сортировки массивов достаточно много, наиболее простой в реализации — 1) метод пузырька. Этот алгоритм предполагает многократный проход по массиву; на каждом проходе (итерации цикла) циклически обмениваются местами попарно элементы, стоящие в неправильной последовательности. В результате самый «легкий» элемент (минимальный или максимальный) «всплывает» и занимает свое место. На каждой итерации количество обрабатываемых элементов уменьшается на единицу. Итерации повторяются, пока требуется выполнить хотя бы одну перестановку:

2) Другой пример — сортировка вставками. На i-й итерации считается, что часть масива с 1-го по (i - 1)-й элемент уже упорядочена. Далее i-й элемент вставляется в отсортированную часть массива без нарушения упорядоченности. И так далее.

После объявления массива для его хранения отводится определенное место в памяти. Однако, чтобы начать работу с массивом, необходимо его предварительно заполнить, т. е. присвоить элементам массива определенные значения. Заполнение массива производится различными способами.

Первый способ состоит в том, что значения элементов массива вводятся пользователем с помощью функции ввода InputBox. После запуска программы на выполнение и щелчка по кнопке Commandl следует помещать на последовательно появляющихся панелях ввода в текстовом поле буквы алфавита.

Второй способ заполнения массива заключается в применении оператора присваивания. Заполним числовой массив bytA (I) целыми случайными числами в интервале от 1 до 100, используя функцию случайных чисел Rnd и функцию выделения целой части числа Int в цикле со счетчиком.