Одномерные массивы

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

С понятием «массив» приходится встречаться при решении научно-технических, экономических задач обработки большого количества однотипных значений.

Таким образом, массив – это упорядоченная последовательность данных, состоящая из фиксированного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем.

Название регулярный тип массивы получили за то, что в них объединены однородные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элементы в массиве.

Массиву присваивается имя, посредством которого можно ссылаться на него, как на единое целое. Элементы, образующие массив, упорядочены так, что каждому элементу соответствует совокупность номеров (индексов), определяющих его место в общей последовательности. Индексы представляют собой выражения простого типа. Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индекса нужного элемента: <имя массива>[<индекс>].

Описание массива определяет его имя, размер массива и тип данных. Общий вид описания массива:

Type <имя нового типа данных>=array[<тип индекса>] of <тип компонентов>;

Далее, в перечне переменных указывается имя массива, и через двоеточие указывается имя нового типа данных. Массив может быть описан и без представления типа в разделе описания типов данных:

Var <имя массива>: array [<тип индекса>] of <тип компонентов>;

 

Чаще всего в качестве типа индекса используется интервальный целый тип.

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

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

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

Алгоритм решения задач с использованием массивов:

Пример 1. Задан одномерный массив В(10), заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k.

Program massiv;

Uses crt; {очистка экрана}

Var b:array [1..10] of integer;

I, k, s : integer;

Begin

Clrscr; S:=0;

For i:=1 to 10 do

Begin

Write(‘Введите’, i, ‘-й элемент массива ’);

Readln (B[i]);

Write(b[i], ‘ ‘);

End;

Write(‘Введите число k’);

Readln(k);

For i:=1 to 10 do

If b[i]>k then s:=s+1;

Write(‘Количество элементов’, s);

End.

 

Пример 2. Определить самую высокую температуру и самый теплый день в мае.

Program massiv;

Uses crt; {очистка экрана}

Var t:array [1..31] of integer;

I, max, n : integer;

Begin

Clrscr;

For i:=1 to 31 do

Begin

t[i]:=random(20);

Write(b[i], ‘ ‘);

End;

Max:=t[1]; n:=1;

For i:=2 to 31 do

Begin

If t[i] > max then max:=t[i]; n:=i ;

End;

Write(‘максимальная температура’, max, ‘в’, n, ‘день’);

End.