русс | укр

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

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

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

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


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

Массивы


Дата добавления: 2014-02-04; просмотров: 914; Нарушение авторских прав


Структурированные типы данных

Интервальный тип данных

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

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

Интервальный тип описывается в разделе объявления типов:

type

<имя_типа>=<значение1>..< значение2>;

<имя_типа> - имя нового интервального типа;

<значение1> - нижняя граница интервального типа;

<значение2> - верхняя граница интервального типа;

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

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

Массивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Каждая отдельная величина называется элементом массива. Тип элементов может быть любым, кроме файлового типа и называется базовым типом. Вся совокупность компонент определяется одним именем – именем массива. Доступ к элементу массива происходит по индексу – координатам элемента в массиве. В Object Pascal существуют статические и динамические массивы. Динамические массивы используют динамическое распределение памяти под массив и будут рассмотрены ниже вместе с другими динамическими структурами.

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



Структура:

type <имя_типа>=array [<знач>[,…]] of <тип_элем>;

или

var <имя_перем>[,…]:array [<знач>[,…]] of

<тип_элем>[=(<спис_знач>)];

<тип элем.> - тип элементов массива(базовый тип).

<знач> - значение интервального типа (обычно целого).

Количество <знач> определяет количество измерений(координат элементов) массива (одномерный, двухмерный и т.д.), а само <знач> определяет границы изменения координаты и количество элементов для соответствующего измерения.

Можно проинициализировать переменную-массив начальными значениями, указанными в <спис_знач>. При инициализации многомерных массивов значения элементов каждого из входящих в него массивов записывается в скобках.

Для доступа к элементам массива используется структура:

<имя_масс>[<выраж.>[,…]]

Список выражений в скобках определяют индекс элемента. <выраж.> должно иметь значение целого типа. Количество <выраж.> должно соответствовать количеству измерений массива.

К массивам применима операция присваивания, копирующая все элементы одного массива в другой массив. Тип массивов должен быть эквивалентен.

К массивам применимы стандартные функции

Low(<имя_типа>|имя_перем),High(<имя_типа>|имя_перем),

Length(<имя_типа|имя_перем>), которые возвращают границы и длину первого измерения массива.

 

Строковой тип данных (строки)

Особое место в языке Object Pascal занимают массивы символов - строки. Работа со строками похожа на работу с обычными массивами, но строки не относятся к структурированным типам данным, так как имеют сложный внутренний механизм работы и хранения данных.

Тип Количество символов Требуемая память, байт Кодировка
1. String[<знач>] <знач> <знач>+1 ASCII
2. ShortString ASCII
3. AnsiString (String) 0-~2^31 4 б – 2 Гб ASCII
4. WideString 0-~2^30 4 б – 2 Гб Unicode
5. PChar 0-~2^31/~2^30 4 б – 2 Гб ASCII или Unicode

 

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

Доступ к отдельным символам строки производится также как и для одномерных массивов:

<имя_строки>[<выраж.>]

<выраж.> - выражение целого типа, имеющее значение от 1 до количества символов в строке.

Тип элементов – Char или WideChar в зависимости от кодировки.

У переменных первых двух строковых типов существует специальный элемент с индексом 0, содержащий текущую длину строки.

Для строк (кроме PСhar) применимы:

1. Операция присваивания.

2. Операции отношения, которые производятся посимвольно. Если длина строки S1 больше длины строки S2, и все символы S2 равны соответствующим символам S1, то S1>S2. Например ‘AB’>’A’. Пустые строки представляют наименьшее значение: ‘A’>’’.

3. Операция конкатенации(объединения) строк +.

4. Стандартная функция Length(<имя_перем>), возвращающая текущую длину строки.

5. Стандартные функции для работы со строками - copy, delete, insert, pos.

Тип PСhar предназначен для хранения нуль-терминированных строк(стандартный строковой тип данных языка C++). В таких строках признаком конца строки является символ #0. Для работы с такими строками применяются стандартные подпрограммы из модуля SysUtils.

Данные типа PСhar и остальных строковых типов могут быть преобразованы друг в друга при помощи приведения типов.



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


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


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

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

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


 


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

 
 

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

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