Одномерные и многомерные массивы
Такое описание, однако, громоздко и неудобно. Существует более компактный способ. Является недопустимым. Правильным в данном случае будет. Причем тип vector описан перед описанием процедуры P. Массив символов, индексы принимают значения. Принимают целочисленные значения от 0 до 15; Массив действительных чисел; индексы. Иными словами, объявление процедуры. Описание одномерного массива: Использован… Читать ещё >
Одномерные и многомерные массивы (реферат, курсовая, диплом, контрольная)
Массивы относятся к структурированным типам данных. Такие типы данных состоят из многих элементов. Каждый из элементов, или компонентов, в свою очередь, принадлежит к определенному типу данных.
Массив? это совокупность фиксированного числа компонентов одного и того же типа. К каждому из компонентов массива можно обращаться, указав его индекс (порядковый номер). Для того, чтобы описать массив, нужно указать тип его компонентов и тип индексов. Очевидно, что индексы массива должны иметь порядковый тип. Особенно часто используется тип-диапазон, поскольку он позволяет задать пределы изменения индексов, но ничто не запрещает использование любого другого порядкового типа. Исключение составляет целый тип longint и те типы-диапазоны, для которых тип longint является базовым.
Описание одномерного массива:
type
= array [].
of ;
Примеры:
type
symbolic = array [byte] of char;
{Массив символов, индексы принимают значения
типа byte}.
vector = array [0.15] of real;
{Массив действительных чисел; индексы
принимают целочисленные значения от 0 до 15;
использован тип-диапазон}.
var
s: symbolic;
a, b: vector;
Альтернативно, переменную типа array можно объявлять в программе без предварительного описания самого типа.
var
: array [].
of ;
var
x: array [10.30] of byte;
Подобным образом, однако, нельзя описывать переменные в заголовке процедуры или функции. Например, объявление процедуры.
Procedure P (y: array [0.15] of real);
является неправильным и вызовет ошибку, поскольку в списке формальных параметров процедуры или функции могут быть только параметры, которые имеют стандартный или заранее объявленный тип. В данном случае в заголовке процедуры фактически объявляется тип-диапазон, указывающий границы индексов массива, что недопустимо. Правильным является следующее объявление процедуры:
Procedure P (y: vector);
причем тип vector описан перед описанием процедуры P.
Тип string [n] (строка) в языке Turbo Pascal во многом аналогичен типу array [0. n] of char, т. е. одномерному массиву символов (n? максимальное количество символов в строке, некоторая константа).
В отличие от обычного массива, однако, количество символов в строке может меняться от 0 до n.
Максимальное количество символов в строке можно не указывать, при этом длина строки принимает максимально возможное значение n = 255. К каждому символу в строке можно обращаться так же, как к элементу массива, например,.
var
st: string [40];
if st [5] = 'a' then.
Если при обращении к некоторой процедуре или функции необходимо использовать переменную типа string, этот тип, так же, как и в случае массива, должен быть описан заранее.
Иными словами, объявление процедуры.
Procedure P1 (z: string [10]);
является недопустимым. Правильным в данном случае будет.
type
str = string [10];
Procedure P1 (z: str);
Многомерные массивы можно понимать как «массив массивов» и описывать следующим образом, например,.
type
multiarray1 = array [0.5] of array [-2.2].
of array [char] of integer;
Такое описание, однако, громоздко и неудобно. Существует более компактный способ.