русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы


Дата добавления: 2013-12-24; просмотров: 1188; Нарушение авторских прав


Сложные типы данных

Лекция

 

Сложные типы данных характеризуются типами их компонентов и методом их объединения. К сложным (структурированным, составным) типам данных (агрегатам) относят массивы, записи, множества и файлы.

1. Массивы

2. Записи

3. Множества

 

 

Массив - это n-мерная совокупность однотипных элементов. В массивы можно объединить данные любого типа. Данные объединяют в массивы в случае, если надо выполнить одни и те же действия над определенным ко­личеством однотипных значений. Массивы отображают следующие математи­ческие понятия:

1) вектор с элементами ai для i = 1¸n; на языке Паскаль это одномер­ный массив;

2) матрица с элементами a i, j ; на языке Паскаль - это двумерный массив;

3) пространство Ai,j,k...; на языке Паскаль - это n-мерный массив, где n -
количество его измерений (индексов).

Массивы часто используют для:

1) численных методов решения систем алгебраических и дифференциальных
уравнений;

2) формирования совокупностей однотипных значений: исходных данных,
промежуточных и конечных результатов.

Объявление массивов определяет атрибуты, характерные только для мас­сивов, размерность и размер:

1) размерность (количество измерений) массива определяет количество ин­
дексов при обращении к элементу массива;

2) размер массива - это количество его элементов с учетом всех его измере­
ний.

Размерность массива на языке Паскаль не ограничена. Однако общий объ­ем ОП массива должен быть не более 65520 байт.

В Паскале массивы называют также регулярными типами данных. Мас­сив - это совокупность фиксированного количества компонентов (элементов) одного и того же типа. Тип элементов массива называется базовым типом. Он может быть любым: простым или сложным. Каждый элемент массива имеет индекс, который определяет его местоположение в ОП. Элементы массива упорядочены по индексам. Мощность индекса определяется количеством эле­ментов массива по данному измерению. Тип индексов может быть любым простым порядковым (ординальным) типом данных, кроме стандартного типа LONGINT и его диапазона. В том числе он может быть перечисляемым или диапазонным типом.



Массивы можно определить в разделах TYPE или VAR.

Форма объявления массива:

ТYРЕ Т = ARRAY [ T1 ] OF T2 ;

где Т - имя типа массива;

Т1 - тип индексов в виде списка типов, по одному для каждого измере­ния; обычно тип индексов диапазонный; Т2 - базовый тип: тип элементов массива.

Примеры объявления массивов данных различных типов:

TYPE ТА = ARRAY [1 .. 10] OF INTEGER; { Тип массива А }

MN = SET OF 2 ..100; { Тип множества }

VAR А : ТА; { Массивы данных: А - целого типа }

В : ARRAY [1 .. 20] OF REAL; { В - вещественного }

С : ARRAY [1..10,1..20] OF REAL;{С - двумерный, веществ.}

D : ARRAY [-10 .. 10] OF BOOLEAN; { D - логического }

E : ARRAY [0 .. 30] OF CHAR; { E - символьного }

F : ARRAY [1 .. 15] OF STRING[30]; {F- строковых данных}

G : ARRAY [1 .. 20] OF MN; { G - множеств }

Тип массива А и множества MN в примере определен в разделе TYPE. Ос­тальных массивов - в разделе VAR.

Объявление массивов отвечает на следующие вопросы транслятора:

1) какие переменные могут быть с индексами;

2) сколько должно быть индексов при обращении к элементу массива;

3) какие допустимы значения индексов в соответствии с определенными для
них границами;

4) какой объем ОП нужен массиву.

Объем ОП, необходимой для размещения массива, определяется из объема ОП, требующегося для размещения одного элемента, и из размера массива, т. е. общего количества его элементов. Например, для 20 элементов типа REAL надо 20 * 6 = 120 байт ОП.

Так как тип элементов массива может быть любой, компонентами массива могут быть структурированные данные: массивы, записи, множества или фай­лы. Например:

TYPE В = ARRAY [ 1 .. 20 ] OF REAL ; VAR A : ARRAY [ 1 .. 30 ] OF В ;

To же объявление можно выполнить по-другому:

VAR A : ARRAY [ 1 .. 30 ] OF ARRAY [ 1 .. 20 ] OF REAL ;

VAR A : ARRAY [ 1 .. 30, 1 .. 20 ] OF REAL ;

Последний вариант объявления можно считать наиболее компактным. Пример. Объявить массив целых чисел, содержащий количество дней лю­бого месяца года:

TYPE MES = (YAN,FEB,MAR,APR,MAI,IUN,IUL,AUG,SEN,OKT,NOV,

DEC);

X = ARRAY [ MES ] OF BYTE;

VAR А, В : X ;

С : BYTE ;

BEGIN В [YAN] := 31 ; A [FEB] := 28;

С := A [FEB] ; ...

END.

В примере тип индексов массивов А и В определен как перечисляемый тип MES.

В ОП элементы массива располагаются так, что при переходе от элемента к элементу наиболее быстро меняется самый правый индекс массива. Таким образом, матрица располагается в ОП по строкам. Например:

VAR A : ARRAY [1..4] OF REAL;

В : ARRAY [1..2, 1..3] OF REAL;

В ОП элементы этих массивов располагаются в последовательности:

A1 A2 A3 A4 B1,1 B1,2 B1,3 B2,1 B2,2 B2,3

Обращение к элементу массива формируется в виде имени массива и спи­ска индексов в квадратных скобках. Например:

A[i] - для обращения к ai элементу одномерного массива;

B[i, j] - для обращения к bi,j элементу двумерного массива;

c[i,j,k] - для обращения к Ci,j,k элементу трехмерного массива.

При обращении к элементам массивов индексами могут быть выражения соответствующего типа. Значение выражения индекса вычисляется перед об­ращением к элементу массива, и полученный результат используется в каче­стве индекса.



<== предыдущая лекция | следующая лекция ==>
Ряды распределения | Фиксированные записи


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.