Читайте также: |
|
Массив – это формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Описать массив можно либо в разделе переменных, либо с использованием описания нового типа. При описании массива необходимо указать:
Описание массива в разделе описания переменных выглядит так:
Var
Имя_Массива: array [Тип_индекса] of Тип_Элементов;
Здесь ARRAY, OF – зарезервированные слова (массив, из).
Например:
a,b,c,d: array [Integer] of Integer;
Здесь определено 4 массива с именами a,b,c и d. Все они состоят из элементов типа Integer. Элементы нумеруются целыми числами от -32768 до 32767, так как типом индекса указан тип Integer. Как правило, для типа индекса используют тип диапазон (вырезку из одного из базовых перечислимых типов). Например
x1: array [1..100] of Real;
Элементы массива х1 имеют тип Real и нумеруются целыми числами от 1 до 100 включительно. Нумеровать элементы массива можно не только числами, но и значениями любого другого перечислимого типа, например, Char:
c1: array [‘a’..’z’] of Real;
Элементы массива с1 имеют тип Real и индексируются буквами латинского алфавита.
Другой способ описания массивов — описание типа массива в разделе типов. Для перечисленных выше примеров это будет выглядеть так:
Type
TMassiv1 = array [Integer] of Integer;
TMassiv2=array [1..100] of Real;
TMass = array [‘a’..’z’] of Real;
После этого типами TMassiv1, TMassiv2, TMass можно пользоваться как стандартными, то есть в разделе описания переменных описывать переменные этих типов:
Var
A,b,c,d: TMassiv1;
x1: TMassiv2;
c1: TMass;
Действия над элементами масиивов. Доступ (обращение) к отдельным элементам массива осуществляется путем указания имени переменной массива, за которым в квадратных скобках помещается значение индекса (порядкового номера) элемента. Примеры задания индекса: M[5] - непосредственно числом; M[k] - косвенно через переменную k; M[k1+5] - косвенно через выражение k1+5; M[Succ(i)] - косвенно через значение функции. Всем элементам одного массива можно присвоить значения элементов другого массива с помощью одного оператора присваивания, в том случае, когда массивы имеют идентичный тип. Так, если заданы следующие массивы:Var x, y: array [1.. 10] of integer; z: array [1.. 10] of integer;то допустим следующий оператор присваивания:X:=Y;но недопустим оператор Z:=X; так как массивы X и Z не идентичных типов. В Паскале над массивами не определены операции отношения. Сравнивать массивы можно только поэлементно. К отдельным элементам массива можно применять стандартные процедуры и функции, предусмотренные в языке. Перечень допустимых стандартных подпрограмм зависит от типа элементов массива.Еще примеры: с помощью оператора mas[2]:=34;элементу массива mas с индексом 2 присваивается значение 34. Оператор Writeln(mas[2]);выведет на экран значение хранящегося в элементе-ячейке №2 массива mas. Используя в качестве индекса переменную цикла "FOR... TO... DO" можно обратиться к каждому элементу массива поочереди. Так с помощью фрагмента программы For i:=1 to 25 do mas[i]:=0;всем элементом массива присваивается значение "0".Использование массивов вместо одиночных переменных позволяет благодаря применению циклов "FOR... TO... DO" существенно сэкономить время и объём программы. Это демонстрируется следующим примером. Пример. Дана последовательность вещественных чисел s1... s30. Организовать массив для хранения этих чисел. Определить сумму этих чисел.Program Primer1;var m: array[1..30] of real; {описание массива} i: integer; {параметр цикла for} s: real; {сумма элементов}beginfor i:=1 to 30 do {заполнение массива} begin write('введите элемент последовательности n ',i); readln(m[i]); end;s:=0; {обнуление счётчика суммы}for i:=1 to 30 do s:=s+m[i]; {вычисление суммы}write('сумма элементов последовательности равна ',s);readln; { пауза }end.
Дата добавления: 2015-08-13; просмотров: 105 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Строки. | | | Поиск элементов, удовлетворяющих заданному условию. |