русс | укр

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

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

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

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


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

Записи.


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


Запись — это структура данных, состоящая из фиксированного количества компонентов, называемых полями записи. В отличие от массива компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.Имя поля должно быть уникальным в пределах записи.

Структура объявления типа записи такова:

имя_типа = record

список_полей end;

Здесь имя_типа — правильный идентификатор; record, end — зарезервированные слова (запись, конец); список__полей — последовательность разделов записи, между которыми ставится точка с запятой.

Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором (идентификаторами) ставится двоеточие и описание типа поля (полей), например:

type

Data = record

Day, Month: Byte;

Year : Word;

end;

var

a,b : Data;

Различают фиксированные и вариантные записи.

Фиксированная запись состоит из конечного числа по­лей, ее объявление имеет следующий формат:

Record

<Имя поля1> : <Тип поля>;

. . .



<Имя поляN> : <Тип поля>;

end;

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

type

Forma = record

Name : String;

case byte of

0: (BirthPlace: String [40]):

1: (Country : String [20]:

EntryPort : String [20]:

Date1 : 1..31;

Date2 : 1..31)

end:

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

Пример.Использование записи.

var Man: record

Name: string;

Salary: real;

Note: string;

end;

. . .



Man.Name:='Иванов M.P.';

Man.Salary:=500;

. . .



2.Файлы

Под файлом понимается именованная область внешней памяти компьютера (жесткого или гибкого диска, компакт-диска и т. п.).

Файловый тип можно задать одним из трех способов:

имя = File of тип;

имя = TextFile;

имя = File;

Здесь имя — имя файлового типа (правильный идентификатор);

File, of — зарезервированные слова (файл, из);

TextFi1е — имя стандартного типа текстовых файлов;

тип — любой тип Object Pascal, кроме файлов, объектов, вариантов, интерфейсов и динамических массивов.

Пример:

type

Product = record

Name: String;

Code: Word;

Cost: Comp;

end;

Text80 = File of String[80]:

var

F1: File of Char;

F2: TextFile;

F3: File;

F4: Text80;

F5: File of Product;

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

- типизированные файлы (задаются предложением File of...);

- текстовые файлы (определяются типом TextFile);

- нетипизированные файлы (определяются типом File).

В наших примерах: F1, F4 и F5 — типизированные файлы, F2 — текстовый файл, F3 — нетипизированный файл.

3.Вариантные типы

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

В переменную-вариант можно поместить:

· целое или вещественное число;

· логическое значение;

· строку;

· время и/или дату;

· OLE-объект;

· массив произвольной размерности и длины, содержащий элементы одного из перечисленных выше типов:

Все эти типы считаются совместимыми с типом variant и в случае необходимости преобразования типов выполняются автоматически.

Для вариантной переменной определены два специфических значения:

- unassigned - назначается переменной при ее описании и указывает, что значение переменной пока не присвоено и не определено;

- Null — указывает, что переменная содержит значение неопределенного типа или что значение было потеряно.

 

4.Указатели

Оперативная память компьютера представляет собой совокупность ячеек для хранения информации — байтов, каждый из которых имеет собственный номер. Эти номера называются адресами, они позволяют обращаться к любому байту памяти. Object Pascal предоставляет в распоряжение программиста гибкое средство управления динамической памятью — так называемые указатели. Указатель — это переменная, которая в качестве своего значения содержит адрес байта памяти. С помощью указателей можно размещать в динамической памяти любой из известных в Object Pascal типов данных. Лишь некоторые из них (Byte, Char, Short I nt, Boolean) занимают во внутреннем представлении один байт, остальные — несколько смежных. Поэтому на самом деле указатель адресует лишь первый байт данных.

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

Формат описания типа для типизированного указателя:

Туре <Тип указателя> = ^<Тип адресуемых данных>

Нетипизированный указатель имеет тип Pointer и может ссылаться на дан­ные любого типа.

С помощью указателя можно получить доступ к значению адресуемых дан­ных. Для этого используется разыменовывание указателя — справа от имени указателя приписывается значок ^.

Для определения адреса объекта, к которому можно обратиться с помощью указателя, используется операция @ , записываемая перед именем этого объекта

Пример.Использование указателя

var p: ^integer;

p1:point;

n, k: integer;

. . .



p:=@n;

n:=100;

k:=p^+10;

. . . После выполнения операторов значение переменной k будет равно 110.



<== предыдущая лекция | следующая лекция ==>
Массивы. | Урок № 13. Выражения.


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


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

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

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


 


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

 
 

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

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