Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
04.01.2020
Размер:
259.78 Кб
Скачать

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

Массив это обозначаемая одним именем последовательность однотипных элементов. Место каждого элемента в этой последовательности определяется его индексом. Массив может быть одномерным и многомерным. Чтобы задать массив, используется зарезервированное слово Array, после которого следует указать тип индекса (индексов) компонент (в квадратных скобках) и далее после слова Of - тип самих компонент:

<имя_массива> = Array[<диапазон_индексов>] Of <тип_компонент>;

Примеры:

var

Arr = Array[1..3] Of Real; {массив из 3 вещественных чисел}

Matrix = Array[1..3, 1..2] Of Integer; {двумерный массив целых чисел, состоящий из 3 строк и 2 столбцов}

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

Arr[2], Matrix[3, 2], Matrix[X, Y + 1]

1. Значения элементов, которые не изменяются при работе программы (констант), можно задавать в разделе описаний. Например, массив из 8 простых чисел может быть задан так:

const A: Array[1..8] of integer = (2, 3, 5, 7, 11, 13, 17, 19);

2. Для присвоения значения элементу массива в программе указывают имя массива и индекс этого элемента, например A[4]:=7; Для работы с несколькими элементами используют циклы. В тех случаях, когда заранее известно количество элементов, используют цикл For.

3. Для ввода значений с клавиатуры используют стандартные процедуры Read и Readln. При использовании процедуры Read(A[i]) в строке ввода можно набрать значения нескольких или всех элементов массива, разделяя их пробелами. При использовании процедуры Readln(A[i]) значения вводят по одному и после каждого нажимают Enter. 4. Для вывода используют процедуры Write и Writeln. Процедура Write выводит элементы массива в строку. Выводимые значения необходимо отделять пробелами или иными символами (например, запятой, точкой с запятой), иначе все они будут напечатаны слитно. Для вывода значений элементов в столбец используют процедуру Writeln.

Над элементами массива можно выполнять операции, допустимые для переменных соответствующего типа. Элементам типа integer можно присваивать результат выполнения операций +, –, *, div, mod (участвовать в качестве операндов они могут и в операции / ). Для элементов типа real возможны операции +, –, *, /.

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

Пример. Заменить все четные значения элементов массива квадратами их номеров: If A[i] mod 2 = 0 Then A[i]:= sqr(i);

При обработке информации постоянно приходится сталкиваться с задачами поиска данных. Цель поиска заключается в нахождении значений, индексов и количества элементов массива, удовлетворяющих заданным условиям. В качестве простых условий поиска чаще всего используется сравнение значений элементов массива X[i] с заданным числом B (например, равенство X[i]=B или неравенства X[i]<B или X[i]>=B).

Пример:

В массиве хранится рост 12 учащихся. Составить программу, которая определяет, есть ли в группе хотя бы один учащийся ростом 172 см, и выводит его номер по списку.

Program Primer;

Const h: Array[1..12] Of integer = (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168);

Var i, k: integer;

Begin

k:=0; {Начальное значение k}

For i:=1 to 12 Do {Просмотр массива}

If h[i] = 172 Then k:=i;

If k>0 Then Writeln('Номер учащегося по списку = ', k) {Вывод}

Else Writeln('Учащегося с таким ростом нет');

End.

Соседние файлы в папке ИТ