русс | укр

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

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

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

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


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

МАССИВЫ И РАБОТА С НИМИ


Дата добавления: 2015-08-14; просмотров: 1129; Нарушение авторских прав


Под массивом понимается фиксированная совокупность

однотипных элементов, расположенных в

определенном порядке.

 

Местоположение элемента в массиве определяется его номером или, иначе, - индексом. Тем самым обеспечивается упорядоченность элементов и возможность быстрого доступа к ним.

 

Каждый массив обладает по крайней мере тремя характеристиками: мерностью, размерностью (размером) и типом элементов

.

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

В зависимости от числа индексов (измерений) массивы бывают одномернымии многомерными.

Например,

 

а). последовательность чисел


2 34 -5 7 0 13 -22

есть одномерный массив, состоящий из 7 элементов целого типа (и только). Присутствие в нем элемента со значением, допустим, 3.14 недопустимо, т.к. это число с дробной частью, т.е. вещественного типа. Обозначить данный массив можно, например, так:


МАS(7) или А(7).

 

При этом число 13 в массиве будет иметь индекс 6 и выражаться MAS[6] или А[6].

 

I-ый элемент обозначается MAS[I] или А[I].

 

Аналогично, последовательность слов

МИР РАК РИМ СОК КОТ ТОК

также является одномерным массивом, состоящим из 6-ти, но уже 3–х символьных элементов.

 

б). двумерный массив в нашем представлении есть матрица, где местоположение элемента определяется двумя индексами, первый из которых обозначает строку, а второй – столбец. Поэтому элемент М[2,4] будет располагаться на пересечении 2-й строки и 4-го столбца. А сама матрица, состоящая, например, из 6 строк и 5 столбцов, будет иметь следующее обозначение:

 

М(6,5)

 

в). трехмерный массив представляется кубом. Для идентификации отдельного элемента в нем уже применяются 3 индекса: первый и второй отображают, соответственно, строку и столбец плоскости (матрицы) куба, а третий – саму эту плоскость (матрицу). Поэтому отображение



 

К(3,4,5)

 

задает куб из 5-ти матриц, каждая из которых насчитывает 3 строки и 4 столбца.

А указание

К[2,1,3]

 

выводит нас на элемент, находящийся на пересечении 2-ой строки и 1-го столбца 3-й матрицы куба.

Если увеличивать число индексов, то можно оперировать более сложными массивами и представлять n-мерные пространства.

 

Размерность массива учитывает количество измерений и задается максимальной (верхней) границей диапазона изменения его индексов. В частности, для одномерного массива размерность будет совпадать с количеством элементов в нем. А для двухмерного размерность будет отражать количество строк и, отдельно, количество столбцов в соответствующей ему матрице.

Например, говорят: массив В, размерностью 4 на 6, подразумевая, что он двумерный и содержит 4 строки 6 столбцов. Т.е. В(4,6).

 

Размер массива определяет общее количество его элементов. При этом в расчет берутся все измерения массива. Так, размер двумерного массива В(4,6) равен 24.

Напомним, что важнейшей особенностью массива является фиксированное количество элементов в нем.

 

Чтобы использовать массивы в программе, их необходимо объявить.

Объявить массив– это означает сообщить компилятору:

- имя массива, которое определяет переменную с индексами;

- тип элементов массива;

- тип индексов элементов массива;

- размерность массива, равную количеству его индексных позиций;

- порядок позиционирования, т.е. нумерации элементов массива;

- количество элементов массива.

 

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

 

cписок тип

TYPE <имя типа > =ARRAY[<типов индексов >] OF< элементов >;

массива через запятую массива

 

VAR <имя массива> : < имя типа массива>;

 

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

Тип элементов м.б. любым из допустимых, кроме FILE.

 

Сокращенная форма объявления:

 

имя cписок тип

VAR < массива> : ARRAY[<типов индексов >] OF< элементов >;

через запятую массива

 

 

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

 

a). полная запись:

 

TYPE

