Описание одномерных массивов.
При описании массива указывают его имя, способ нумерации элементов массива и тип элементов массива. Рассмотрим три способа описания одномерных массивов.
1. Создание нового типа данных.При создании нового типа данных для одномерного массива сначала в разделе описания типов указывают имя нового типа данных, способ нумерации элементов массива и тип элементов массива:
typeимя_типа_массива=array[тип_индекса] ofтип_элемента;
Затем в разделе описания переменных задают имя массива и через двоеточие указывают описанный ранее тип данных:
varимя_массива:имя_типа_массива;
Пример. Создание нового типа данных для одномерного массива:
type mas=array[1..10] of integer;
var а,b:mas;
Данный способ описания одномерных массивов обычно применяется при работе с подпрограммами (процедурами, функциями).
2. Описание массива в разделе описания переменных. При описании одномерного массива в разделе описания переменных указывают имя массива, способ нумерации элементов массива и тип элементов массива:
varимя_массива:array[тип_индекса] ofтип_элемента;
Пример. Описание одномерного массива в разделе описания переменных:
var а,b: array[1..10] of integer;
3. Описание массива в разделе описания констант (типизированные константы). При описании массива этим способом в разделе описания констант указывают имя массива, способ нумерации элементов массива, тип элементов массива и в круглых скобках через запятую перечисляют значения элементов массива:
сonstимя_массива:array[тип_индекса]ofтип_элемента=
(значения_элементов);
Пример. Описание одномерного массива в разделе описания констант (типизированные константы).
сonst a:array[1..10] of integer=(3,1,6,2,0,4,6,2,8,12);
s:array[1..5] of char=('a','b','c','d','e');
Массивы, элементами которых являются величины типа char, можно задавать строкой символов, при этом каждый символ должен быть заключен в апострофы.
Описание одномерного массива в разделе описания констант позволяет избежать многократного ввода данных при отладке программы.
Доступ к элементам одномерного массива.
При обращении к элементу массива указывают имя массиваи индекс элемента массива, заключенный в квадратные скобки.
Пример.Обозначение элементов одномерного массива в Паскале. Пусть дана последовательность , состоящая из десяти чисел (табл. 6.1). Для обработки данной последовательности в программе можно создать одномерный массив из десяти элементов. Пример обозначения элементов этого массива в Паскале приведен в таблице 6.1.
Таблица 6.1
Пример обозначения элементов одномерного массива в Паскале
Элементы последовательности | ||||||||||
Значения элементов | –9 | –5 | –2 | –1 | ||||||
Обозначение в Паскале | a[1] | а[2] | а[3] | а[4] | а[5] | а[6] | а[7] | а[8] | а[9] | а[10] |
Обычно обработка элементов массива осуществляется с помощью оператора цикла, в этом случае в качестве индекса указывается выражение, содержащее переменную цикла, например,
for k:=1 to 10 do
read(a[k]);
Ввод одномерных массивов.
При вводе и выводе массивов на экран обычно используют функцию очистки экрана clrscr (описана в разделе структура программы). Рассмотрим несколько способов задания значений элементов одномерного массива.
1.Можнозадать значения элементов одномерного массивав разделе описания констант (типизированные константы), описав типизированную константу и указав конкретные значения элементов массива (см. пункт о способах описания одномерных массивов).
2. Можноэлементам одномерного массива присвоить конкретные значения в программе с помощью оператора присваивания. Этот способ заполнения массива удобен, когда между элементами существует зависимость, например, арифметическая или геометрическая прогрессия.
Пример. Присвоение в программе элементам одномерного массива конкретных значений.
begin
а[1]:=–9;a[2]:=–5;a[3]:=–2;...end;for k:=1 to 10 do
a[k]:=2*(k+1);
3. Можно значения элементов одномерного массиваввести с клавиатуры.
Пример. Ввод элементов одномерного массива с клавиатуры. Требуется ввести с клавиатуры элементы массива (размерностью 10) ивывестиихнаэкран.
program prog;
uses crt;
type mas=array[1..10] of real;
var a:mas;
k:integer;
begin
clrscr;
{Ввод элементов одномерного массива с клавиатуры}
for k:=1 to 10 do
begin
write('Введите a[',k:2,']=');
read(a[k]);
end;
{Вывод элементов одномерного массива на экран}
writeln('Массива:');
for k:=1 to 10 do
write(a[k]:8:2,'');
writeln;
end.
4. Можно целочисленный одномерный массивзаполнить с помощью генератора псевдослучайных чисел (данный способ применим, когда элементы массива имеют целый тип). Описание функций и процедур для генерации псевдослучайных чисел приведен в табл. 6.2. Если использовать только функцию randomпри разных запусках программы генерируемая последовательность псевдослучайных чисел будет одной и той же. Чтобы этого избежать, нужно, в начале программы разместить процедуру randomize, в результате чего последовательность генерируемых чисел при разных запусках программы будет меняться.
Таблица 6.2