Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




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

Массив – совокупность данных одного и того же типа. Число элементов массива фиксируется при описании типа и в процессе выполнения программы не изменяется. О писание массива:

имя: array [индекс] of тип;

где

· имя – любой допустимый в Delphi идентификатор;

· тип – любой тип языка.

· индекс – перечисление диапазонов изменения номеров элементов массива; количество диапазонов совпадает с количеством измерений массива; диапазоны отделяются друг от друга запятой, а границы диапазона – двумя символами точка:

[in..ik, jn.. jk, …, ]

Например:

var

a:array [1..10] of byte;

b:array[1..3,1..3] of real;

Еще один способ описать массив – создать новый тип данных:

type

mas=array [1..2,3..5] of word;

var M: massiv;

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

имя[номер_элемента]

например:

a[5], b[2, 1], M[3, 2, 4].

Строка – последовательность символов. В Delphi строка трактуется как массив символов, то есть каждый символ строки пронумерован, начиная с единицы.

При использовании в выражениях строка заключается в апострофы. Описывают переменные строкового типа так

имя: string;

или

имя: string[длина_строки];

Например:

const S=’СТРОКА’;

var

Str1: string;

Stroka: string[100];

Запись – это структура данных, состоящая из фиксированного количества компонентов, называемых полями записи. В отличие от массива поля записи могут быть разного типа. Описание:

имя=record список_полей end;

Здесь, имя – любой допустимый идентификатор, список_полей – описания полей записи. Например:

type

student = record

name: string;

age: byte;

end;

var

a, b, c: student;

Доступ к полям записи осуществляется с помощью составного имени:

имя_записи.имя_поля

Например:

a.name:=’Ivanov Ivan’;

a.age:=18;

b.name:=a.name;

Множество – это набор логически связанных друг с другом объектов. Количество элементов множества может изменяться от 0 до 256. Множество, не содержащее элементов, называется пустым. Описание:

имя = set of тип_данных;

Например:

type

TwoNumbers = set of 0..1;

var

Num1, Num2: TwoNumbers;

Файл – это именованная область внешней памяти компьютера. Файл содержит компоненты одного типа. Длина созданного файла не оговаривается при его объявлении и ограничивается только емкостью диска, на котором он хранится. В Delphi можно объявить типизированный файл:

имя_переменой = file of тип;

нетипизированный файл:

имя_переменой = file;

и текстовый файл:

имя_переменой = TextFile;

Например:

var

f1: file of byte;

f2: file;

f3: TextFile;

Указатели

Как правило, при обработке оператора объявления переменной

имя: тип;

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

Доступ к значению переменной можно получить иным способом – определить собственные переменные для хранения адресов памяти. Такие переменные называют указателями.

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

var имя_переменной: ^тип;

Такие указатели называют типизированными. Например:

var p: ^integer;

По адресу, записанному в переменной p будет храниться переменная типа int или, другими словами p указывает на тип данных integer.

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

var имя: pointer;

Например:

var x, y: pointer;

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных