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

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опустить параметр.

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