Программирование алгоритмов формирования и обработки одномерных массивов — это программирование алгоритмов, предназначенных для обработки множества однотипных компонентов, которые обладают одним общим именем и располагаются в заданной области памяти компьютера.
Массивы: сущность, алгоритмы их обработки
Основным преимуществом сегодняшнего компьютерного оборудования считается высокий уровень производительности и существенный размер памяти. Для записи алгоритмов, использующих большие объёмы информации, в языках программирования, предназначенных для реализации таких алгоритмов, имеются табличные библиотеки. Работа многих алгоритмов была бы сильно усложнена, если бы применяемые в алгоритмах объекты не видоизменялись и не реорганизовывались. Необходимо отметить, организация информационных данных в формате таблиц, то есть массивов, считается основным методом представления данных одного типа, и она используется фактически во всех программах. Табличная методика лежит, также, в основе архитектурной организации нынешнего компьютерного оборудования, а его память, по существу, представляет собой громадный байтовый массив, имеющий адресацию, располагающуюся с последовательным возрастанием. Таким образом, без понимания принципов организации табличных массивов и основных алгоритмических правил их обработки, невозможно понять основы функционирования и уровень возможностей электронной вычислительной машины.
Массивы являются наиболее широко используемой методикой структурной организации данных, позволяющей выполнять их удобное размещение и обработку в компьютерах.
Под массивом понимается набор данных одного типа, имеющий единое имя. В массиве хранятся некоторые значения, которые называются компонентами массива. Все компоненты массива обязательно имеют одинаковый тип. Каждый компонент массива обладает своим индексом, определяющим его местоположение в общей структуре массива. Под размерностью массива понимается количество измерений массива, то есть число индексов одного элемента.
Одномерные массивы
Под одномерным массивом понимается набор однотипных элементов, к которым можно обратиться только по одному индексу. Все элементы массива сохраняются в памяти в определённой последовательности, задаваемой индексной нумерацией. Причём первый элемент имеет нулевой индекс, а следующие элементы получают индексы с номерами один, два и так далее. То есть, фактически, индекс является порядковым номером элемента в массиве. Прежде чем применять массив в программном приложении, его, аналогично переменным, требуется вначале объявить. Объявить массив можно следующим образом:
тип_элементов имя_массива[размер_массива];
где тип_элементов – это применяемый тип элементов массива;
имя_массива – имя формируется аналогично именам других переменных;
размер_массива – пишется количество элементов массива.
Рассмотрим примеры объявления одномерных массивов различных типов:
int a[9]; // массив, включающий девять элементов типа int
float array[5]; // массив, имеющий пять элементов типа float
char mas[41]; // массив, имеющий сорок один элемент типа char
Следует заметить, что не рекомендуется использовать безымянные константы для объявления массива. Массивы одного типа могут быть объявлены при посредстве списка через запятую. В список могут быть включены и переменные одного типа. К примеру, так:
int maxY, maxZ, ar[11], mas[8];
Необходимо также помнить, что при объявлении массива отсчёт индексации ведётся от нуля. Таким образом, первый элемент массива имеет индекс равный нулю. Это означает, что величина допустимого диапазона значений индексов располагается, начиная от нуля и до значения размерности массива минус единица. То есть, если объявлен массив:
ìnt mas[11];
Это значит, что в массиве есть одиннадцать переменных, которые имею индексы от нуля до десяти. При выполнении обращения к элементу массива с несуществующим индексом, появится сообщение об ошибке, вызванное обращением к участку памяти, которого нет в массиве.
Инициализация одномерного массива
Инициализация одномерного массива состоит в присвоении начальных значений его элементам, заявленным при его объявлении. Данная операция осуществляется указанием внутри фигурных скобок начальных значений:
ìnt mas[6] = {2, -6,11, 245, -59};
При выполнении инициализации массива с заданием меньшего, чес объём массива, числа начальных величин, остальным элементам выполняется присваивание нулевых значений. К примеру, при объявлении:
ìnt mas[11] = {2, 4, 6, 7};
осуществляется формирование массива, включающего в свой состав одиннадцать целочисленных элементов. Но, вместе с тем, четырём первым компонентам будут присвоены величины, стоящие в скобках, а остальные элементы будут приравнены к нулю. Данную особенность можно использовать, когда инициализируется массив со всеми нулевыми элементами:
ìnt mas[21] = {0};
Когда инициализируется массив, количество элементов массива не является обязательным параметром. Возможна запись такого типа:
ìnt mas[] = {2, 4, 6, 8, 10};
Размер массива в этом варианте определяется количеством значений в списке элементов, подлежащих инициализации.
Алгоритм вычисления суммы
Приведём пример формирования алгоритма, который позволяет определить суммарное значение всех элементов некоего одномерного информационного массива. Пусть задан массив А, состоящий из набора n элементов $a_1, a_2, a_3, …, a_n$. Необходимо определить суммарное величину этих элементов, а именно:
$S = a_1 + a_2 + a_3 + … + an$.
Вычисление суммы может быть представлено в виде поочерёдного определения набора сумм, согласно формулам:
$S = 0 S = S + a_2 … S = S + a_i S = S + a_n$
$S = S + a_1 S = S + a_3 …$
Чтобы сформировать алгоритм нахождения суммы, можно применить циклические вычисления, где одним из параметров цикла является величина переменной i, меняющаяся от одного до n с шагом, равным единице. Блок-схема алгоритма приведена на рисунке один.
Рисунок 1. Блок-схема алгоритма. Автор24 — интернет-биржа студенческих работ