Действия над элементами массивов
Стр 1 из 2Следующая ⇒ СОДЕРЖАНИЕ
1.Цель работы 4 2. Задачи 4 3. Теоретическая часть 4 3.1. Понятие массива данных 4 3.2. Одномерные массивы 4 3.3. Многомерные массивы 7 3.4. Действия над элементами массивов 9 3.5. Ввод и вывод элементов массива 10 4. Решение задач - примеров 11 5. Порядок выполнения работы 13 6. Контрольные вопросы 14 7. Содержание и оформление отчета 15 Приложение 16 Список литературы 19
ЛАБОРАТОРНАЯ РАБОТА РАБОТА С МАССИВАМИ ДАННЫХ В ИНТЕГРИРОВАННОЙ СРЕДЕ DELPHI Цель работы Целью настоящей работы является изучение методов программирования на языке Delphi с использованием массивов данных.
Задачи Задачами лабораторной работы являются задачи овладения навыками разработки программ в интегрированной среде Delphi.
Теоретическая часть
Понятие массива данных
В языке Delphi под массивомпонимается упорядоченный набор фиксированного количества однотипных данных. Массивы, наряду с записями, строками, множествами, файлами, относятся к структурированному типу данных языка. Массивы могут быть одномерные и многомерные. При этом размер массива не ограничивается. Размерность массивов на практике ограничивается лишь объемом рабочей памяти конкретного компьютера. В памяти компьютера элементы массива располагаются в последовательных соседних ячейках памяти.
Одномерные массивы
Переменные массивов можно задавать двумя способами: а) через объявление типа в разделе TYPE, а затем объявление переменной (переменных) в разделе VAR:
TYPE < имя типа > = ARRAY [тип индекса] OF < тип элементов >; VAR < идентификатор >: < имя типа >;
б) через объявление переменной (переменных) сразу в разделе VAR:
VAR < идентификатор >: ARRAY [тип индекса] OF < тип элементов >;
Элементы массива могут быть любого, в том числе и структурированного, типа. Следует отметить, что вещественный тип не относится к упорядоченным типам данных. В качестве типа индекса может использоваться любой порядковый тип, кроме типа Longint. Обычно в качестве индексного типа используется целочисленный тип-диапазон, в котором задаются границы изменения индексов. Обратите внимание, что величины, соответствующие начальному и конечному индексам, т.е. значения, указанные в квадратных скобках, разделяются двумя (!) точками. Причем перед этими двумя точками и после них допускаются пробелы.
Примеры объявления массивов:
TYPE X = ARRAY [1.. 100] OF INTEGER; Y = ARRAY [1.. 25] OF REAL; Z = RECORD R, I: REAL END; 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; {массив целых чисел } G: ARRAY [ 1.. 15] 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); Кроме того, в качестве индексного типа могут использоваться упорядоченные типы языка Delphi, например:
VAR A1: ARRAY[BYTE] OF BOOLEAN; A2: ARRAY[CHAR] OF BOOLEAN; A3: ARRAY[RED,YELLOW,GREEN] OF CHAR;
Здесь А 1 (первый пример) представляет собой массив из 256 (0..255) значений типа Вооlеаn. А 2 – это массив также из 256 значений типа Вооlеаn, однако, в отличие от массива А 1, он индексируется значениями типа Сhаr. Обращения к отдельным элементам массивов А 1и А 2 выглядят так:
а 1[90] :=fаlsе; а 2[ z ] :=truе; Содержимое массивов А 1и А 2 может быть следующим: 1-й элемент 2-й элемент 3-й элемент... 256-й элемент TRUE FALSE FALSE … TRUE (Элементы 1 – 256 массива А 1 будут обозначаться числами с 0 по 255, а массива А 2 – символами таблицы ASCII по порядку.)
Третий пример (А 3) представляет собой массив из трех элементов типа Сhаr. Элементы этого массива обозначаются именами Red, Yеllоw и Grееn (для индексирования здесь использован перечислимый тип). Примеры обращений к элементам этого массива можно видеть в табл.1. Содержимое массива А 3 может выглядеть так: А 3[ Red ] А 3[ Yе11оw ] А 3[ Grееn ] 'А' 'С' '10'
Таблица 1 Манипуляции над элементами массива
Многомерные массивы Элементами массивов могут быть также массивы. В этом случае мы имеем двумерный массив (матрицу). Двумерные массивы задаются в программе следующим образом: а) через объявление типа в разделе TYPE, а затем объявление переменной (переменных) в разделе VAR: TYPE < имя типа > = ARRAY [тип индекса 1] OF ARRAY [тип индекса 2] OF < тип элементов >; или < имя типа > = ARRAY [ тип индекса 1, тип индекса 2 ] OF <тип элементов >; Обе формы описания равносильны, но вторая употребляется чаще. VAR < идентификатор >: < имя типа >; б) через объявление переменной (переменных) сразу в разделе VAR: VAR < идентификатор >: ARRAY [тип индекса 1, тип индекса 2] OF < тип элементов >; Необходимо отметить, что индексы не обязательно должны иметь один и тот же тип. В общем случае индексы по каждому измерению могут быть различных типов.
Примеры объявления двумерных массивов: TYPE A = ARRAY [ 1.. 5, 1.. 4 ] OF WORD; B = ARRAY [ 1.. 10, 1.. 20 ] OF REAL; VAR C: ARRAY [ 1.. 5, BOOLEAN ] OF -20.. 20; D1, D2: A; F1, F2: B;
А вот так выглядит двумерный массив A (или матрица) полностью: а1[1,1] а1[1,2] а1[1,3] а1[1,4] а1[2,1] а1[2,2] а1[2,3] а1[2,4] а1[3,1] а1[3,2] а1[3,3] а1[3,4] а1[4,1] а1[4,2] а1[4,3] а1[4,4] а1[5,1] а1[5,2] а1[5,3] а1[5,4] Типизированная константа-матрица объявляется в программе следующим образом CONST M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6)); Массивы могут быть не только одномерными или двумерными, но и 3-х мерными, 4-х мерными и т.д. В этом случае они объявляются в программе следующим образом:
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]. Действия над элементами массивов Для обеспечения эффективной работы с отдельными элементами необходимо прежде всего обеспечить правильный доступ к элементам массива. Доступ (обращение) к отдельным элементам массива осуществляется путем указания имени переменной массива, за которым в квадратных скобках помещается значение индекса (порядкового номера) элемента. Примеры задания индекса: A [5] - непосредственно числом; A [x] - косвенно через переменную x; A [y+5] - косвенно через выражение; A [Succ(i)] - косвенно через значение функции. Поскольку элемент массива трактуется как переменная, он может фигурировать в выражениях. Набор операций над элементами массива соответствует операциям, допустимым для базового типа. Примеры манипулирования элементами массива можно видеть в табл.2. Таблица 2 Действия над элементами массива
Что касается набора операций над массивами в целом, то скопировать все элементы из одного массива в другой можно единственным оператором присваивания. Например, если Х и Y – массивы, принадлежащие одному типу, то правомерен оператор
X:= Y;
Этот оператор копирует значения всех элементов массива X в массив Y.
Однако нельзя использовать с массивами операции сравнения. Неверно, например, было бы к массивам Х и Y применить оператор
while х=у do...
Тем не менее, если такая необходимость существует, можно организовать поэлементное сравнение массивов.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|