Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Структурированные типы данных. Массивы

Структура программы | LABEL 1, 4.00, M1, EPS; | Определение процедур и функций | Вложенные подпрограммы | PROGRAM PROS; | И параметров-строк | Типы в Турбо Паскале | Служебные символы | Строковый тип | Перечислимый тип |


Читайте также:
  1. База данных. СУБД.
  2. Вопрос. Защита данных.
  3. Вопрос. Конструирование запросов выбора, перекрестного запроса, запросов на внесение изменений в базу данных.
  4. Вопрос. Понятие модели данных. Иерархическая модель, ее достоинства и недостатки.
  5. Вопрос. Проблемы многопользовательских баз данных. Администратор базы данных, его функции.
  6. Вопрос. Сase-средства для моделирования данных.
  7. Вопрос. Создание статических Web-страниц из объектов базы данных. Конструирование страниц доступа к данным.

Массивы упорядоченная структура однотипных данных, хранящихся последовательно. Массив обязательно имеет размеры. Описывается в разделе TYPE или VAR следующим образом:

Type <имя>=array[индексный тип] of <базовый тип>; или

Var <Имя_переменной>: array [ диапазон_индексов] of <базовыйтип>;

Диапазон индексов может задаваться любым порядковым типом кроме LongInt. Произведение количества компонентов массива, задаваемого диа­пазоном индексов на размер компонентов в байтах, не может превышать 65520 байт.

Пpимер: TYPE

array10=array[1..10] of integer;

array11=array[11..22] of real;

VAR V:array[-3..2] of char; {массив из 6 элементов}.

В качестве индексов можно использовать любые перечислимые типы как встроенные, так и вводимые программистом. Индексы в этом случае могут задаваться также диапазоном. Если диапазон соответствует всему типу, можно просто указывать имя этого типа. Например:

TYPE DIAP=1..100;

VECTOR=array[DIAP] of real;

PRIZ=array[Boolean] of char;

При записи сложных массивов индексы разных диапазонов могут при­надлежать разным типам. Например:

VAR V: array[0..10,'A'..'C',Boolean] of char;

В качестве значений диапазона могут использоваться идентификато­ры, если их значения определены выше. Например:

CONST

K=10; L=5;

VAR

A:ARRAY[1..K] OF INTEGER;

B,С:ARRAY[1..K,1..L] OF REAL;

Массивы хранятся в памяти как сплошные последовательности компо­нентов, причем, быстрее изменяется дальний правый индекс.

Обращение к элементу массива производится указанием имени массива и индексов, заключенных в квадратные скобки:

<имя>[<индексы>].

Пример:

A[1]:= 1; B[8,5]:= В[8,1] + B[8,2];

V[1,'B',False] или V[1]['B'][False].

В данном типе определена единственная операция присваивания. Мож­но присваиваить массив лишь массиву, например: A:= С.

Операции сравнения производятся только поэлементно.

Обнуление элементов массива выполняется циклом

FOR I:=1 TO K DO A[I]:=0.

Разрешается обьявлять массивы массивов, например:

TYPE VECTOR=array[1..5] of real;

MATRIX=array[1..10] of VECTOR;

или

MATRIX=array[1..10] of array[1..5] of real;

или

MATRIX=array[1..10,1..5] of real;

Приведенные три последних вида записей эквивалентны.

Слову array может предшествовать ключевое слово PACKED, которое означает «упакованный». Заметим, что в Турбо Паскале все массивы хра­нятся в упакованном виде, поэтому PACKED писать не рекомендуется.


Дата добавления: 2015-09-05; просмотров: 101 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Ограниченный тип (диапазон)| Множества

mybiblioteka.su - 2015-2024 год. (0.005 сек.)