Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Комбинированные типы данных в языке Паскаль



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

Синтаксическая диаграмма описания типа запись выглядит следующим образом:

запись

 

 

список

полей

 

 

общая часть

списка полей

 


Type

ank = record

fio: string[40];

gr: integer;

adres: record

gorod: string[20];

ul: string[25];

dom, kvart: integer;

end;

zach: string[15];

end;

Тип, которому принадлежит поле, может быть любым.

Одиночные записи используются очень редко.

Наиболее часто используется конструктор spisok: array[1..25] of ank;

Имя типа на должно использоваться в исполняемой части программы.

Если 2 переменных комбинированного типа принадлежат к одному и тому же типу, они могут участвовать в операторе присваивания.

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

Если переменные описываются одинаково, но в 2-х разных местах, они уже разных типов (для транслятора)

30.Оператор WITH .

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

 

 


Переменные типа запись. Облегчает доступ к полям записи и минимизирует повторные адресные вычисления. Внутри оператора WITH к полям записи, записанным в его заголовке можно обращаться как к простым переменным. Идентификатор поля в сокращенной записи оператора WITH обозначает компоненту записи из ближайшего объемлющего оператора WITH, в котором указана переменная с таким полем. with an1, fio, data do begin

Fam: =’...’; Im: =’...’; God: =1970; Mes: =yan; End;

Если 2 переменные из списка записей оператора WITH имеют поля с одним и тем же именем, то внутри оператора WITH это имя обозначает поле той записи, которая указана в списке последней. Имена отдельных полей могут совпадать с именами переменных.

31. Записи с вариантами.

Записи могут иметь варианты. В качестве примера приведём исследование для проверки качества

некоторого лекарства. Если проверки не производится, то единственные данные, которые нас интересуют, - это применял ли данный пациент ранее данное лекарство. Если же производится проверка, то необходимо собрать сведения по большому числу данных относительно головной боли, лихорадки и тошноты. Что можно сделать с описаниями переменных, чтобы мы могли работать одновременно с обеими структурами? Для этого в описании записи можно применить специальный переключатель Case. После возможного результата Proverka в скобках приводится описание соответствующих полей. Это иллюстрируется ниже:

type Effect=Record

Nomer: Integer;

Case Proverka: Boolean of

FALSE: (PrinimalRanee: Boolean);

TRUE: (GolovBol, Lihoradka, Toshnota: Boolean)

end;

var Nekto: Effect;

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

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

В случае, когда один из вариантов не содержит полей (т.е. список полей пуст), в скобках после соответствующей константы ничего не пишут, например:

Type Pogoda=Record

Temperatura: Integer;

Vlagnost: Integer;

Case Veter: Boolean of TRUE: (Napravlenie: (S, N, V, O); Skorost: Integer);

FALSE: ()

end;

Замечания.

После вариантной части записи поля появляться не могут.

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

Вариантная часть может содержать другие записи, в том числе и с вариантами. Степень вложенности записей в вариантной части не ограничена.

Множественные типы данных.

Множество в языке Турбо Паскаль – это ограниченный набор различных элементов одного типа. Базовый тип – это совокупность значений, из которых могут быть образованы множества. Значение переменной множественного типа может содержать любое количество различных элементов базового типа. Иными словами, возможными значениями переменных множественного типа являются все подмножества значений базового типа. Вещественный тип данных не используется в качестве базового (нет отношения порядка, нельзя ввести ограничения на тип).

Описание

множественный тип

Изображение множества


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 1056; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь