Стандартные и пользовательские типы данных. 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандартные и пользовательские типы данных.



ТИПЫ ДАННЫХ

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

Фактически тип характеризует множество значений, которые может принимать некоторая переменная или выражение и которые может формировать функция.

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

a) целый (INTEGER);

b) вещественный (REAL); c) логический (BOOLEAN); d) символьный (CHAR);

E) указательный (POINTER).

К пользовательским относят 2 типа: a) перечисляемый;

b) диапазонный.

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

Целый тип - INTEGER

Этот тип включает некоторое подмножество целых, размер которого варьируется от машины к машине. Если для представления целых чисел в машине используется n разрядов, причем используется дополнительный код, то допустимые числа должны удовлетворять условию -2

'<= х< 2.

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

Числа делятся на знаковые и беззнаковые. Для каждого из них имеется свой диапазон значений:

а)(0..2n-1)для без знаковых чисел

Рис. 1.1

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

Операции над целым типом:

a)Сложение.

b)Вычитание.

c)Умножение.

d)Целочисленное деление.

e)Нахождение остатка по модулю.

f) Нахождение экстремума числа (минимума и максимума)

g) Реляционные операции (операции сравнения) (<,>,<=,>=, =,<>)

Примеры: Adiv В = С

Amod В = D С* B + D = A 7 div 3 = 2

7 mod 3 = 1

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

Вещественный тип - REAL

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

в формате с плавающей точкой характеризуются целочисленными значениями мантиссы и порядка, которые определяют диапазон изменения и количество верных знаков в представ-

лении чисел вещественного типа.

X = +/- М * q(+/-P) - полулогарифмическая форма представления числа, показана на рисунке 2.

937,56 = 93756 * 10-2 = 0,93756 * 103

Рис. 1.2

Удвоенная точность необходима для того, чтобы увеличить точность мантиссы.

Логический тип - BOOLEAN

Стандартный логический тип Boolean (размер-1байт) представляет собой тип данных, любой элемент которого может принимать лишь 2 значения: True и False.

Над логическими элементами данных выполняются логические операции. Основные из них:

a) Отрицание (NOT) b) Конъюнкция (AND) c) Дизъюнкция (OR)

Логические значения получаются также при реляционных операциях с целыми числами.

Символьный тип – CHAR

Тип CHAR содержит 26 прописных латинских букв и 26 строчных, 10 арабских цифр и некоторое число других графических символов, например, знаки пунктуации.

Подмножества, букв и цифр упорядочены и "соприкасаются", т.е.

("А"<= х)&(х <= "Z") - х представляет собой прописную букву

("0"<= х)&(х <= "9") - х представляет собой цифру Тип CHAR содержит некоторый непечатаемый символ, пробел, его можно использовать как разделитель. Операции:

a)Присваивания

b)Сравнения

c)Определения номера данной литеры в системе кодирования. ORD(Wi)

d)Нахождение литеры по номеру. CHR(i)

e)Вызов следующей литеры. SUCC(Wi)

f)Вызов предыдущей литеры. PRED(Wi)

Указательный тип -POINTER

Переменная типа указатель является физическим носителем адреса величины базового типа. Стандартный типуказатель Pointer дает указатель, не связанный ни с каким конкретным базовым типом. Этот тип совместим с любым другим типом-указателем.Операции:

a)Присваивания

b)Операции с беззнаковыми целыми числами.

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

Например:

ABCD:1234 - значение указателя в шестнадцатеричной системе счисления - относительный адрес. Первое число (ABCD) - адрес сегмента Второе число

.(1234) - адрес внутри сегмента.

Получение абсолютного адреса из относительного:

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

Например:

1) Сдвигаем ABCD на один разряд влево. Получаем ABCD0.

2) Прибавляем 1234. Полученный результат и является абсолютным адресом.

ABCD0 1234

---------

ACF04 – абсолютный адрес данного числа.

Наиболее важной характеристикой является изменчивость структуры во времени.

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

2. СТАНДАРТНЫЕ и пользовательские типы Все типы данных можно разделить на две

группы: скалярные и структурированные (составные). Скалярные типы, в свою очередь, делятся на стандартные и пользовательские.

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

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

 

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 1176; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.199.210 (0.005 с.)