Основные типы данных и операции с ними

B123_

PROGRAMMIROVANIENAPASCALE

JOB

Идентификаторы

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Алфавит языка

Элементы языка Паскаль

Алфавит языка включает в себя:

1) прописные и строчные латинские буквы и символ 'подчерк':

A, B,C, ..., X, Y, Z, a, b, c, ..., x, y, z, _.

Буквы используются для построения идентификаторов и служебных слов.

2) десять арабских цифр:

Цифры используются для записи чисел и идентификаторов.

3) двадцать два специальных символа:

+ - * / = > < . , ; : @ ' ( ) [ ] { } # $ ^

Специальные символы используются для конструирования знаков операций (например >=, <=, +, := ), выражений, комментариев, а также как синтаксические разделители.

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

Прописные и строчные символы в идентификаторах и служебных словах не различаются. Следовательно, следующие три идентификатора обозначают одну и ту же переменную: index, Index, INDEX.

В качестве идентификаторов запрещено использовать служебные слова, зарезервированные в Турбо-Паскале.

Примеры правильно записанных идентификаторов:

_156

Примеры неправильно записанных идентификаторов:

FEB.2 (внутри идентификатора есть точка)

3X (начинается с цифры)

DE LETE (имеется пробел)

BEGIN (использование служебного слова)

ВЫВОД (русский алфавит)

Целый тип. Обозначает множество целых чисел в различных диапазонах. Имеется пять целых типов, различающихся допустимым диапазоном значений и размером занимаемого объема памяти. Целые типы задаются служебными словами Integer, Byte, ShortInt, Word, LongInt. Характеристики этих типов приведены ниже в таблице 2.1. Целые типы делятся на 2 группы:

1) беззнаковые (для работы с положительными числами и нулём);

2) знаковые (для работы с отрицательными и положительными числами и нулём).

Таблица 2.1

Целый тип Диапазон значений Размер памяти
ShortInt -128...127 1 байт
Integer -32768...32767 2 байта
LongInt -2147483648...2147483647 4 байта
Byte 0...255 1 байт
Word 0...65535 2 байта

Над целыми значениями допустимы следующие операции:

1) четыре арифметических действия:

+ сложение;

-вычитание;

* умножение;

/деление;

2) две дополнительные операции "типа деления", обозначаемые служебными словами:

Div целочисленное деление (с отбрасыванием дробной части);

Mod взятие остатка от целочисленного деления.

Пример. 11 Div 2 = 5, 11 Mod 2 =1, 5 Mod 2 = 1.

Вещественный тип. Обозначает множество вещественных значений в различных диапазонах. Паскаль поддерживает четыре различных вещественных типа. Они задаются служебными словами Real, Single, Double, Extended, Comp и имеют следующие характеристики, приведенные в таблице 2.2.

Таблица 2.2

Вещественный тип Диапазон значений Число цифр мантиссы Размер памяти
Real 2,9e-39...1,7e38 11-12
Single 1,5e-45...3,4e38 7-8
Double 5e-324...1,7e308 15-16
Extended 3,4e-4932...1,1e493 19-20
Comp -2e+63...+2e+63-1  

Примечание: хотя тип Сomp считается вещественным, он содержит только целые числа, которые представляются в вычислениях как вещественные (с нулевой мантиссой).

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

Представление с фиксированной точкой Представление с плавающей точкой
18.345 0.7 6E-2 13.78E5

Примечание: 6E-2 означает 6*10-2, 13.78E5 = 13.78*105.

Примеры неправильной формы записи чисел:

.3 (правильно 0.3)

10. (правильно 10.0)

Над значениями вещественных типов допустимы 4 арифметических операции ( +,-,*, / ). Все они дают вещественный результат, если хотя бы один операнд вещественный.

Символьный тип Сhar. Значениями символьного типа являются символы из так называемого множества ASCII (American Standard Code For Information Interchange – стандартный американский код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр и различных других символов.

Над значениями символьного типа возможны операции сравнения

>, >=, <, <=, <>, =.

Для символьного типа Сhar определены следующие функции, преобразования, связывающие значение символа с его порядковым номером в упорядоченном наборе символов языка:

Ord(C) выдает кодовый номер символа C в кодовой таблице символов ASCII(C – произвольный символ из таблицы символов ASCII).

Например,

Ord (' ? ') = 63, Ord (' 1 ') = 49, Ord (' Y') = 89, Ord (' z ') = 122;

Chr(I) по коду символа Iопределяет сам символ; функции Ord и Chr – обратные друг к другу, т.е. Chr(Ord(' ? ')) = ' ? ', а Ord(Chr(63)) = 63.

Pred (C)иSucc (C) определят предыдущий и последующий символы от заданного . Например Pred('c') = 'b', Succ('y')= z. В данном случае имеется в виду последовательность букв латинского алфавита, порядковые номера которых (коды) следуют один за другим.

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

Булевский (логический) тип. Имеется два значения булевского типа Boolean, представляющие логические значения (истина/ложь):

True (истина),

False (ложь).

Над значениями булевского типа допустимы операции сравнения и 4 стандартные логические операции:

And логическое умножение;

Orлогическое сложение;

Xorсложение по модулю 2 (исключающее "или");

Notлогическое отрицание (унарная операция);

Значения булевского типа занимают один байт памяти.