Описание статических массивов в программе. Доступ к элементам.

Массив задается указанием верхней и нижней границ индексов элементов массива (диапазоном индексов) и типом элементов массива. Рис. 1 Ввод элементов массива. Матрицы в памяти располагаются построчно – элементы первой строки, второй и т.д. К структурным типам относятся множества, массивы, записи, файлы,… Результат поиска равен либо индексу найденного элемента, либо нулю, т.е. индексу барьера, если в массиве элемента нет. Для поиска в среднем требуется (n=1)/2 сравнений.

Название работы: Массивы. Описание: Массивы. В этом случае данные структурного типа будут упакованы. Каждый элемент массива помечается целым числом или элементом другого порядкового типа, который называется индексом элемента.

Описание статических массивов в программе. Доступ к элементам.

Доступ к каждому элементу массива осуществляется с помощью индекса, т.е. порядкового номера элемента массива. Если статический массив создан, но значения назначены не во все элементы, неиспользованные элементы занимают память и содержат произвольные данные. Массив в памяти располагается непрерывным блоком.

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

Стандартные функции Low() и High() действуют для идентификаторов типа массива. Пример – фрагмент программы нахождения суммы и произведения элементов массива Х из n целочисленных элементов. Алгоритм решения задачи следующий.

Операции с элементами массива.

Решим следующую задачу: задан массив из n целых чисел, упорядочить массив по возрастанию. Блок-схема представлена на рис.6. Алгоритм упорядочивания состоит в следующем. Сравниваем текущий и последующий элементы массива, если текущий больше последующего, то меняем их местами. Для упорядочивания по убыванию необходимо при сравнении элементов массива заменить знак “больше” на знак “меньше”.

Структурные типы данных. Способы представления в памяти.

Пример программы упорядочивания массива (пузырьковая сортировка). Сортировка выбором (selectionsort) работает несколько быстрее пузырьковой, т.к. в ней существенно меньше перестановок элементов. Задача сортировки выбором — искать наименьший элемент, который затем меняется местами с элементом из начала массива. Простейшим методом поиска элемента, находящегося в неупорядоченном массиве, является последовательны просмотр каждого элемента массива.

Проверку выхода за границу массива можно опустить (тем самым, уменьшив время проверки), если искомый элемент гарантированно находиться в массиве. Такой гарантией может служить барьер – нулевой элемент массива, значение которого равно искомому элементу. Таким образом, порядок алгоритма линейный. Поиск можно ускорить, если массив упорядочен. Сначала искомый элемент сравнивают со средним элементом массива.

Матрицы, как и массивы, нужно вводить (выводить) поэлементно. Декларация не распределяет память под элементы массива MyArray. Сама переменная MyArray хранит адрес, по которому располагаются элементы массива. Для того чтобы создать массив в памяти, необходимо вызвать процедуру SetLength().

Для освобождения динамического массива необходимо присвоить переменной массива значение nil(пустой адрес). При работе с динамическими массивами всегда следует помнить, что переменные хранят ссылки (адреса) на массивы. А будет равна 0. Если бы А и В были статическими массивами, то А было бы равно единице.

В отличие от статических массивов, динамические массивы можно сравнивать на = и <>, при этом будут сравниваться ссылки. Для того чтобы усечь динамический массив, можно использовать функцию Copy(). При включенной директиве в программу добавляется специальный код, проверяющий все операции с массивами на предмет допустимости заданного индекса. Директиву {$R+} применяют на стадии отладки программы для выявления ошибок при работе с массивами.

Задан массив S(N). Определить максимальный и минимальный элементы массива и их номера. Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.

Пример – вывод элементов массива Х в одну строку. В качестве элемента массива можно указать любой заранее определенный тип, в том числе и массив. Обратите внимание, что нумерация в массиве начинается с нуля, и этот элемент не используется для хранения данных. При изменении числа элементов массива, в программе достаточно изменить значение константы (т.к. все циклы зависят от константы). В начале программы самого массива не существует.

Что еще посмотреть: