Основные типы данных и операции с ними
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логическое отрицание (унарная операция);
Значения булевского типа занимают один байт памяти.