Работа с динамической памятью и указателями в системе Turbo Pascal. Мирецкий И.Ю - 13 стр.

UptoLike

Составители: 

Addr(V)
Функция CSeg. Возвращает текущее значение регистра CS (тип результата - Word). Обращение:
CSeg
Функция DSeg. Возвращает текущее значение регистра DS (тип результата - Word). Обращение:
DSeg
Функция Ofs. Возвращает смещение заданного объекта V (тип результата - Word). Обращение:
Ofs(V)
Функция Ptr. Возвращает значение типа Pointer по заданным сегменту Seg (выражение типа Word)
и смещению Ofs (выражение типа Word). Обращение:
Ptr(Seg, Ofs)
Функция Seg. Возвращает сегмент для заданного объекта V (тип результата
- Word). Обращение:
Seg(V)
Функция SiseOf. Возвращает размер в байтах внутреннего представления указанного объекта W
(имя переменной, функции или типа). Обращение:
SizeOf(W)
Функция SPtr. Возвращает текущее значение регистра SP (тип результата - Word). Обращение:
Sptr
Функция SSeg. Возвращает текущее значение регистра SS (тип результата - Word). Обращение:
SSeg
13. Пример использования динамических
переменных
Рассмотрим следующую задачу: составить модель работы регистратуры поликлиники по
органи-
зации очереди пациентов к врачу. Схема организации очереди такова:
1) все пациенты в возрасте до 60 лет обслуживаются в порядке регистрации;
2) пациенты, возраст которых превышает 60 лет, направляются в начало общей очереди и образуют
собственную очередь, где обслуживаются в порядке регистрации;
3) удаление пациента из очереди осуществляется либо по окончании приема, либо
по желанию
пациента.
На каждого посетителя заводится электронная карточка, в которой указываются его фамилия, адрес, пол и
год рождения.
Организуем очередь в виде списка. Каждый элемент списка имеет два поля: содержательное и
ссылочное. В первом поле содержится информация о пациенте. Второе поле указывает на следующий эле-
мент списка. Последний элемент списка
имеет "пустой" указатель nil. Указатель на первый элемент спи-
ска (то есть на весь список) содержится в некоторой переменной (first).
                                               Addr(V)

       Функция CSeg. Возвращает текущее значение регистра CS (тип результата - Word). Обращение:

                                                CSeg

       Функция DSeg. Возвращает текущее значение регистра DS (тип результата - Word). Обращение:

                                                DSeg

       Функция Ofs. Возвращает смещение заданного объекта V (тип результата - Word). Обращение:

                                                Ofs(V)

       Функция Ptr. Возвращает значение типа Pointer по заданным сегменту Seg (выражение типа Word)
и смещению Ofs (выражение типа Word). Обращение:

                                             Ptr(Seg, Ofs)

       Функция Seg. Возвращает сегмент для заданного объекта V (тип результата - Word). Обращение:

                                               Seg(V)

        Функция SiseOf. Возвращает размер в байтах внутреннего представления указанного объекта W
(имя переменной, функции или типа). Обращение:

                                              SizeOf(W)

       Функция SPtr. Возвращает текущее значение регистра SP (тип результата - Word). Обращение:

                                                 Sptr

       Функция SSeg. Возвращает текущее значение регистра SS (тип результата - Word). Обращение:

                                                SSeg

                              13. Пример использования динамических
                                            переменных

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

       1) все пациенты в возрасте до 60 лет обслуживаются в порядке регистрации;
         2) пациенты, возраст которых превышает 60 лет, направляются в начало общей очереди и образуют
собственную очередь, где обслуживаются в порядке регистрации;
         3) удаление пациента из очереди осуществляется либо по окончании приема, либо по желанию
пациента.
На каждого посетителя заводится электронная карточка, в которой указываются его фамилия, адрес, пол и
год рождения.
         Организуем очередь в виде списка. Каждый элемент списка имеет два поля: содержательное и
ссылочное. В первом поле содержится информация о пациенте. Второе поле указывает на следующий эле-
мент списка. Последний элемент списка имеет "пустой" указатель nil. Указатель на первый элемент спи-
ска (то есть на весь список) содержится в некоторой переменной (first).