Паскаль. Одномерный массив. Ввод и вывод массива.

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

Примеры массивов:

Х1, Х2, …, Хn – одномерный массив, состоящий из n элементов;

А0, А1, А2, …, А10 – одномерный массив,состоящий из 11 элементов.

Массивы бывают одномерными (один индекс), двумерными (два индекса) и т.д.

 

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

 

Рассмотрим массив Х1, Х2, …, Хn. Здесь

Х – имя массива;

1, 2,…, n – индексы (порядковые номера) элементов;

Х7 – седьмой элемент массива Х.

 

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

Для описания подобных объектов в программировании предварительно следует ввести соответствующий тип в разделе описания типов.

 

Тип массив описывается следующим образом:

Type

Имя типа = Array [тип индекса (ов)] Of тип элементов;

Var

Имя переменной: имя типа;

 

Переменную типа массив можно описать сразу в разделе описания переменных Var:

 

Var Имя переменной: array [тип индекса (ов)] Of тип элементов;

Здесь

Array – служебное слово (в переводе с английского означает «массив»);

Of – служебное слово (в переводе с английского означает «из»).

Тип индекса – любой порядковый тип, кроме типов integer, longint.

Тип же самих элементов может быть любым, кроме файлового типа.

Количество элементов массива называется его размерностью. Несложно подсчитать, что при последнем способе описания множества индексов размерность массива равна: максимальное значение индекса – минимальное значение индекса + 1.

Например:

Type

mas = array [1..20] of real;

Var X: mas;

 

Массив Х – одномерный, состоящий из двадцати элементов вещественного типа. Элементы массива хранятся в памяти компьютера последовательно друг за другом.

 

Индексы элементов массива могут начинаться с любого целого числа, в том числе и отрицательного, например:

 

Ввод и вывод одномерных массивов в Паскале

 

Ввод и вывод массивов осуществляется поэлементно.

 

Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30.

 

Пусть i – индекс (порядковый номер) элемента в массиве Х.

Тогда

Хi – i-й элемент массива Х, где i = 1, 2, …, 30.

Для ввода массива можно использовать любой цикл.

Первый вариант: ввод массива с использованием цикла с предусловием.

Program Primer_1;

Var i: integer;

X: array [1..30] of Integer;

Begin

i := 1;

While i <= 30 Do

Begin

Read (X[i]); i := i + 1

End;

Readln

End.

 

Можно ввести с клавиатуры элементы следующим образом:

-7 _ 4 _ -2 _ 0 _ 12 _ -1 _ -5 _ 9 _ 11 _ -3 _ -5 _ … _15, то есть через пробел ввести в строчку и нажать клавишу Enter.

Можно было ввести элементы в столбец, отделяя элементы клавишей Enter, то есть каждый элемент с новой экранной строки:

-7 Enter

4 Enter

-2 Enter

15 Enter

 

В первом варианте ввод массива Х в программе осуществляется с использованием цикла с предусловием.

 

Второй вариант: ввод массива с использованием цикла с постусловием

 

Program Primer_2;

Var i: integer;

X: array [1..30] of Integer;

Begin

i := 1;

Repeat

Read (X[i]); i := i + 1

Until i > 30;

Readln

End.

 

Массив X введен с использованием цикла с постусловием.

 

Третий вариант: ввод массива с использованием цикла с параметром

 

 

Program Primer_3;

Var i: integer;

X: array [1..30] of Integer;

Begin

For i := 1 To 30 Do Read (X[i]);

Readln

End.

 

Массив вводится с помощью цикла с параметром, где в качестве параметра используется индекс элемента массива (i).

 

Вывод одномерного массива осуществляется аналогично.

 

В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы на другие здесь недостаточно. Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:

 

For i := 1 To n Do Write (X[i],’ ‘);

For i := 1 To n Do Writeln (x[i]).

 

Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа, используя цикл с параметром:

Program Primer_4;

Const n = 30;

Var i: Integer;

X: Array [1..n] Of Real;

Begin

For i:= 1 To n Do Write (X[i] : 6 : 2, ‘ ‘);

Writeln; {курсор переводит на новую строку}

Readln

End.