ТОР 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; Подобные указатели называют нетипизированными и используют для обработки данных, структура и тип которых меняется в процессе выполнения программы, то есть динамически.
Не нашли, что искали? Воспользуйтесь поиском:
|