Концепция типа данных
Стандартные типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т. д. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов. Типы, выделенные в таблице подчеркиванием, объединяются… Читать ещё >
Концепция типа данных (реферат, курсовая, диплом, контрольная)
Что определяет тип данных? Данные, с которыми работает программа,.
— хранятся в оперативной памяти. Естественно, что необходимо точно знать, сколько места они занимают, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа. Тип данных однозначно определяет: внутреннее представление данных, а следовательно, и диапазон их возможных значений; допустимые действия надданными (операции и функции). Например, целые и вещественные числа, даже если они занимают одинаковый объем памяти, имеют совершенно разный диапазон возможных значений; целые числа можно умножать друг на друга, а, к примеру, символы — нельзя.
Каждое выражение в программе имеет определенный тип (табл. 2.4).
Таблица 2.4. Классификация типов.
Стандартные. | Определяемые программистом. | ||
Логические. Целые. Вещественные. Символьный. Строковый. Адресный. Файловые. | Простые. | Составные. | |
Перечисляемый. Интервальный. Адресные. | Массивы. Строки. Записи. Множества. | Файлы. Процедурные типы.Объекты. |
Стандартные типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т. д. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов. Типы, выделенные в таблице подчеркиванием, объединяются термином «порядковые».
Основной логический тип данных Логические типы
ПАСКАЛЯ называется boolean. Вели-;
чины этого типа занимают в памяти 1 байт и могут принимать всего два значения: true (истина) или false (ложь). Внутреннее представление значения false — 0 (нуль), значения true — 1.
К величинам логического типа применяются логические операции and, or, хог и not (табл. 2.5). Для наглядности вместо значения false используется 0, а вместо true — 1.
Таблица 2.5. Логические операции.
а | ь | a and Ь | aorb | о хог Ь | not о. |
Операция and — «логическое И», логическое умножение. Операция or — «логическое ИЛИ», логическое сложение. Операция хог — так называемое исключающее ИЛИ, или операция неравнозначности. Логическое отрицание not является унарной операцией.
Кроме этого, величины логического типа можно сравнивать между собой с помощью операций отношения (табл. 2.6). Результат этих операций имеет логический тип.
Таблица 2.6. Операции отношения.
Операция | Знак операции |
Больше. | > |
Больше или равно. | >=. |
Меньше. | < |
Меньше или равно. | <=. |
Равно. | =. |
Не равно. | о. |
ie типы Целые числа представляются в компью;
— тере в двоичной системе счисления.
В ПАСКАЛЕ определено несколько целых типов данных, отличающихся длиной и наличием знака (табл. 2.7).
Таблица 2.7. Целые типы данных.
Тип | Название | Размер | Знак | Диапазон значений |
Integer | Целое. | 2 байта. | Есть. | — 32 768 — 32 767 (-2, s — 21S — 1). |
Shortint | Короткое Целое. | 1 байт. | Есть. | — 128 — 127 (-27 — 27 — 1). |
Byte | Байт. | 1 байт. | Нет. | 0 — 255 (0 — 28— 1). |
Word | Слово. | 2 байта. | Нет. | 0 — 65 535 (0 —2|6-1). |
Longint | Длинное Целое. | 4 байта. | Есть. | — 2 147 483 648 — 2 147 483 647 (-231 — 231 — 1). |
С целыми величинами можно выполнять арифметические операции (табл. 2.8). Результат их выполнения всегда целый (при делении дробная часть отбрасывается).
Таблица 2.8. Арифметические операции для величин целых типов.
Операция. | Знак операции. |
Сложение. | |
Вычитание. | ; |
Умножение. | |
Деление. | div. |
Остаток от деления. | mod. |
К целым величинам можно также применять операции отношения, перечисленные в разделе «Логические типы». Результат этих операций имеет логический тип.
Кроме этого, к целым величинам можно применять поразрядные операции and, or, хог и not. При выполнении этих операций каждая величина представляется как совокупность двоичных разрядов. Действие выполняется над каждой парой соответствующих разрядов операндов. Например, результатом операции 3 and 2 будет 2, поскольку двоичное представление числа 3 — 11, числа 2 —10.
Для работы с целыми величинами предназначены также операции сдвига влево shl и вправо shr. Слева от знака операции указывается, с какой величиной будет выполняться операция, а справа — на какое число двоичных разрядов требуется сдвинуть величину. Например, результатом операции 12 shr 2 будет значение 3, поскольку двоичное представление числа 12 — 1100.
К целым величинам можно применять стандартные функции и процедуры (табл. 2.9).
Таблица 2.9. Стандартные функции и процедуры для величин целых типов.
Имя. | Описание. | Результат. | Пояснения. |
Функции. | |||
Abs. | Модуль. | Целый. | |х| записывается abs (х). |
Arctan. | Арктангенс угла. | Вещественный. | arctgxзаписывается arctan (х). |
Cos. | Косинус угла. | Вещественный. | cosхзаписывается cos (х). |
Exp. | Экспонента. | Вещественный. | е* записывается ехр (х). |
Ln. | Натуральный логарифм. | Вещественный. | 1одехзаписывается In (х). |
Odd. | Проверка на четность. | Логический. | odd (3) даст в результате true. |
Pred. | Предыдущее значение. | Целый. | pred (3) даст в результате 2. |
Окончание табл. 2.9.
Имя. | Описание. | Результат. | Пояснения. |
Функции. | |||
Sin. | Синус угла. | Вещественный. | sin х записывается sin (х). |
Sqr. | Квадрат. | Целый. | х2 записывается sqr (х). |
Sqrt. | Квадратный корень. | Вещественный. | Vxзаписывается sqrt (х). |
Succ. | Следующее значение. | Целый. | succ (3) даст в результате 4. |
Процедуры. | |||
Inc. | инкремент. | —. | inc (х)—увеличитьхна 1 inc (х, 3)—увеличитьхна 3. |
Dec. | декремент. | —. | dec (х)—уменьшитьхна 1 dec (х, 3)—уменьшить х на 3. |
Вещественные типы Вещественные типы данных хранятся.
— в памяти компьютера иначе, чем целые.
Внутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка, и каждая часть имеет знак. Например, число 0,087 представляется в виде 0,87 • 10-1, и в памяти хранится мантисса 87 и порядок -1 (для наглядности здесь пренебрегли тем, что данные на самом деле представляются в двоичной системе счисления и несколько сложнее).
Существует несколько вещественных типов, различающихся точностью и диапазоном представления данных (табл. 2.10). Точность числа определяется длиной мантиссы, а диапазон — длиной порядка.
Таблица 2.10. Вещественные типы данных.
Тип. | Название. | Размер | Число значащих цифр | Диапазон значений. |
Real. | Вещественный. | 6 байт. | 11—12. | 2,9−10″ 39— 1,7Ю+38 |
Single. | Одинарной точности. | 4 байта. | 7—8. | 1,5−10″ 45 — 3,4−10+38 |
Double. | Двойной точности. | 8 байт. | 15—16. | 5,0−10-324 — 1,7−1 О*308 |
Extended. | Расширенный. | 10 байт. | 19—20. | 3,4−10-4932 — 1,1−10+4923 |
Comp. | Большое целое. | 8 байт. | 19—20. | — 9,22−10+18 —9,22−10+18 (_263 _ 265- 1). |
Для первых четырех типов приведены абсолютные величины диапазонов. С вещественными величинами можно выполнять арифметические операции (табл. 2.11). Результат их выполнения — вещественный.
Таблица 2.11. Арифметические операции для величин вещественных типов.
Операция. | Знак операции. |
Сложение. | |
Вычитание. | ; |
Умножение. | *. |
Деление. |
В общем случае при выполнении любой операции операнды должны быть одного и того же типа, но целые и вещественные величины смешивать разрешается.
К вещественным величинам можно также применять операции отношения, перечисленные в разделе «Логические типы». Результат этих операций имеет логический тип.
К вещественным величинам можно применять стандартные функции (табл. 2.12).
Таблица 2.12. Стандартные функции для величин вещественных типов.
Имя. | Описание. | Результат. | Пояснения. |
Abs. | Модуль. | Вещественный. | |х| записывается abs (х). |
Arctan. | Арктангенс угла. | Вещественный. | arctgx записывается arctan (х). |
Cos. | Косинус угла. | Вещественный. | cosхзаписывается cos (х). |
Exp. | Экспонента. | Вещественный. | ех записывается ехр (х). |
Frac. | Дробная часть аргумента. | Вещественный. | f гас (3.1) даст в результате 0.1. |
Int. | Целая часть аргумента. | Вещественный. | int (3.1) даст в результате 3.0. |
Ln. | Натуральный логарифм. | Вещественный. | 1одехзаписывается In (х). |
Pi. | Значение числа л. | Вещественный. | 3,1 415 926 536. |
Round. | Округление до целого. | Целый. | round (3.1) даст в результате 3, round (3.8) даст в результате 4. |
Sin. | Синус угла. | Вещественный. | sin х записывается sin (х). |
Sqr. | Квадрат. | Вещественный. | х2 записывается sqr (х). |
Sqrt. | Квадратный корень. | Вещественный. | Vxзаписывается sqrt (х). |
Trunc. | Целая часть аргумента. | Целый. | trunc (3.1) даст в результате 3. |
Символьный тип Этот тип данных, обозначаемый клю;
— чевым словом char, служит для представления любого символа из набора допустимых символов. Под каждый символ отводится 1 байт. К символам можно применять операции отношения (<, ,>=, =,), при этом сравниваются коды символов. Меньшим окажется символ, код которого меньше.
Стандартных функций для работы с символами немного (табл. 2.13).
Таблица 2.13. Стандартные функции для величин символьного типа.
Имя. | Описание. | Результат. | Пояснения. |
Ord. | Порядковый номер символа. | Целый. | ord ('Ь7) даст в результате 98 ord ('ю7) даст в результате 238. |
Chr. | Преобразование в символ. | Символьный. | chr (98) даст в результате «Ь» chr (238) даст в результате «ю». |
Pred. | Предыдущий символ. | Символьный. | pred ('Ь7) даст в результате «а». |
Succ. | Последующий символ. | Символьный. | succ ('Ъ7) даст в результате «с». |
Upcase. | Перевод в верхний регистр | Символьный. | upcase ('b7) даст в результате «В». |
Порядковые типы В ГРУППУ порядковых объединены целые,.
- — символьный, логический, перечисляемый и интервальный типы. Сделано это, потому что они обладают следующими общими чертами:
- ? все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;
- ? к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
- ? к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;
- ? к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.