Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4 Одномерные массивы.doc
Скачиваний:
4
Добавлен:
25.03.2015
Размер:
162.82 Кб
Скачать

Тема 6

Структурированный тип данных

МАССИВЫ .

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

В Турбо-Паскале допускается произвольная глубина вложенности типов, однако суммарная длина любого из них во внутреннем представлении не должна превышать 65520 байт.

В TP 4 типа структурированных данных:

        • массивы (тип-массив);

        • файлы (тип-файл);

        • записи; (тип-запись);

        • множества (тип-множество);

  1. Основные определения.

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

Элементы массива относятся к одному типу, количество их фиксировано.

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

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

b[1], b[2], b[b[10]+1] - элементы массива B;

c[i+1], c[i*5-2] - элементы массива C;

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

a[1], b[2,5], c[1,3,2];

Размерность массива практически может быть любой.

Каждому массиву, используемому в программе, отводится место в памяти. Но в отличие от простых переменных массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента.

Время доступа к любому элементу массива не зависит от значения индекса – это прямой доступ.

2. Описание массивов.

Описать массив – это значит задать:

  • имя массива

  • число элементов

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

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

Описать массив можно двумя способами :

1). Тип – массив

является типом, определяемым пользователем, его можно определить в разделе описания типов.

Формат записи:

TYPE <имя типа> = ARRAY [< тип >] OF <тип элементов > ;

индексов

где:

ARRAY , OF - кодовые слова

<имя типа> : правильный идентификатор;

<тип индексов> : список из одного или нескольких индексных типов, разделенный запятыми;

<тип элементов> : любой тип ТР;

[ ] – квадратные скобки, обрамляющие список индексов, определяют требования синтаксиса языка.

Вместо квадратных скобок [ ] можно использовать круглые скобки с точками (. .);

Индекс может быть любого порядкового типа, кроме Longint.

Обычно в качестве индексного типа используют тип-диапазон, в котором задаются границы изменения индексов.

Введя тип-массив, можно затем задать переменные или типизированные константы этого типа.

ПРИМЕРЫ:

  1. Тип-массив определяется в разделе описания типов.

Type

mass = Array[1..5] of integer;

m1= array[1..10] of real;

m2 = array[1..3] of char;

m3 = array[1..5] of byte;

Var

a1, b1,c1 : mass;

a2 : m1;

b2 : m2; c2 : m3;

Размерность реальных массивов не должна превышать верхней границы, указанной в описании типа.

  1. Типизированная константа использует тип-массив, объявленный ранее.

Type

mass = array[1..5] of integer;

Const

Y : mass = (2, 4, 6, 8,0); {Y(4)}

X : mass = (1, 5, 7, 0,0); {X(3)}

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

2). Тип-массив можно вводить непосредственно

при определении переменных или типизированных констант.

  1. Тип-массив задается непосредственно в разделе описания констант и переменных.

Const n=4; m: integer=10;

a1 : array[1..4] of integer = (1, 4, 3, 7);

a2 : array[1..3] of real = (1., 4., -5);

a3 : array[1..3] of char = (‘n’, ‘o’, ‘t’);

Var

a6, b6 : array[1..5] of integer;

a5, c1: array[1..5] of integer;

a4 : array[1..m] of real;

3. Ввод – вывод одномерных массивов.

Значения элементов одномерного массива

( вектора ) можно ввести в программу следующими способами:

1). типизированной константой;

2). ввод с клавиатуры;

3). ввод из файла;

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

Вывод элементов массива и результатов вычислений :

1). вывод на экран;

2). вывод в файл.

Program Vvod;

Type mass = array[1..5] of integer;

Const A: mass = ( 2, -4, 3, -6, 8 );

Var B: mass; {или B,C: mass;}

C: array[1..4] of integer;

i: byte;

BEGIN

{ ввод массива B с клавиатуры }

writeln(‘ введите массив B‘);

For i := 1 to 5 do read(b[i]);

{ ввод массива C с клавиатуры }

writeln(‘ введите массив С‘);

For i := 1 to 4 do read(c[i]);

{ вывод массива A на экран }

writeln(‘ массив A:’);

For i := 1 to 5 do write(A[i]:5,’ ‘);

writeln; {выводится вектор-строка}

{ вывод массива B на экран }

writeln(‘ массив B:’);

For i := 1 to 5 do

writeln(B[i]); {выводится вектор-столбец}

СОРТИРОВКА МАССИВОВ