мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
pascal:arrays [20/10/2009 02:01] – Page name changed from pascal:массивы to pascal:arrays ybezrukovpascal:arrays [22/09/2011 14:14] (текущий) oca
Строка 1: Строка 1:
-Работа с массивами+===== Работа с массивами ===== 
 +FIXME 
 +Любой массив является переменной, которая имеет внутреннюю структуру, но состоит из однотипных элементов.  
 + 
 +Массив характеризуется типом элементов, их количеством элементов и способом их нумерации. 
 + 
 +==== Одномерные массивы ==== 
 + 
 +Одномерные массивы могут использоваться для представления последовательностей однотипных объектов ограниченной длинны. В частности - для строк (символов) и линейных списков. Но могут использоваться и более сложным образом, например, для уравновешенных (симметричных) двоичных деревьев, кольцевых буферов и т.д.  
 + 
 +=== Примеры описания массивов === 
 +<code pascal| Примеры описания массивов> 
 +var 
 +  ArIntInt : array [1..10] of integer; // пронумерованный числами массив  
 +                                       // целых 
 +  ArIntChr : array[ 1..10] of char;    // пронумерованный числами массив  
 +                                       // символов 
 +  ArIntRea : array[ 1..10] of real;    // пронумерованный числами массив  
 +                                       // действительных (с плавающей точкой) чисел 
 + 
 +</code> 
 + 
 +Нумерация должна быть сплошной и идущей в порядке возрастания 
 + 
 +<code pascal| Примеры неверного описания массивов> 
 +var 
 +  ArIntInt : array [1..5, 7..10] of integer;  
 +                                       // нет возможности пропустить одно или несколько значений  
 + 
 +  ArIntInt : array [10..1] of integer;  
 +                                       // нельзя задавать нумерацию в обратном порядке  
 + 
 +</code> 
 + 
 + 
 +<code pascal| Примеры описания массивов> 
 +var 
 +  ArIntInt : array [1..10] of integer; // пронумерованный числами массив  
 +                                       // целых 
 +  ArIntChr : array[ 1..10] of char;    // пронумерованный числами массив  
 +                                       // символов 
 +  ArIntRea : array[ 1..10] of real;    // пронумерованный числами массив  
 +                                       // действительных (с плавающей точкой) чисел 
 + 
 +</code> 
 + 
 + 
 +<code pascal| Неявное описание типа массива> 
 +Var 
 +  AI1, AI2 : array[1..20] of integer; // два массива из 20 целых чисел, занумерованных числами от 1 до 20 
 +  
 +</code> 
 + 
 + 
 +<code pascal| Явное описание типа массива> 
 + 
 +Type 
 +  AIT = array[1..20] of integer; // Тип массивов из 20 целых чисел, занумерованных числами от 1 до 20 
 + 
 +Var 
 +  AI : AIT;                        // Один из таких массивов  
 +</code> 
 + 
 +<code pascal| Динамические массивы> 
 + 
 +Var 
 +  AD:array of integer;                        // Объявление массива 
 +   
 +begin 
 +   SetLength(AD,10000000); 
 +end. 
 +</code>