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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
pascal:arrays [22/09/2010 13:39] ocapascal:arrays [22/09/2011 13:57] oca
Строка 1: Строка 1:
 ===== Работа с массивами ===== ===== Работа с массивами =====
 FIXME FIXME
-Любой массив является переменной. Его особенностями является то, что+Любой массив является переменной. Особенностями всех массивов является то, что
  
-1) массив,  строк(string), которые во многих отношениях являются исключением, не может относится к стандартным типам - тип массива должен либо описываться заранее, либо  описывается "неявно" при объявлении+1) массивы,  а также строки(string), которые во многих отношениях являются исключением, не может относится к стандартным типам - тип массива должен либо описываться заранее, либо  описывается "неявно" при объявлении
  
 2) массив имеет внутреннюю структуру, т.е. составные части, до которых можно добраться, используя стандартные средства Паскаля.  2) массив имеет внутреннюю структуру, т.е. составные части, до которых можно добраться, используя стандартные средства Паскаля. 
  
-=== Примеры ===+Массив характеризуется типом элементов,  их количеством элементов и способом их нумерации.
  
 +=== Примеры описания массивов ===
 +<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>