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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Последняя версияСледующая версия справа и слева
pascal:arrays [14/09/2011 16:10] ybezrukovpascal: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| Неявное описание типа массива> <code pascal| Неявное описание типа массива>
Строка 24: Строка 60:
  
 Var Var
-  AI:AIT;                        // Один из таких массивов +  AI : AIT;                        // Один из таких массивов 
 </code> </code>
  
 <code pascal| Динамические массивы> <code pascal| Динамические массивы>
- 
  
 Var Var
-  A:array of integer;                        // Объявление массива+  AD:array of integer;                        // Объявление массива
      
 begin begin
-   SetLength(a,10000000);+   SetLength(AD,10000000);
 end. end.
 </code> </code>