Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECPAS42.DOC
Скачиваний:
15
Добавлен:
20.04.2015
Размер:
662.53 Кб
Скачать

53

Глава 7. Структурированные типы данных

7.1. Массивы

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

Количество индексных позиций определяет размерность массива (одномерный, двумерный и т.д.). Индексы элементов массива должны принадлежать порядковому типу.

К типовым операциям с массивами относятся:

 ввод массива

 вывод массива

 преобразование массива

 сортировка массива

 поиск в массиве

7.1.1. Одномерный массив Объявление массива.Перед использованием массив, как и любая переменная, должен быть объ­явлен в разделе объявления переменных. В общем виде объявление массива выглядит так:

Имя: аrrау [нижний индекс ..верхний индекс]ofТип;

где Имя - имя переменной-массива;

аrrау -ключевое слово, обозначающее, что переменная является

мас­cивом.

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

элементов (размер) массива;

Тип - тип элементов массива.

Объявление массива осуществляется одним из следующих способов:

a) в разделе описания переменных

var

a : array [1..5] of byte;

b : array [1..3] of integer;

z : array [‘d’..’g’] of char;

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

б) с помощью типизированной переменной

type

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

var

a:mar;

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

Именованная константа объявляется в разделе описания констант, который располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const.

const

n=5; {Число книг}

S=25; {Длина наименования книги}

var

b : array [1..n ] of integer;

temp: array[1..s] of string[25];

Каждая отдельная величина массива называется элементом. Тип элементов может быть любым, принятым в языке Pascal, кроме файлового типа.

Тип элементов называется базовым типом. Вся совокупность элементов определяется одним именем. Для обозначения отдельных элементов массива используется конструкция, называемая переменной с индексом или с индексами: a[5]s[k+1]b[3,5]

Чтобы использовать элемент массива, нужно указать имя массива и индекс элемента. Первый индекс обычно соответствует номеру строки таблицы второй - номеру колонки.

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

Ввод массива. Под вводом массива понимается ввод значений элементов массива. Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.

Чтобы пользователь программы знал, ввода какого элемента массива ожида­ет программа, следует организовать вывод подсказок перед вводом очеред­ного элемента массива. В подсказке обычно указывают индекс элемента массива. 1

1) Ввод элементов одномерного массива с помощью клавиатуры:

for i:=1 to n do

read(a[i]);

2) Ввод элементов одномерного массива с помощью типизированных констант.

Ввод элементов массива с помощью констант называется еще инициализацией массива.

а) сonst

A1 : array [1..6] of integer = (-5,8,5,0,7,-8);

A2 : array [ 1..3] of char = (‘a’,’b’,’c’);

б) type

Dim10= array[1..10] of Real;

const

raM10:Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );

3) Ввод элементов одномерного массива с помощью датчика случайных чисел

randomize;

for i:=1 to 10 do

begin

a[i]:=random(20);

end;

В этом случае значениями элементов массива a[i] будут произвольные значения от 0 до 19 .Для того чтобы получились дробные числа нужно в функцииrandomопустить параметр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]