русс | укр

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

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

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

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


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

Действия над элементами массивов


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


Или

Многомерные массивы

Одномерные массивы

 

Переменные массивов можно задавать двумя способами:

а) через объявление типа в формате:

TYPE

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

VAR

< идентификатор >: < имя типа >;

б) через объявление переменных, т.е. без использования раздела описания типов в формате:

VAR

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

 

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

Замечание 1: Обычно в качестве индексного типа используется целочисленный тип-диапазон, в котором задаются границы изменения индексов.

 

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

 

CONST

N = 25; { размерность массива }

TYPE

X = ARRAY [1.. 100] OF INTEGER;

Y = ARRAY [1.. N] OF REAL;

Z = RECORD

VAR

M: X; { целочисленный массив }

V1, V2: Y; { вещественные массивы }

L1, L2: ARRAY [1.. 20 ] OF Z; { массивы записей }

K: ARRAY [ BYTE ] OF CHAR; { массив символов }

R: ARRAY [ 1.. 5 ] OF STRING [25]; { массив строк }

T: ARRAY [-10.. 9] OF BYTE; { массив целых чисел }

S: ARRAY [ BOOLEAN ] OF REAL; { вещественный массив }

F: ARRAY [ GREEN, RED, BLUE ] OF INTEGER; { целый массив с перечислимым типом-индексом}

G: ARRAY [ 1.. N ] OF (MO, TU, WE, TH, FR, SA, SU );

{ массив перечислимого типа }

Типизированная константа-массив объявляется в программе следующим образом:

CONST

A: ARRAY [1.. 5] OF INTEGER = ( 1, 2, 3, 4, 5 );

B: ARRAY [1.. 4] OF REAL = ( 1.1, 2.2, 3.3, 4.4 );



 

 

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

а) через объявление типа в формате:

TYPE

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

< имя типа > = ARRAY [ тип индекса 1, тип индекса 2 ] OF <тип элементов>;(обе формы описания равносильны, но вторая употребляется чаще)

VAR

< идентификатор >: < имя типа >;

 

б) через объявление переменных в формате:

 

VAR

< идентификатор >: ARRAY [тип индекса 1, тип индекса 2] OF < тип элементов >;

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

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

CONST

N = 5;

M = 10;

TYPE

A = ARRAY [ 1.. N, 1.. M ] OF WORD;

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

VAR

C: ARRAY [ 1.. N, BOOLEAN ] OF -20.. 20;

D1, D2: A;

F1, F2: B;

Типизированная константа-матрица объявляется в программе следующим образом:

CONST

M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6));

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

VAR

M: ARRAY [ 1.. 10, -10.. 9, CHAR ] OF BYTE;

N: ARRAY [ 1.. 5, 1.. 10, 1.. 15, 1.. 20 ] OF SHORTINT;

В памяти компьютера элементы размещаются друг за другом так, что при переходе от младших адресов к старшим наиболее быстро изменяется самый правый индекс массива. Например, для матрицы 2х2: A[1,1], A[1,2], A[2,1], A[2,2].

 

 

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

Примеры задания индекса:

M [5] - непосредственно числом;

M [x] - косвенно через переменную x;

M [y+5] - косвенно через выражение;

M [Succ(i)] - косвенно через значение функции.

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

VAR

X, Y: ARRAY [1.. 10] OF INTEGER;

Z: ARRAY[1.. 10] OF INTEGER;

то допустим следующий оператор присваивания:

X: = Y;

но недопустим оператор Z: = X;… , так как массивы X и Z не идентичных типов.

В Паскале над массивами не определены операции отношения. Сравнивать массивы можно только поэлементно. К отдельным элементам массива можно применять стандартные процедуры и функции, предусмотренные в языке. Перечень допустимых стандартных подпрограмм зависит от типа элементов массива.

 



<== предыдущая лекция | следующая лекция ==>
Понятие массива данных | Ввод и вывод элементов массива


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


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

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

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


 


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

 
 

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

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