5. С Т А Н Д А Р Т Н Ы Е Т И П Ы
Д А Н Н Ы Х
К стандартным относятся целые, действительные, логические,
символьный и адресный типы.
ЦЕЛЫЕ типы определяют константы, переменные и функции, значения
которых реализуются множеством целых чисел, допустимых в данной ЭВМ.
тип диапазон значений требуемая память
__________________________________________________________
Shortint -128 .. 127 1 байт
Integer -32768 .. 32767 2 байта
Longint -2147483648 .. 2147483647 4 байта
Byte 0 .. 255 1 байт
Word 0 .. 65535 2 байта
__________________________________________________________
Над целыми операндами можно выполнять следующие арифметические
операции: сложение, вычитание, умножение, деление, получение остатка
от деления. Знаки этих операций:
+ - * div mod
Результат арифметической операции над целыми операндами есть вели-
чина целого типа. Результат выполнения операции деления целых величин
есть целая часть частного. Результат выполнения операции получения
остатка от деления - остаток от деления целых. Например:
17 div 2 = 8, 3 div 5 = 0.
17 mod 2 = 1, 3 mod 5 = 3.
Операции отношения, примененные к целым операндам, дают результат
логического типа TRUE или FALSE ( истина или ложь ).
В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =,
неравенство <>, больше или равно >=, меньше или равно <=, больше >,
меньше < .
К аргументам целого типа применимы следующие стандартные (встроен-
ные) функции, результат выполнения которых имеет целый тип:
Abs(X), Sqr(X), Succ(X), Pred(X),
и которые определяют соответственно абсолютное значение Х, Х в квад-
рате, Х+1, Х-1.
Следующая группа стандартных функций для аргумента целого типа да-
ет действительный результат:
Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).
Эти функции вычисляют синус, косинус и арктангенс угла, заданного
в радианах, логарифм натуральный, экспоненту и корень квадратный со-
ответственно.
Результат выполнения функции проверки целой величины на нечетность
Odd(X) имеет значение истина, если аргумент нечетный, и значение
ложь, если аргумент четный:
X=5 Odd(X)=TRUE , X=4 Odd(X)=FALSE.
Для быстрой работы с целыми числами определены процедуры:
Inc(X) X:=X+1
Inc(X,N) X:=X+N
Dec(X) X:=X-1
Dec(X,N) X:=X-N
ДЕЙСТВИТЕЛЬНЫЕ типы определяет те данные, которые реализуются
подмножеством действительных чисел, допустимых в данной ЭВМ.
Тип Диапазон Количество цифр Требуемая
значений мантиссы память (байт)
---------------------------------------------------------------
Real 2.9e-39 .. 1.7e+38 11 6
Single 1.5e-45 .. 3.4e+38 7 4
Double 5.0e-324 .. 1.7e+308 15 8
Extended 3.4e-4932 .. 1.1e+4932 19 10
Comp -9.2e+18 .. 9.2e+18 19 8
---------------------------------------------------------------
Тип Real определен в стандартном ПАСКАЛЕ и математическим сопро-
цессором не поддерживается.
Остальные действительные типы определены стандартом IEEE 457 и ре-
ализованы на всех современных компьютерах.
Для их использования при наличии сопроцессора или при работе на
ЭВМ типа 80486 необходимо компилировать программу с ключом {$ N+}, а
при отсутствии сопроцессора - с ключами {$N-,E+}.
Тип Comp хотя и относится к действительным типам, хранит только
длинные целые значения.
Над действительными операндами можно выполнять следующие арифмети-
ческие операции, дающие действительный результат:
сложение + , вычитание - , умножение * , деление / .
К величинам действительного типа применимы все операции отношения,
дающие булевский результат.
Один из операндов, участвующих в этих операциях, может быть целым.
К действительным аргументам применимы функции, дающие действитель-
ный результат:
Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X),
Sqrt(X), Frac(X), Int(X), Pi.
Функция Frac(X) возвращает дробную часть X, функция Int(X) - целую
часть X.
Безаргументная функция Pi возвращает значение числа Пи действи-
тельного типа.
К аргументам действительного типа применимы также функции
Trunc(X) и Round(X),
дающие целый результат. Первая из них выделяет целую часть действи-
тельного аргумента путем отсечения дробной части, вторая округляет
аргумент до ближайшего целого.
ЛОГИЧЕСКИЙ тип (Boolean) определяет те данные, которые могут при-
нимать логические значения TRUE и FALSE.
К булевским операндам применимы следующие логические операции:
not and or xor.
Логический тип определен таким образом, что FALSE < TRUE. Это поз-
воляет применять к булевским операндам все операции отношения.
В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа:
ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два
и четыре байта соответственно.
СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность симво-
лов, допустимых в данной ЭВМ. Значение символьной переменной или
константы - это один символ из допустимого набора.
Символьная константа может записываться в тексте программы тремя
способами:
-как один символ, заключенный в апострофы, например:
'A' 'a' 'Ю' 'ю';
-с помощью конструкции вида #K, где K - код соответствущего симво-
ла, при этом значение K должно находиться в пределах 0..255;
-с помощью конструкции вида ^C, где C - код соответствущего управ-
ляющего символа, при этом значение C должно быть на 64 больше
кода управляющего символа.
К величинам символьного типа применимы все операции отношения.
Для величин символьного типа определены две функции преобразования
Ord(C) Chr(K).
Первая функция определяет порядковый номер символа С в наборе сим-
волов, вторая определяет по порядковому номеру К символ, стоящий на
К-ом месте в наборе символов. Порядковый номер имеет целый тип.
К аргументам символьного типа применяются функции, которые опреде-
ляют предыдущий и последующий символы:
Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .
При отсутствии предыдущего или последующего символов значение со-
ответствующих функций не определено.
Для литер из интервала 'a'..'z' применима функция UpCase(C), кото-
рая переводит эти литеры в верхний регистр 'A'..'Z'.
АДРЕСНЫЙ тип (Pointer) определяет переменные, которые могут содер-
жать значения адресов данных или фрагментов программы. Для хранения
адреса требуются два слова (4 байта), одно из них определяет сегмент,
второе - смещение.
Работа с адресными переменными (указателями) будет рассмотрена
позже, сейчас отметим, что для получения значения адреса какой-либо
переменной введена унарная операция @.
... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...
... . Объясните, для чего служат разрешения и привилегии в Windows NT. Зав. кафедрой -------------------------------------------------- Экзаменационный билет по предмету СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Билет № 22 Перечислите возможности и инструменты системы программирования Microsoft Developer Studio. Укажите для чего предназначается буфер в системах ввода-вывода, ...
... . Поэтому так легко путешествовать по Всемирной паутине (WWW — Worl Wide Web), переходя с сайта на сайт по гиперссылкам. Для отображения в «плоском* тексте смысловых связей между основными разделами или понятиями можно использовать гипертекст. Гипертекст позволяет структурировать документ путем выделения в нем слов-ссылок (гиперссылок). При активизации гиперссылки (например, с помощью щелчка мышью ...
... # будет тесно интегрирован с языком XML[1]. 2.2 Паскаль Паскаль [PASCAL - акроним с французского - Program Applique a la Selection et la Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского ...
0 комментариев