I: index;
В тех случаях, когда возможны изменения граничных значений индекса, при описании массива рекомендуется использовать имена констант вместо их значений. Следуя этой рекомендации, в разделе описания констант, предшествующим разделу описания типов, введем константу nmax. Тогда описание массива может быть сделано, например следующим образом: Const nmax=50; Type vector=array [-nmax..nmax] of real; Var x: vector; Для адаптации последнего описания, например, к неравенству , достаточно исправления значения константы nmax. Для переменных-массивов, допустима только одна операция – присваивание. Ее выполнение создает копию массива. Оба имени, участвующие в операции, должны именовать объекты одного и того же типа. Например, пусть имеются три варианта объявления двух массивов: a) var x,y: vector; b) var x,y: array[index] of real; c) var x: vector; y: array [index] of real; Во всех вариантах структуры массивов идентичны – это совокупности одинаково пронумерованных вещественных чисел. Но только в вариантах a) и b) типы x и y считаются одинаковыми(тождественными). Поэтому оператор присваивания y:=x при трансляции будет признан ошибочным, когда использовано описание с). Прочие операторы с массивами (ввод, вывод, сложение и т.п.) должны быть определены для отдельного элемента массива и повторены с помощью операторов цикла для всех требуемых значений индекса. Рассмотрим примеры работы с массивами. Пусть последовательность вещественных чисел х1,х2,…,хn. (n<=50) представлена в программе массивом х, а его описание и описания прочих переменных имеют вид: Type ind=1..50; Vec=array[ind] of real; Var
|