Массивы (структурный тип )

Таблицы и табличные величины

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

Пример:

На метеостанции каждый час измеряется температура воздуха и значения измерений за сутки записываются в таблицу:

Temp - название таблицы.

Время измерения, ч ………
Температура, С  

Эта линейная таблица содержит 24 элемента, занумерованные от 1 до 24. Например, второй элемент таблицы имеет значение – 13, а пятый – значение 10.

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

Элементы таблицы могут быть любого типа (числовые, символьные, строковые и т.д.).

Пример:

Составим таблицу размещения пассажиров в первых 6-ти вагонах на местах с 15 по 19 (элементами таблицы будут имена пассажиров).

Vagon

  1 вагон 2 вагон 3 вагон 4 вагон 5 вагон 6 вагон
Катя Наташа Юля Римма Рома Лиля
Олег Марат Ирек Адель Петя Эльвина
Вася Таня Люба Костя Луиза Лиза
Лена Иля Наташа Артур Рустем Руслан
Коля Мансур Антон Саша Раиль Марат

Например, элемент таблицы, стоящий в строке с индексом 17 и в столбце – 1 вагон, имеет значение – Вася.

Описание массива (в разделе Var )

В Турбо Паскале существует возможность работы с таблицами, они имеют название - массивы.

Массив – это совокупность элементов одного типа, объединенных под общим именем. Каждый элемент массива имеет свой индекс (порядковый номер), который определяет его относительную позицию. Число элементов массива задается при описании и в дальнейшем не изменяется.

Массив объявляется в следующей форме:

A:Array[B1,B2,…,Bn] of M;

Array – массив;

Of – из;

Здесь - имя массива (правильный идентификатор);

B1, B2,…,Bn – списки индексных типов, их можно задавать, указав любой перечисляемый тип (кроме Longint) Количество списков (n) определяет размерность массива, они разделяются запятыми и заключаются в квадратные скобки;

M - тип элементов, любой тип Турбо Паскаля;

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

Одномерные массивы

Рассмотрим работу с одномерными массивами (в алгебре они называются векторами):

Дадим таблице имя - Tab

Каждое число в таблице имеет тип Integer. Это - тип злементов (M).

Индексы данной таблицы изменяются от 1 до 8 . У одномерных массивов один список (B1).

Таким образом, описание этого массива (в разделе Var) выглядит так: Tab:Array[1..8] of Integer;

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

N:=A[5];

Присвоит переменной N значение элемента массива, имеющего индекс 5, т.е. число 11.

Задача 1.

Задан одномерный массив из N чисел. Изменить все элементы массива, увеличив их на единицу.

Работу с массивом можно разделить на 4 этапа:

1. Описание массива (выделить место в памяти компьютера для данного массива);

2. Ввод элементов массива (с клавиатуры; с помощью оператора присваивания; с помощью функции Random);

3. Работа с массивом (изменить элементы массива в соответствии с заданием);

4. Вывод массива (на экран или принтер);

Последовательный доступ к каждому элементу массива удобно осуществлять в цикле.

Решение:

Program Mass1;

{1}Var Tab:Array[1..10] of Integer;

I,N:Integer;

Begin

Writeln(’Введите число элементов массива (N<=10)’);

Readln(N);

{2}For I:=1 to N do Readln(Tab[I]);{ввод элементов с клавиатуры}

{3}For I:=1 to N do Tab[I]:= Tab[I]+1;

{4}For I:=1 to N do Writeln(’Tab[’,I,’]=’,Tab[I]);

End.

Задачи:

1. Задан одномерный массив из N чисел. Изменить значения элементов массива: а) все уменьшить на 100; б)если элемент больше 100 – на 100; в) если элемент отрицательный – на квадрат.

2. Задан одномерный массив из N чисел. Сосчитать количество элементов массива:

а) положительных; б) отрицательных; в) нулевых.

3. Заполнить одномерный массив элементами, значения которых равны их удвоенным порядковым номерам.

4. Задан одномерный массив из N чисел. Найти те элементы, значения которых совпадают с их индексом.

5. Задан одномерный массив из N чисел. Сосчитать: сумму, произведение и среднее арифметическое всех элементов массива.

6. Задан одномерный массив из N чисел. Определить сумму положительных и отрицательных элементов массива.

7. Задан одномерный массив А из N чисел. Создать новый массив путем деления всех элементов массива А на число Х.

Наши рекомендации