ПАСКАЛЬ ПРОГРАММА
Паскаль программа – это запись алгоритма на языке Паскаль. Пишут буквами (символами), составляющими алфавит языка. Из символов составляются имена (идентификаторы), числа и другие «слова». Из «слов» по определенным правилам составляются «предложения» - описания, операторы. Этими «предложениями» записывается алгоритм. Трудность изучения языка состоит в том, что надо одновременно изучать правила языка и «учиться говорить», то есть формулировать алгоритм, не забывая, что исполнять алгоритм будет компьютер и исполнять будет буквально то, что написано, а не то, что Вы думали, когда писали. Упрощает дело то, что Паскаль довольно близок к естественным языкам, использует почти такую же запись чисел и выражений, как математика и логика.
Алфавит языка
Алфавит - это совокупность допустимых в языке символов. Алфавит Паскаля включает следующий набор основных символов:
- прописные и строчные латинские буквы:
- пробел
- подчеркивание: _
- арабские цифры:
- знаки операций:
- ограничители:
- спецификаторы:
Идентификаторы
|
|
Все элементы языка (константы, метки, типы, переменные, процедуры, функции, модули, объекты) имеют имена (идентификаторы). Идентификатор может включать в себя:
· буквы латинского алфавита A.. Z и a.. z, символ подчеркивания _.
· цифры 0.. 9
Идентификатор начинается с буквы или с символа подчеркивания. Далее следуют буквы, цифры, символы подчеркивания в любом порядке. Идентификаторы различают по первым 63 символам. Строчные и прописные буквы не различаются. В качестве имен не допускается использовать зарезервированные слова (таблица 1).
Вот примеры правильных идентификаторов: MyFirstProgram, count, _item, n, n1, n21, N8chess, Very_Big_Number, eps, Alpha. Эти идентификаторы тоже правильные: t0wcupsofsoup, l1, ___, programm, но все же с ними что-то не так.
Упражнения.
1. Эти идентификаторы записаны с ошибками: 2E01, err$A0, coord-x, my@mail.ru, Label, Gross number, Test#1. Найдите ошибки.
2. Составьте все не более чем двух символьные идентификаторы из буквы A и цифры 0.
3. Составьте все не более чем двух символьные идентификаторы из буквы A и символа подчеркивания.
4. Какие из следующих идентификаторов одинаковые: ab, ba, bA, AB, Ab, _a, _b? Какие еще одинаковые с ab идентификаторы можно написать?
Таблица 1. Зарезервированные слова языка Паскаль
absolute | and | array | assembler |
begin | break | case | const |
constructor | continue | destructor | div |
do | downto | else | end |
external | far | file | for |
function | goto | if | implementation |
in | inline | interface | interrupt |
label | mod | near | nil |
not | object | of | or |
packed | private | procedure | program |
public | record | repeat | set |
shl | shr | string | then |
to | type | unit | until |
uses | var | virtual | while |
with | xor |
Таблица 2. Одиночные и двойные специальные символы языка Паскаль
|
|
:= | Присваивание переменной (слева от символа) значения выражения (справа от символа) |
; | Разделитель операторов в программе |
() | Скобки для арифметических и логических выражений |
: | Разделитель в описаниях переменных и формате операторов вывода |
.. | Диапазон для списков |
+,-,*,/ | Бинарные операции (не только арифметические!) |
= | Логическое равенство, элемент описания констант и типов |
<> | Логическое неравенство |
<, > | Отношения «меньше чем» и «больше чем» |
<=, >= | Отношения «меньше или равно» и «больше или равно» |
. | Конец программы или модуля, а также десятичная точка в константах действительного типа |
' | Ограничители константы строкового типа |
{} (* *) | Пары скобок для комментариев |
, | Разделитель элементов списка |
[ ] | Скобки для ссылки на элемент массива, конструктор множества |