Переменная типа указатель является физическим носителем адреса величины базового типа. Cтандартный тип-указатель Pointer дает указатель, не связанный ни с каким конкретным базовым типом. Этот тип совместим с любым другим типом-указателем.
Операции:
a) Присваивания
b) Операции с беззнаковыми целыми числами.
При помощи этих операций можно вычислить адрес данных. В машинном виде эти типы занимают максимально возможную длину.
Например:
ABCD:1234 – значение указателя в шестнадцатеричной системе счисления – относительный адрес.
Первое число (ABCD) – адрес сегмента
Второе число (1234) – адрес внутри сегмента.
Получение абсолютного адреса из относительного:
Для получения абсолютного адреса необходимо произвести сдвиг адреса сегмента влево, и к полученному числу прибавить адрес внутреннего сегмента.
Например:
1) Сдвигаем ABCD на один разряд влево. Получаем АВСD0.
2) Прибавляем 1234. Полученный результат и является абсолютным адресом.
ABCD0
12 3 4
———-
ACF04 – абсолютный адрес данного числа.
1.6 Стандартные типы пользователя
1.6.1 Перечисляемый
Перечисляемый тип определяется конечным набором значений, представленных списком идентификаторов в объявлении типа. Значениям из этого набора присваиваются номера в соответствии с той последовательностью, в которой перечислены идентификаторы. Формат
объявления перечисляемого типа таков:
Если идентификатор указан в списке значений перечисляемого типа, он считается именем константы, определенной в том блоке, где объявлен перечисляемый тип. Порядковые номера значений в объявлении перечисляемого типа определяются их позициями в списке идентификаторов, причем у первой константы в списке порядковый номер равен нулю. К данным перечисляемого типа относится, например, набор цветов:
TYPE <Цвет> = (Красный, Зеленый, Синий)
Операции те же, что и для символьного типа.
1.6.2 Диапазонный или интервальный
В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значениями, в которое входят все значения исходного типа, находящиеся в этих границах, включая сами границы. Такое подмножество определяет диапазонный тип. Он задаётся указанием минимального и максимального значений, разделенных двумя точками.
TYPE T=[ MIN..MAX ]
TYPE <Час>=[1..60]
Минимальное значение при определении такого типа не должно быть больше максимального.
Контрольные вопросы:
1.Каковы основные характеристики структур данных?
2.Какие типы данных вы знаете ?
3.Какие из них относятся к стандартным, а какие к пользовательским ?
4.Как представляются вещественные числа ?
5.Что представляют собой данные логического типа ?
6.Какие типы данных относятся к стандартным пользовательским ?
Структуры и алгоритмы обработки данных
e) Вызов следующей литеры. SUCC(Wi)
f) Вызов предыдущей литеры. PRED(Wi)
1.5 Указательный тип – POINTER
Переменная типа указатель является физическим носителем адреса величины базового типа. Cтандартный тип-указатель Pointer дает указатель, не связанный ни с каким конкретным базовым типом. Этот тип совместим с любым другим типом-указателем.
Операции:
a) Присваивания
b) Операции с беззнаковыми целыми числами.
При помощи этих операций можно вычислить адрес данных. В машинном виде эти типы занимают максимально возможную длину.
Например:
ABCD:1234 – значение указателя в шестнадцатеричной системе счисления – относительный адрес.
Первое число (ABCD) – адрес сегмента
Второе число (1234) – адрес внутри сегмента.
Получение абсолютного адреса из относительного:
Для получения абсолютного адреса необходимо произвести сдвиг адреса сегмента влево, и к полученному числу прибавить адрес внутреннего сегмента.
Например:
1) Сдвигаем ABCD на один разряд влево. Получаем АВСD0.
2) Прибавляем 1234. Полученный результат и является абсолютным адресом.
ABCD0
12 3 4
———-
ACF04 – абсолютный адрес данного числа.
1.6 Стандартные типы пользователя
1.6.1 Перечисляемый
Перечисляемый тип определяется конечным набором значений, представленных списком идентификаторов в объявлении типа. Значениям из этого набора присваиваются номера в соответствии с той последовательностью, в которой перечислены идентификаторы. Формат
объявления перечисляемого типа таков:
TYPE<имя> = (<список>);
<список>:= <идентификатор>,[<список>]
Если идентификатор указан в списке значений перечисляемого типа, он считается именем константы, определенной в том блоке, где объявлен перечисляемый тип. Порядковые номера значений в объявлении перечисляемого типа определяются их позициями в списке идентификаторов, причем у первой константы в списке порядковый номер равен нулю. К данным перечисляемого типа относится, например, набор цветов:
TYPE <Цвет> = (Красный, Зеленый, Синий)
Операции те же, что и для символьного типа.
1.6.2 Диапазонный или интервальный
В любом порядковом типе можно выделить подмножество значений, определяемое минимальным и максимальным значениями, в которое входят все значения исходного типа, находящиеся в этих границах, включая сами границы. Такое подмножество определяет диапазонный тип. Он задаётся указанием минимального и максимального значений, разделенных двумя точками.
TYPE T=[ MIN..MAX ]
TYPE <Час>=[1..60]
Минимальное значение при определении такого типа не должно быть больше максимального.
Контрольные вопросы:
1.Каковы основные характеристики структур данных?
2.Какие типы данных вы знаете ?
3.Какие из них относятся к стандартным, а какие к пользовательским ?
4.Как представляются вещественные числа ?
5.Что представляют собой данные логического типа ?
6.Какие типы данных относятся к стандартным пользовательским ?
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84