A=ARRAY[1..50] OF INTEGER;

B=ARRAY[10..20] OF REAL;

C=ARRAY[-5..15] OF BOOLEAN;

D=ARRAY[0..25] OF STRING[30];

E=ARRAY[-1..5] OF CHAR;

VAR MASA: A; => массив из 50 элементов целого типа

MASB: B; => массив из 11 элементов вещественного типа

MASС: С; => массив из 21 элемента булевского типа

MASD: D; => массив из 26 элементов строкового типа

MASE: E; => массив из 7 элементов символьного типа

 

Границы изменения индексов можно задать и так:

 

CONST I=-10000;

N=10000;

TYPE M= ARRAY[I..N] OF REAL;

 

б). сокращенная запись:

 

VAR MASA: ARRAY[1..50] OF INTEGER;

 

 

Примеры объявления многомерных массивов:

 

TYPE A1= ARRAY[1..20] OF INTEGER;

A2= ARRAY[1..10] OF A1;

VAR MSV: A2; => матрица, размерностью 10 на 20

 

Или:

 

TYPE A1= ARRAY[1..20] OF INTEGER;

VAR MSV: ARRAY[1..10] OF A1;

 

Или:

 

VAR MSV: ARRAY[1..10] OF ARRAY[1..20] OF INTEGER;

 

Или еще проще:

 

VAR MSV: ARRAY[1..10,1..20] OF INTEGER;

 

Следует учитывать, что, располагаясь в оперативной памяти, элементы массива образуют цепочку, в которой при последовательном переходе от элемента к элементу быстрее меняется самый правый (младший) индекс. Иными словами, в массиве T(2,3) элементы расположатся в следующем порядке:

 

Т[1,1] Т[1,2] Т[1,3] Т[2,1] Т[2,2] Т[2,3]

 

А в нашем представлении:

 

Т[1,1] Т[1,2] Т[1,3]

Т[2,1] Т[2,2] Т[2,3]

 

Для обращения к любому элементу объявленного массива предназначена переменная с индексом. По форме записи - это имя массива со списком из одного или нескольких индексов через запятую, заключенным в квадратные скобки.

Индекс может быть константой или выражением того же типа, что и тип индекса:

 

MASА[7] => обращение к 7–му (из 50-ти) элементу массива

MASA.

MSV[2,5] => обращение к элементу, лежащему на

пересечении 2-ой строки и 5-го столбца

матрицы MSV.

M1[i+1,j-2,k*3] => обращение к элементу трехмерного

массива M1, индексы которого вычисляются

согласно приведенным выражениям.

 

Замечания:

1. при обращении к элементам массива следует помнить, что количество индексных выражений /индексов/ должно равняться размерности массива.

2. значения индексов должны находиться в пределах их границ, заданных интервалом или перечислением.

3. значение вычисляемого индекса должно соответствовать типу индекса и не м.б. REAL.

Например, недопустимо:

 

Pole :=MSV[15, 25/(3+a), 4];

 

т.к.:

- первый индекс д.б. < = 10

- второй – дает в результате REAL

- третьего индекса вообще не должно быть

 

Можно описывать массивы с помощью компонент и индексов разных типов:

а).

TYPE DAY=(PND,VTR,SRD,CTV,PTN,SBT,VSK);

VAR DN: ARRAY[1..7] OF DAY;

 

Значениями элемента этого массива DN может быть один из 7 дней недели, задаваемых перечисляемым типом DAY, т.е допустимо:

 

DN[5]:=CTV;

 

б).

TYPE GR=(EIS_111,EIS_112,EIS_211,EIS_212,EIS_311,EIS_312);

ML_KURS=(1..3);

VAR STUD: ARRAY[GR, ML_KURS] OF INTEGER;

Тогда,

 

STUD[EIS_112,1]:=23; => число студентов в группе.

 

 



<== предыдущая лекция | следующая лекция ==>
Совместимость и преобразование типов | Константы-массивы.


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


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

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

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


 


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

 
 

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

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