1) 26 латинских строчных и 26 латинских прописных букв:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz;
2) _ (знак подчеркивания);
3) 10 цифр: 0123456789;
4) знаки операций:
+ – х / = <> < > <= >= := @;
5) ограничители:
. , ' ( ) [ ] (. .) { } (* *) .. : ;
6) спецификаторы: ^ # $;
7) служебные (зарезервированные) слова:
ABSOLUTE, ASSEMBLER, AND, ARRAY, ASM, BEGIN, CASE, CONST, CONSTRUCTOR, DESTRUCTOR, DIV, DO, DOWNTO, ELSE, END, EXPORT, EXTERNAL, FAR, FILE, FOR, FORWARD, FUNCTION, GOTO, IF, IMPLEMENTATION, IN, INDEX, INHERITED, INLINE, INTERFACE, INTERRUPT, LABEL, LIBRARY, MOD, NAME, NIL, NEAR, NOT, OBJECT, OF, OR, PACKED, PRIVATE, PROCEDURE, PROGRAM, PUBLIC, RECORD, REPEAT, RESIDENT, SET, SHL, SHR, STRING, THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, VIRTUAL, WHILE, WITH, XOR.
Кроме перечисленных, в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.
Концепция типа для данных
В математике принято классифицировать переменные в соответствии с некоторыми важными характеристиками. Производится строгое разграничение между вещественными, комплексными и логическими переменными, между переменными, представляющими отдельные значения и множество значений, и т. д. При обработке данных на ЭВМ такая классификация еще более важна. В любом алгоритмическом языке каждая константа, переменная, выражение или функция бывают определенного типа.
В языке Pascal существует правило: тип явно задается в описании переменной или функции, которое предшествует их использованию. Концепция типа языка Pascal имеет следующие основные свойства:
1) любой тип данных определяет множество значений, к которому принадлежит константа, которые может принимать переменная или выражение либо вырабатывать операция или функция;
2) тип значения, задаваемого константой, переменной или выражением, можно определить по их виду или описанию;
3) каждая операция или функция требуют аргументов фиксированного типа и выдают результат фиксированного типа.
Отсюда следует, что транслятор может использовать информацию о типах для проверки вычислимости и правильности различных конструкций.
Тип определяет:
1) возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
2) внутреннюю форму представления данных в ЭВМ;
3) операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
Следует заметить, что обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
В языке Pascal существуют скалярные и структурированные типы данных. К скалярным типам относятся стандартные типы и типы, определяемые пользователем. Стандартные типы включают целые, действительные, символьный, логические и адресный типы.
Целые типы определяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ.
Действительные типы определяет те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.
Типы, определяемые пользователем, – перечисляемый и интервальный. Структурированные типы имеют четыре разновидности: массивы, множества, записи и файлы.
Кроме перечисленных, Pascal включает еще два типа – процедурный и объектный.
Выражение языка состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций. В языке Pascal принят следующий приоритет операций:
1) вычисления в круглых скобках;
2) вычисления значений функций;
3) унарные операции;
4) операции *, /, div, mod, and;
5) операции +, —, or, xor;
6) операции отношения =, <>, <, >, <=, >=.
Выражения входят в состав многих операторов языка Pascal, – также могут быть аргументами встроенных функций.
2. Стандартные процедуры и функции
Арифметические функции
1. Function Abs(X);
Возвращает абсолютное значение параметра.
X – выражение вещественного или целочисленного типа.
2. Function ArcTan(X: Extended): Extended;
Возвращает арктангенс аргумента.
X – выражение вещественного или целочисленного типа.
3. Function Ехр(Х: Real): Real;
Возвращает экспоненту.
X – выражение вещественного или целочисленного типа.
4. Function Frac(X: Real): Real;
Возвращает дробную часть аргумента.
X – выражение вещественного типа. Результат – дробная часть X, т. е.
Frac (X) = X–Int (X).
5. Function Int(X: Real): Real;
Возвращает целочисленную часть аргумента.
X – выражение вещественного типа. Результат – целочисленная часть X, т. е. X, округленный к нулю.
6. Function Ln(X: Real): Real;
Возвращает натуральный логарифм (Ln е = 1) выражения X вещественного типа.
7. Function Pi: Extended;
Возвращает значение Pi, которое определено как 3.1415926535.
8. Function Sin(X: Extended): Extended;
Возвращает синус аргумента.
X – выражение вещественного типа. Sin возвращает синус угла X в радианах.
9. Function Sqr(X: Extended): Extended;
Возвращает квадрат аргумента.
X – выражение с плавающей запятой. Результат того же самого типа, что и X.
10. Function Sqrt(X: Extended): Extended;
Возвращает квадратный корень аргумента.
X – выражение с плавающей запятой. Результат – квадратный корень X.
Процедуры и функции преобразования величин
1. Procedure Str(X [: Width [: Decimals]]; var S);
Преобразовывает число X в строковое представление согласно
Width и параметрам форматирования Decimals. X – выражение вещественного или целого типа. Width и Decimals – выражения целого типа. S – переменная типа String или символьный массив с нулевым окончанием, если допускается расширенный синтаксис.
2. Function Chr(X: Byte): Char;
Возвращает символ с порядковым номером X в ASCII-таблице.
3. Function High(X);
Возвращает наибольшее значение в диапазоне параметра.
4. Function Low(X);
Возвращает наименьшее значение в диапазоне параметра.
5. Function Ord(X): Longint;
Возвращает порядковое значение выражения перечислимого типа. X – выражение перечислимого типа.
6. Function Round(X: Extended): Longint;
Округляет значение вещественного типа до целого. X – выражение вещественного типа. Round возвращает значение Longint, которое является значением X, округленным до ближайшего целого числа. Если X находится точно посередине между двумя целыми числами, возвращается число с наибольшей абсолютной величиной. Если округленное значение X выходит за диапазон Longint, генерируется ошибка времени выполнения программы, которую вы можете обработать с использованием исключительной ситуации EInvalidOp.
7. Function Trunc(X: Extended): Longint;