К стандартным относятся целые, действительные, символьный и адресный типы.

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

 тип            диапазон значений      требуемая память

__________________________________________________________

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

   Работа с адресными переменными  (указателями)   будет рассмотрена позже, сейчас отметим,  что для получения значения адреса какой-либо переменной введена унарная операция @.