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 байта), одно из них определяет сегмент,

второе - смещение.

 Работа с адресными переменными (указателями) будетрассмотрена

позже, сейчасотметим, что для получения значения адреса какой-либо

переменной введена унарная операция @.

Электротехника курсовые, лабораторные, практика Математика, физика