КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Базовые операции обработки одномерных массивов
Произведение количества элементов массива на размер одного элемента в байтах. Размер оперативной памяти определяется при объявлении одномерного массива и не изменяется во время работы с ним. Элементы массива хранятся в последовательно размещенных ячейках оперативной памяти. Примеры Массив из 100 компонентов действительного типа: var b: array [ 1..100 ] of real;
Вектор, компоненты которого представляют собой численность населения города Одессы в отдельные года. Нумерацию компонент удобнее начинать с целого числа 1794 – года основания Одессы.
var Odessa: array [ 1794..2012 ] of integer;
Численность населения города Рим до нашей эры. Вектор с нумерацией компонентов от минус 754 (года основания Рима) до минус 1 (последнего года до нашей эры): var Rome: array [ –754..–1 ] of integer;
type border = 1..100; vector = array [ border ] of real; var b: vector:
const a: array [ 1..5 ] of byte = (0, 1, 2, 3, 4); type vector = array [ 1.. 100 ] of real; var b: vector: Day: array [ 1..365 ] of real;
При объявлении массивов удобно использовать именованные константы, например: const n =365; m = 100; type vector = array [ 1.. m ] of real; var b: vector; Day: array [ 1..n ] of real;
Следует помнить: объем памяти, которая выделенна для хранения всех объявленных в разделах var переменных не должен превышать 2 Гб для OP Delphi 6 (для Turbo Pascal – 64 Кбайт).
Поэтому есть ограничения на количество элементов массива. Объем памяти можно рассчитать: Ошибка: var b:array [Integer] of real;
var b:array [LongWord] of byte;
var b:array [longint] of byte;
[Error]: Data type too large: exceeds 2 GB
Но верно: var b:array [byte] of real; //256 элементов ´8 байт = 2048 байт Выводы: Основные свойства массивов (они присущи как одномерным так и многомерным массивам): Ø однородность – все элементы принадлежат одному типу; Ø постоянство – размерность массива задается во время его объявления и не изменяется на протяжении работы с ним; Ø равнодоступность – способ доступа ко всем элементам одинаков; Ø последовательность расположения – все элементы массива расположены в последовательных ячейках оперативной памяти; Ø индексированость – элементы однозначно идентифицируются своими индексами; Ø упорядоченность индекса – индексный тип должен быть порядковым типом.
Двумя простейшими операциями, выполняемыми над элементами одномерного массива, являются выбор определенного элемента и изменение его значения.
Чтобы обратиться в программе к элементу массива, надо указать имя массива и номер элемента (индекс) в квадратных скобках, т.е.: имя [индекс] Эта операция называется индексированием [ ].
В роли индекса можно использовать константу, переменную или выражение порядкового типа.
Изменить значение элемента массива возможно при помощи операции присваивания: {Первому элементу массива Day присваивается значение 20.5} Day[1]:= 20.5; {245-му элементу массива Day присваивается значение –17}
Day[245]:= –17; {Элементу массива b с номером i присваивается значение –3} b[i]:= –3; {но переменная i должна быть порядкового типа и определенна до ее использования}
Изменить значение элемента массива возможно при помощи операции ввода данных: readln(Day[1]); {В первый элемент массива Day считывается новое значение}
К элементам массива можно применять все операции, определенные для базового типа. Например: Day[1] > Day[245] S:= Day[1]+ Day[245]; //переменная S должна быть типа real
Типичными операции при работе с одномерными массивами: § ввод или инициализация массива; § вывод массива; § копирование массива; § поиск максимального или минимального элемента массива; § поиск заданного элемента (в неупорядоченном и в упорядоченном массиве); § вычисление обобщенных характеристик – сумм элементов, их произведений (условное и безусловное); § подсчет элементов, которые удовлетворяют заданному условию; § вставка и удаление элемента; § перестановка элементов (обмен значениями между элементами массива, циклический сдвиг); § сортировка массива.
Дата добавления: 2014-01-04; Просмотров: 1396; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |