Язык программирования Pascal
АЛФАВИТ ЯЗЫКА
Алфавит языка – набор зарезервированных символов и ключевых слов, используя которые, пользователь создает свои прикладные программы.
Основными символами языка в системе программирования Pascal являются:
- Латинские буквы (большие и маленькие) от A до Z;
- Цифры от 0 до 9;
- Символы + - * / = ^ < > [ ] { } , . : ; ' # @$.
- Составные символы := <> ..(**) <= >=.<= и >=.
Нет различий между большими и малыми буквами при их использовании для определения имен переменных, процедур, функций и меток. В символьных константах и комментариях могут использоваться любые другие знаки (например, буквы русского алфавита).
ЭЛЕМЕНТЫ ЯЗЫКА, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
Идентификаторы используются в качестве имен переменных, констант, программ, процедур и т. п., начинаются с латинской буквы или знака подчеркивания и состоят из латинских букв, цифр и знаков подчеркивания. Прописные и строчные буквы не различаются, т. е. _InDex и _INDEX - это один и тот же идентификатор. Например, a1, _h, b123 - идентификаторы, а 1a, ф2 - нет. Служебные слова предназначены для оформления конструкций языка и не могут быть использованы в качестве имен.
Комментарий - любой текст, ограниченный (*...*) или {...}.
Вложенность комментариев не допускается, но можно (*..{..}..*) и наоборот {..(*..*)..}. Комментарий может быть помещен в любом месте программы.
ТИПЫ ДАННЫХ
Программа, написанная на Pascal (как и любая другая программа), предназначена для обработки данных. В зависимости от способа их хранения и обработки в ЭВМ данные можно разбить на две группы: константы и переменные.
Константы – это те данные, значения которых не изменяются в процессе выполнения программы. В языке Pascal используются три вида констант:
1) числовые константы (целые или вещественные);
2) логические (или булевские) константы;
3) символьные и строковые константы.
Целые константы – это целые числа (без точки).
Pascal позволяет использовать также шестнадцатиричные целые значения. При использовании шестнадцатиричной константы перед ней указывается знак доллара $; например, $27 определяет число 39 (в десятичном исчислении).
Вещественныеконстанты могут быть представлены в двух видах: с фиксированной и плавающей точкой.
Константы с фиксированной точкой - это числа, содержащие точку, разделяющую целую и дробную части. Константы с фиксированной точкой обязательно должны содержать как целую, так и дробную части.(2.3, 4.5)
Константы с плавающей точкой - это числа, представленные с десятичным порядком: mEp (без пробелов), где m - мантисса (как целые, так и вещественные числа с фиксированной точкой); E -признак записи числа с десятичным порядком; p - порядок числа (только целые числа),например,4.6Е-8.
Логическиеконстанты принимают два значения: TRUE (истина)и FALSE (ложь).
Символьные константы - это какой-либо один символ, заключенный в апострофы: 'A', 'I', '!' и др.
Строковыеконстанты – это последовательность символов, заключенная в апострофы: '+9CL', 'A B'.
Переменные – это именованный элемент, который в процессе выполнения программы может принимать различные значения. Запрещается использовать в качестве идентификаторов переменных зарезервированные ключевые слова Pascal.
На языке Pascal типы переменных описываются следующим образом:
Boolean – логические
Char – символьные
Record – записи
Array – массивы
Set – множества
File – файлы
String – строки символов.
Стандартные скалярные типы
Целочисленные типы переменных Pascal
Тип | Наименование | Диапазон допустимых значений | Занимаемая память |
SHORTINT | Короткое целое | -128 ... 127 | 1 байт |
BYTE | Байт | 0 ... 255 | 1 байт |
INTEGER | Целое | -32768 ... 32767 | 2 байта |
WORD | Слово | 0 ... 65535 | 2 байта |
LONGINT | Длинное целое | -27109... 27109 | 4 байта |
Вещественные типы переменных Pascal
Тип | Наименование | Диапазон допустим. значений | Число значащих цифр | Занимаемая память |
REAL | Вещественный | 10-38…1038 | 6 байта | |
SINGLE | С одномерной точностью | 10-32…1032 | 4 байта | |
DOUBLE | С двойной точностью | 10-308…10308 | 8 байт | |
EXTENDED | С повышенной точностью | 10-4931…104931 | 10байт | |
COMP | Сложный | -9*1018…9*1018 | 8 байт |
Выражения и операции
Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими выражениями являются переменные и константы. Более сложные выражения строятся из более простых с использованием операций, скобок, вызовов функций, индексов и приведений типов. Данные, к которым применяются операции, называются операндами.
В Pascal ABC имеются следующие операции: @, not, ^, *, /, div, mod, and, shl, shr, +, –, or, xor, =, >, <, <>, <= и >=.
Арифметические операции
К арифметическим относятся операции + – * / для вещественных и целых чисел, операции div и mod для целых чисел. Выражение, имеющее числовой тип, называется арифметическим. Тип арифметического выражения определяется по следующему правилу: если все операнды целые и в выражении отсутствует операция деления /, то выражение имеет тип integer, в противном случае выражение имеет тип real. Например, если b имеет тип byte, c имеет тип 1..9, то b+c и -b имеют тип integer, а 2.0+b и 1/2 - тип real.
Логические операции
К логическим относятся операции and, or и xor, операция not, имеющие операнды типа boolean и возвращающие значение типа boolean. Выражение, имеющее тип boolean, называется логическим.
Операции отношения
Операции отношения <, >, <=, >=, =, <> возвращают значение типа boolean и применяются к операндам целого, вещественного, символьного, логического и строкового типов, а также к типизированным указателям. Операции = и <> также применяются к операндам типа pointer, к операндам, являющихся объектами классов и к константе nil. При сравнении символа и строки символ преобразуется в строку длины 1.
Побитовые операции
Побитовые операции and, or, not, xor, shl, shr производят побитовые манипуляции с операндами целого типа. Для операции not результат имеет тот же тип, что и операнд. Для остальных операций результат имеет тип integer. Например, если b имеет тип byte и b=1, то b shl 10=1024, а not b=254.
Строковые операции
Помимо операций отношения <, >, <=, >=, =, <>, к строковым и символьным операндам применима операция конкатенации (слияния) +. Ее результат имеет строковый тип. Например, 'a'+'b'='ab'.
Операция @
Операция @ применяется к переменной и возвращает ее адрес.
Операции с указателями
К типизированным указателям применима операция разыменования ^: если p является указателем на тип T, то p^ - элемент типа T, на который указывает p.
Кроме операций отношения <, >, <=, >=, =, <>, к указателям применимы арифметические операции + и -.
Приоритет операций
Приоритет определяет порядок выполнения операций в выражении. Первыми выполняются операции, имеющие высший приоритет. Операции, имеющие одинаковый приоритет, выполняются слева направо.
Таблица приоритетов операций
@, not, ^ | 1 (наивысший) |
*, /, div, mod, and, shl, shr | |
+, -, or, xor | |
=, <>, <, >, <=, >=, in | 4 (низший) |
СТАНДАРТНЫЕ ФУНКЦИИ
Основные стандартные арифметические функции Pascal приведены в таблице. В тригонометрических функциях синуса или косинуса аргумент должен быть задан только в радианах. Если аргумент x дан в градусах, то для перевода его в радианы используется формула y = x * π / 180.