Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Понятие массива



Типы данных в языке ПАСКАЛЬ делятся на простые и сложные. К простым типам относятся стандартные, перечислимые и ограничен­ные; к сложным типам — массивы, множества, записи, файлы. Эле­ментами сложных типов могут быть простые типы, а также, в свою! очередь, сложные типы. Введение сложных типов делает язык программирования более мощным и позволяет составлять эффективные про­граммы широкого класса задач. Рассмотрим подробнее сложные типы данных.

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

Под массивом понимается совокупность конечного числа данных одного типа. Массив обозначается одним именем. Так, всю совокуп­ность действительных чисел

1.6, 14.9, -5.0, 8.5, 0.46

можно считать массивом и обозначить одним именем, например А. Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса.

В математике, как правило, индекс либо заключается в круглые скобки, либо указывается несколько ниже имени массива, например: А(1), А(2), А(3), A(4), А(5) или А1, A2, A3, A4, А5, или в общем виде) {АI}, где i= 1,2,3,..., n.

В языке ПАСКАЛЬ индекс заключается в квадратные скобки. Для рассмотренного примера элементами массива А являются: | А[1] = 1.6, А[2] = 14.9, А[3] = - 5.0, А[4] =8.5, А[5] =0.46.

Если в программе используется массив, то он должен быть описан либо в разделе переменных VAR, либо в разделе типов TYPE. Pacсмотрим сначала описание массива в разделе переменных VAR. Форма) описания имеет вид

VAR_имя массива: ARRAY [t1] OF_t2;

Здесь ARRAY (массив); OF (из) — служебные слова; t1 — тип индекса, в качестве которого может быть любой простой тип, кроме стандартных типов REAL и INTEGER; (2 - тип элементов массива,) допустимый на языке ПАСКАЛЬ.

Для предыдущего примера описание массива имеет вид

VAR A: ARRAY [1..5] OF REAL;

Здесь А — имя массива, элементы которого имеют базовый тип REAL; тип индекса -ограниченный от 1 до 5.

Следует отметить, что поскольку тип индекса не может быть стан­дартным целым или действительным типом, то нельзя делать следую­щее описание массива (часто встречающаяся ошибка)

VAR A: ARRAY [5] OF REAL;

или

VAR A: ARRAY [INTEGER] OF REAL;

Примеры правильного описания массивов:

VAR

MASSIV:ARRAY[1..N]OF REAL;

ГОД:ARRAY[ЯНВАРЬ.. ДЕКАБРЬ]OF INTEGER;

L:ARRAY[СТРОКА]OF BOOLEAN;

M1:ARRAY[CHAR]OF КРУГ;

Если несколько массивов имеют одинаковый тип индексов и одинаковый базовый тип, то допускается в описании объединять массивы в список, например:


VAR А, В, С: ARRAY [1..50] OF REAL

Здесь объявлено списком три массива А, В, С действительных чисел, каждый из которых содержит по 50 элементов (от 1 до 50):

A[1],A[2],..,A[50],

B[1],B[2],..,B[50],

C[1],C[2],..,C[50].

Нельзя путать понятия «индекс» и «тип индекса». Тип индекса используется только в разделе описания массива, а индекс указы­вается в разделе операторов для обозначения конкретных элементов массива. При этом индекс должен быть того же типа, что и описание типа индекса.

В качестве индекса может быть выражение, частным случаем которого является константа или переменная. Элемент массива иначе называется переменной с индексом. В отличие от нее переменная без индекса называется простой переменной.

Элементы массива могут стоять как в левой части оператора при­сваивания, так и в выражениях. Над элементами массива можно производить те же операции, которые допустимы для данных его базо­вого типа. Если базовый тип есть INTEGER, то допустимы все опера­ции над данными целого типа, включая и стандартные функции. Примеры использования элементов массива в разделе операторов:

В[5]: = В[З] +1;

SUM: = SUM + С[K];

Р1: = А[2*I+1];

Для ввода и вывода числовых значений массива используются циклы. Например, цикл:

FOR l:=1 ТО 9 DO

READ(A[I]);

организует ввод девяти значений элементов массива А:

А[1], А[2],..,А[9],

а цикл

FOR I:=1 ТО 9 DO

WRITE(A[I]);

вывод девяти значений элементов того же массива.

Пример 9.1. Вычислить сумму пятнадцати целых чисел. Для обозна­чения чисел введем имя массива X, элементы которого имеют индекс I. Сумму обозначим именем SUM. Тогда SUM = Х[1] + Х[2] + … +X[15].

Фрагмент описания массива и использование его элементов в раз­деле операторов:

VAR X:ARRAY [1..15] OF INTEGER;

...

SUM:=0;

FOR I:=1 TO 15 DO

BEGIN

READ(X[I]);

SUM:= SUM + X[I]

END;

Внутри цикла вводится значение одного элемента массива X [ I ] и оно прибавляется к значению текущей суммы SUM. Цикл повторяется 15 раз. Элементы массива имеют целый тип (INTEGER), а индекс ограниченный тип 1..15.

Переменная I, с одной стороны, используется как параметр цикла, а с другой — в качестве индекса. В этом случае описать переменную I можно двояко:

а) в разделе переменных VAR указать переменную I как ограни­ченного типа, например

VAR

X:ARRAY[1..15]OF INTEGER;

I:1..15;

б) учитывая, что элементами ограниченного типа являются целые числа, можно ввести описание INTEGER, например

VAR

X:ARRAY[1..15] OF INTEGER;

I:INTEGER;

Так как в языке ПАСКАЛЬ требуется описание всех переменных, то необходимо описать еще и переменную SUM. Естественно, что она имеет тип INTEGER, так как все суммарные числа Х[1] имеют целый тип.





Дата публикования: 2014-11-02; Прочитано: 577 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...