§2.1. Алфавит и служебные слова
Языки программирования, так же как и разговорные, имеют свой алфавит. Алфавитом языка программирования называют весь набор символов, с помощью которых составляется программа.
Алфавит языка Паскаль (Турбо-Паскаль) составляют:
-
Латинские строчные и прописные буквы, которые не различаются. К буквам относится и символ подчеркивания.
-
Арабские цифры от 0 до 9.
-
Символы-разделители: пробел, переход на новую строку, табуляция. Используются для большей наглядности текста программы.
-
Специальные символы:
+ - * / = . , ‘ : ; ^ @ # $ { } [ ] ( ) < >
Они выполняют определенные функции при построении различных конструкций языка.
-
Составные символы, то есть группа символов, воспринимаемых компилятором как единое целое:
<= => := (* *) (. .) ..
-
Служебные слова. Так как языки программирования являются формальными, а не разговорными, то служебные слова (ключевые слова английского языка) не подлежат изменению или сокращению – это просто иная форма записи символов. Например: Program, Begin, For и т.д. Если начальная версия языка Паскаль насчитывала 35 служебных слов, то в Турбо-Паскале 7.0 их уже 59.
Описание общих конструкций языка
Для описания общих структур в программировании используются специальные символы – метасимволы, которые в структурах не указываются, а предназначены лишь для пояснений. К ним относятся:
[a] – квадратные скобки указывают на необязательность элемента а;
[a1 |a2 |...an ] – свидетельствует о том, что может присутствовать только 1 элемент ai из указанного списка, или ни одного;
a1 |a2 |...an или – указывает на обязательность присутствия одного и только одного элемента ai.
<a> – на место а должно быть подставлено конкретное значение;
... – многоточие свидетельствует о том, что предыдущий тип элемента можно неоднократно повторять.
Например, запись [(<список параметров>)] эквивалентна [(<параметр> [, ...])]. Конкретное же значение может либо вообще отсутствовать, либо выглядеть, например, так:
(А,В,С)
Или общая форма записи оператора цикла с параметром:
For <параметр цикла> := <начальное значение> To | DownTo <конечное значение> Do <внутренний оператор – тело цикла>
А его конкретная реализация в программе:
For i:=1 To 100 Do s:=s+(i+1)/(i*i+2);
§2.2. Структура программы
Алгоритмический язык Паскаль является операторным языком, то есть отдельными его предложениями являются операторы, с помощью которых задаются действия. Программа же на этом языке представляет собой формальную запись некоторого алгоритма.
В соответствии с этим принципом программа на любом алгоритмическом языке состоит из двух частей: описания последовательности действий, которые необходимо выполнить, и описания данных, с которыми оперируют действия. Действия представляются операторами языка, данные вводятся посредством описаний и определений. Описания данных по тексту должны предшествовать описанию действий.
В оригинале синтаксически программа разделена на 2 части:
<заголовок программы>;
<блок>.
Наличие точки в конце является обязательным и служит окончанием признака всего текста программы.
Заголовок начинается со служебного слова Program, далее следует имя программы и список параметров. Но в Турбо-Паскале заголовок может отсутствовать, то есть программа может состоять только из одного блока, хотя по правилам хорошего стиля программирования заголовок должен присутствовать.
Совокупность описаний и определений и следующая за ним последовательность операторов называется блоком.
Объекты, вводимые посредством описаний и определений, имеют различную природу и делятся на 5 классов, описываемых каждый в своем разделе:
-
раздел описания меток;
-
раздел описания констант;
-
раздел описания типов;
-
раздел описания переменных;
-
раздел описания процедур и функций.
В Турбо-Паскале соблюдение такой последовательности не обязательно, и добавлен еще один раздел подключаемых модулей. За разделами описаний следует раздел операторов, заключенный между словами Begin и End.
При составлении программы следует придерживаться определенных правил, основные из которых следующие.
-
Все описания и операторы отделяются друг от друга точкой с запятой. В принципе всю программу можно записать в одну строку, но правила хорошего стиля программирования требуют записи каждого оператора на отдельной строке для удобства чтения текста программы.
-
Для пояснения отдельных фрагментов программы используются комментарии. Для их записи могут использоваться любые символы клавиатуры, они могут стоять в любом месте, где может ставиться пробел, и для них в Турбо-Паскале введено 2 типа ограничителей:
{<комментарий>}
(*<комментарий>*)
-
Для обозначения переменных, констант, заголовков и т.д. используются идентификаторы или имена. Они могут состоять из прописных и строчных латинских букв, считающихся эквивалентными (символ подчеркивания относится к буквам и служит для разделения слов) и цифр, причем начинаться имя должно с буквы. В Турбо-Паскале длина имени не ограничена, но распознаются они по первым 63 символам.
-
Перед любым оператором может быть поставлена метка (допускается и несколько), за которой следует двоеточие. В стандартном Паскале меткой является целое число от 1 до 9999. В Турбо-Паскале меткой может быть как число (для обеспечения совместимости), так и имя.
-
Правилом хорошего стиля программирования является выделение различных конструкций программы: внутренних, составных операторов и др. отступами различной ширины от начала строки.
В качестве примера приведем программу для вычисления суммы при значении n = 20.
Program Summa;
Const n=20;
Var S:real;
i:integer;
Begin
S:=0;
For i:=0 to n do
S:=S+1/(i*i+3*i+5);
Writeln('Сумма=',S:6:4)
End.
Достарыңызбен бөлісу: |