Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Методическое пособие изучения Паскаль.doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
743 Кб
Скачать
☆

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] имеют целый тип.