Отрезок любого порядкового типа может быть определен как интервальный или ограниченный тип. Отрезок задается диапазоном от минимального до максимального значения констант, разделенных двумя точками. В качестве констант могут быть использованы константы, принадлежащие к целому, символьному, логическому или перечисляемому типам. Скалярный тип, на котором строится отрезок, называется базовым типом.
Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Нижняя граница должна быть меньше верхней. Например,
0..99
-128..127
RED..VIOLET
Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа.
При использовании в программах интервальных типов данных может осуществляться контроль за тем, чтобы значения переменных не выходили за границы, введенные для этих переменных в описании интервального типа.
Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке Паскаль, кроме файлового типа. Тип компонент называется базовым типом.
Описание типа массива задается следующим образом:
<имя_типа>=ARRAY [<сп.инд.типов> ] OF<тuп>
Здесь <имя muna> — правильный идентификатор; ARRAY, OF — зарезервированные слова (массив, из); <сп.инд.типов> – список из одного или нескольких индексных типов, разделенных запятыми; квадратные скобки, обрамляющие список, требование синтаксиса; <тип> - любой тип Турбо Паскаля. В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LONGINT и типов-диапазонов с базовым типом LONGINT.
Например:
Var Massiv: array[1..100] of Real; {одномерный массив}
Matrix: array[1..N,1..M] of Real; {двумерный массив}
Вся совокупность компонент определяется одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами:
A[5] S[k+1] B[3,5].
В качестве индекса может быть использовано выражение. Тип индексов может быть только интервальным или перечисляемым. Действительный и целый типы недопустимы. Индексы интервального типа, для которого базовым является целый тип, могут принимать отрицательные, нулевое и положительные значения.
В операторной части программы один массив может быть присвоен другому, если их типы идентичны, например:
R1:=Z.
Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.
При работе с двумерным массивом первый индекс определяет номер строки, второй — номер столбца. Двумерные массивы хранятся в памяти ЭВМ по строкам.
Инициализация массивов (присвоение начальных значений всем компонентам массивов) осуществляется двумя способами.
Первый способ — с использованием типизированных констант, например:
type
Dim10= Array[1..10] of Real;
const raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1,
6.7, 7.2, 8, 8.7, 9.3);
При инициализации двумерных массивов значения компонент каждого из входящих в него одномерных массивов записываются в скобках:
type
Dim3x2= Array[1..3,1..2] of Integer;
const
iaM3x2: Dim3x2= ( (1,
2)
(3, 4)
(5, 6));
Второй способ инициализации — использование разновидности процедуры FillChar:
FillChar( var V; NBytes: Word; B: Byte);
Эта процедура заполняет участок памяти однобайтовым значением. Например, для обнуления массива A[1..10] of Real можно записать:
FillChar(A, 40, 0); или FillChar(A, SizeOf(A), 0).
| Основные понятия об информации и информатике |