Для того чтобы не вводить массивы вручную во время отладки программы (особенно если они имеют большую размерность), можно входные данные задавать прямо в тексте программы при помощи типизированных констант.
Если массив линейный (вектор), то начальные значения для компонент этого вектора задаются через запятую, а сам вектор заключается в круглые скобки.
Многомерный массив также можно рассматривать как линейный, предполагая, что его компонентами служат другие массивы. Таким образом, для системы вложенных векторов действует то же правило задания типизированной константы: каждый вектор ограничивается снаружи круглыми скобками.
Исключение составляют только массивы, компонентами которых являются величины типа char. Такие массивы можно задавать проще: строкой символов.
const a: array[-1..1] of byte = (0,0,0); {линейный}
b: mass = ((1,2),(3,4),(5,6)); {двумерный}
s: array[0..9] of char = '0123456789'; {строка символов}
Замечание: Невозможно задать неименованную или нетипизированную константу, относящуюся к типу данных array.
Пример
Программа создает массив из N случайных чисел, распределенных в диапазоне от 0 до MAX_VALUE-1, подсчитывает среднее арифметическое этих чисел, минимальное и максимальное из них.
program mas;
const N=1000;
MAX_VALUE=100+1;
var m : array [1..N] of integer;
i : integer; {индекс массива}
max, min : integer;
s : real;
begin
{наполняем массив случайными числами}
for i:=1 to N do
m[i]:=random(MAX_VALUE);
{задаем начальное значение переменных}
s:=0;
max:=m[1];
min:=m[1];
{цикл вычисления суммы всех случайных чисел и поиска
Функция random(Max) используется для создания массива и возвращает случайное целое число, равномерно распределенное от 0 до Max-1 (Max – параметр обращения).
Рассмотрим вопрос опреобразовании типов,которое описывает преобразование значений одного типа в значения другого типа. Мы уже несколько раз сталкивались с примерами таких преобразований, однако теперь рассмотрим эту тему с формальной точки зрения. Усвоение этой информации поможет намного лучше понять, что происходит при использовании в одном выражении различных типов переменных (преднамеренно или случайно), и более точно управлять манипуляциями над данными. Это позволит не отвлекаться при написании кода и избежать неприятных сюрпризов. Вы познакомитесь с новыми типами переменных:
• Перечислимый тип— тип переменных, которые принимают дискретные значения из множества, определяемого пользователем, и которые могут нести дополнительную смысловую нагрузку.
• Структуры— сложные типы переменных, которые создаются из определяемого пользователем набора других типов переменных.
• Массивы— это тип, который содержит большое количество переменных одного и того же типа и который позволяет осуществлять индексный доступ к отдельным значениям.
Эти типы оказываются несколько сложнее, чем те, с которыми вы знакомились до сих пор, однако они могут существенно упростить нам жизнь. После того как мы завершим изучение этих тем, мы рассмотрим еще один полезный аспект — манипуляции над строками.