Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многоуровневые записи

Type

Type

Var

Общая характеристика записей и способы описания в Delphi

Записи

Рандомизированные алгоритмы

Термин «рандомизированный алгоритм» (randomized algorithm) употребляется в отношении алгоритма, который генерирует или использует случайные числа. В состав ядра операционной системы Linux входит модуль, который анализирует интервалы между нажатиями клавиш пользователем, а затем использует полученные данные для вычисления рандомизирующего коэффициента.

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

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

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

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


Запись (record) - это структура данных, представляющая собой конечное множество эле­ментов, называемых полями записи или просто полями. Поля записи в общем случае имеют различные типы. Обычно данные типа «запись» используются в качестве элементов структур, называемых таблицами.

Запись, хранящаяся в оперативной памяти, относится к классу оперативных последовательных структур, поскольку

а) в течение всего времени существования запись занимает сплошной участок памяти, в котором хотя могут находиться «пустоты», обусловленные выравниванием, однако между слотами её полей недопустимо существование слотов других данных;

б) поля в физической памяти располагаются в той последовательности, в которой они перечисляются при объявлении типа Record;

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

Правилами языка Object Pascal не запрещается описывать переменную‑запись непосредственно в ее объявлении, используя следующий формат:

 

<имя переменной>: Record

<список имен полей 1>: <тип 1>;

× × ×

<список имен полей m>: <тип m>;

End;

Однако с точки зрения хорошего стиля описание переменной типа «запись» следует начинать с явного объявления ее типа, которое (объявление типа) выглядит следующим образом:

 

<имя типа> = Record

<список имен полей 1>: <тип 1>;

× × ×

<список имен полей m>: <тип m>;

End;

Var <имя переменной>: <имя типа>;

 

Пример объявления типа «запись» и переменной-записи, содержащей сведения о студенте, приводится ниже:

 

TStud = Record

Fam, Name, Par: String[35];

Year: 1950..2000;

Sex: (Male, Female);

Group: String[7]

End;

Var StudFITR, StudMSF: TStud;

 

Доступ к любому элементу записи осуществляется с помощью имени, называемого селектором поля записи.Селектор состоитиз имени переменной типаRecord, и по­слеточки записываетсяимя поля, например,StudFITR.Fam,где StudFITR - имяпеременной, Fam - имя поля.

Логическую структуру записи часто изображают в виде прямоугольника, разделенного горизонтальными и вертикальными линиями на более мелкие прямоугольники, соответствующие отдельным полям. При этом размеры внутренних прямоугольников никак не сопоставляются с физическими размерами полей в байтах. Рядом с прямоугольниками указываются идентификаторы соответствующих полей, а внутри - их значения, называемые метками. Пример логической структуры записи типа TStud приводится на рисунке 4.1.

 

 

Рисунок 4.1 – Логическая структура записи типа TStud

 

Обычно любой физической структуре ставится в соответствие дескриптор (description - описание, приметы)или заголовок, который содержит общие сведения о физической структуре. Дескриптор является записью, в которой количество, размеры и содержимое полей зави­сят от той структуры, которой поставлен в соответствие дескриптор. Например, дескриптор записи может содержать:

- код структуры (Record),

- имя записи,

- число входящих в нее полей,

- имена, типы и длины полей,

- адреса (указатели) слотов полей.

В записи некоторые поля сами могут представлять собой записи. Например, дополним объявление типа TStud объявлением следующего типа:

TStudent = Record

SelfStud: TStud;

Faculty: (FITR, MSF, ATF, MTF);

Military: Boolean;

End;

 

где поля Faculty и Military предназначены для хранения соответственно названия факультета, на котором обучается студент, и признака «служил в армии / не служил». Пусть к тому же переменная Student имеет тип TStudent. Тогда в селекторах некоторых полей может появиться третья компонента, например,

 

Student.SelfStud.Fam:= ’Иванов’;

Student.SelfStud.Group:= ’107312’;

Student.Military:= True;

 

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

<== предыдущая лекция | следующая лекция ==>
Алгоритмы и платформы | Массивы
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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