Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции программирование ОЗО.doc
Скачиваний:
38
Добавлен:
13.04.2015
Размер:
363.01 Кб
Скачать

Массивы

Массив относится к данным структурированного типа.

  1. Массив – это совокупность конечного числа однотипных элементов с прямым доступом к каждому элементу; Прямой доступ – возможность использования любого элемента независимо от остальных.

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

Массив – наиболее распространенный структурированный тип.

Массив характеризуется:

  • размерностью (количеством индексов)

  • типом индексов

  • типом элементов массива

Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом:

1. Одномерный массив:

Type

<Имя типа> = array [нижний_индекс..верхний_индекс] of

<тип>;

где:

  • <имя типа >— имя типа массива;

  • array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является типом массива;

  • нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;

  • <тип> — тип элементов массива.

Пример:

Type

Temper=array[1..31] of real;

Kоef=array[0..2] of integer;

Name=array[1..30] of string[25];

2. Двумерный массив (матрица):

Type

<Имя типа> = array [нижний_индекс1..верхний_индекс1,

нижний_индекс2..верхний_индекс2] of <тип>;

где:

  • <Имя типа> – имя типа массива;

  • array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива;

  • нижний_индекс1 и верхний_индекс1, нижний_индекс2 и верхний_индекс2— целые константы, определяющие диапазон изменения индексов элементов двумерного массива и, неявно, количество элементов (размер) матрицы;

  • <тип >— тип элементов массива.

Пример:

Type

Matrica=array[1..3,1..2]ofinteger;

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

Var <имя массива> : <имя типа>;

Пример:

Var

T: temper;

m: name;

A,B:Matrica;

Массивы могут быть описаны непосредственно в разделе Var, без использования Type:

1. Одномерный массив:

var

<имя массива>: array [нижний_индекс..верхний_индекс] of тип;

2. Двумерный массив:

var

<имя массива>: array [нижний_индекс1..верхний_индекс1,

нижний_индекс2..верхний_индекс2] of тип;

Пример:

var

T: array[1..31] of real;

m:array[1..30] of string[25];

A,B:array[1..3,1..2] of integer;

При описании массивов выделяется память ЭВМ для хранения соответственного количества ячеек.

Многомерные массивы хранятся в памяти в виде линейных последовательностей значений.

Например:

Пусть описана матрица X:

VarX: array [1..3,1..2] of integer;

Этот массив будет размещаться в памяти в следующей последовательности:

X[1,1], X[1,2], X[2,1], X[2,2], X[3,1], X[3,2].

То есть быстрее изменяется правый индекс.

При обращении к элементам массива указывается имя массива, за которым в [ ] следует индекс (для одномерного) или индексы (для двумерного) элементов.

Например:

X[1,2]

Т[5]

В общем случае при работе с массивами необходимо предусматривать 3 блока циклической структуры:

1 – блок поэлементного ввода массива

2 – блок поэлементной обработки массива

3 – блок поэлементного вывода массива