Язык программирования TurboPascal
- Григоренко Г. Н.
- Просмотров: 27603
Turbo Pascal. Массивы
Массив – конечная группа переменных одного типа, которой присвоено общее имя.
Так, совокупность целых чисел
-12, 14, 124, -1, 25
можно считать массивом и обозначить одним именем, например A . Каждый элемент массива обозначается именем массива с индексом. В нашем случае имеется пять элементов, тогда, например, первый элемент и четвертый записываются следующим образом
первый - A[1], четвертый - A[4].
Имя массива является единым для всех элементов. К каждому элементу массива можно обратиться с помощью индекса. Индекс – величина, характеризующая положение элемента относительно начала массива. Индекс записывается в квадратных скобках, например, A[1] , 1 – это индекс, указывающий на первый элемент массива с именем A .
Если в программе используется массив, то он должен быть описан или в разделе переменных Var , или в разделе типов Type .
Формат описания массива в разделе переменных:
здесь : array (массив); of (из) – зарезервированные слова языка; индекс – величина, характеризующая положение элемента относительно начала массива. В качестве индекса могут использоваться константы или данные целого, логического, символьного, перечисляемого и интервального типа (кроме Longint ); тип элементов – любой тип Турбо Паскаля.
Пример описания массива
В приведенном примере описаны три массива: a,b,c . В описании массивов содержатся следующие сведения: имена массивов – a,b,c ; тип элементов массивов: a – целые, b и c – вещественные; диапазон изменения индексов – 1..5 и 1..20 . Нижняя граница отделяется от верхней границы двумя точками. Две точки « .. » рассматриваются как единый неделимый символ. Нижняя граница показывает наименьшее значение индекса, верхняя – наибольшее. Значение нижней границы не может быть больше верхней. Массивы b и c имеют один и тот же тип и одинаковое количество элементов, поэтому описания можно объединить, разделив имена массивов запятой.
Выделение памяти для массивов производится раньше, чем выполняется какой-либо оператор программы, поэтому значения верхних границ массивов можно поместить в разделе констант.
Например:
Использование констант не только облегчает процесс изменения программы, но и делает его более надежным.
Массивы могут быть одномерными и многомерными. На практике, как правило, используют одномерные, двумерные и трехмерные массивы. Схематично одномерный и двумерный массивы можно представить таким образом:
Схема представления одномерного массива
Схема представления двумерного массива
В приведенной схеме массив A можно рассматривать как матрицу или таблицу и говорить, что A[i,j] – это элемент, находящийся в j -ом столбце i- ой строки этой матрицы.
Описание двумерного массива.
Поскольку в Турбо Паскале тип элементов массива может быть любой, в том числе и другим массивом, то помимо явного описания массивов в разделе переменных, существует и другая форма описания, через использование раздела типов. Последовательность описания и использования раздела Type следующая:
- в разделе описания типов Type указывается тип массива;
- в разделе описания переменной Var перечисляются массивы, относящиеся к указанному типу.
Формат описания массивов:
Пример:
Если в программе несколько массивов, например, a,b,c,d, которые имеют тип mas , то изменяется только раздел описаний переменных:
Тип массива mas формально введен только в разделе описания типов и нигде в программе не указывается и не обрабатывается.
При работе с массивами следует учитывать следующие правила:
- над массивами не определены операции отношения. Нельзя писать
if a=b then ...
- сравнивать элементы массива можно поэлементно
for i:= 1 to 10 do
if a[i]b[i] then ...
- при работе с массивами наиболее часто используется оператор цикла
For ... to ...do
Примеры:
1. Всем элементам одномерного массива a[1..10] присвоить нуль:
for i:= 1 to 10 do a[i]:=0;
2. Всем элементам двумерного массива a[1..10,1..20] присвоить нуль:
for i:= 1 to 10 do
for j:= 1 to 20 do
a[i,j]:=0;
3. Всем элементам одномерного массива a[1..10] присвоить значения элементов массива b[1..10] :
for i:= 1 to 10 do a[i]:=b[i];
ЗАДАЧА 1. Написать программу вычисления суммы пятнадцати чисел.
Результаты работы программы:
Введите 15 целых чисел
1
1
1
...
1
Сумма чисел равна: 15
ЗАДАЧА 2. Ввести с клавиатуры 15 вещественных чисел в массив и найти сумму этих чисел.
Результаты работы программы:
Введите 15 чисел
a[1]=1
a[2]=1
a[3]=1
...
a[15]=1
Сумма равна: 15.00
ЗАДАЧА 3. Найти наибольший элемент массива и определить его номер. Количество элементов массива и их значения ввести с клавиатуры.
Результаты работы программы:
Введите количество чисел: 5
Введите 5 чисел
a[1]=101.2
a[2]=11.4
a[3]=1.0
a[4]=304.7
a[5]=19.3
Номер наибольшего элемента: 4
Его значение: 304.70