- •14)Оператор выбора case of
- •11) Структурный тип строка, как специальная форма массива
- •10)Структурный тип строка, основы обработки строк
- •7)Функции: описания и вызовы функций.
- •8)Процедуры: описание и вызовы процедур.
- •6)Особенности использования параметров в процедурах и функциях.
- •25)Общая конструкция языка Паскаль.
- •24)Алфавит языка, ключевые слова, идентификаторы.
- •23)Структура программы.
- •22)Стандартные типы данных, операции, выражения.
- •21)Оператор присваивания.
- •18)Композиция условий и операторов.
- •17) Операторы итерационных циклов.
- •4)Области действия имён в программах.
- •2)Понятие о типе Множество в Турбо Паскале.
- •1)Запись как объединение неоднородных данных.
- •Обработка записей.
- •27)Понятие о языках программирования.
- •26)Система программирования turbo pascal 7.0.
- •28)Аппаратное и программное обеспечение компьютера.
- •30)Принцип программного управления.
- •29)Программы, управляемые событиями.
24)Алфавит языка, ключевые слова, идентификаторы.
Любой язык, в том числе и Паскаль, начинается со своего алфавита. Алфавитом Паскаля являются некоторые символы кодовой таблицы ASCII, которым в Паскале приписан определённый (и фиксированный смысл), а также некоторые цепочки символов. В алфавит входят все латинские (большие и малые) буквы, десятичные цифры, специальные символы и зарезервированные (ключевые) слова. К специальным символам относятся символы операций (+,-, *, /), бинарных отношений (=,>,<,), скобки (простые, квадратные, фигурные), разделительные символы (., :; ), кавычки (''), а также символы ^,@, $, #. Кроме того, к алфавиту относятся некоторые пары символов (рассматриваемые как неделимые): <> - символ неравенства, >= и <= - больше или равно (меньше или равно), := - символ присваивания. Дополнительную группу символов алфавита составляют ключевые слова (зарезервированные слова). Их в Паскале несколько десятков .Примерами ключевых слов являются program, begin, end, var. Эти и некоторые другие последовательности символов ASCII зарезервированы в Паскале, им приписан фиксированный смысл (например, begin - открывающая операторная скобка) и использовать их в другом смысле нельзя. Заметим, что русские буквы не являются элементами алфавита Паскаля, как и некоторые другие символы кодовой таблицы. Это не значит, что их нигде нельзя использовать, но их использование в программах на Паскале ограничено только определенными конструкциями.
Замечаие: В Паскале не делается различие между большими и малыми латинскими буквами, они равнозначны и взаимозаменимы.
Паскаль - формальный язык, основная цель которого - представление алгоритма решаемой задачи. Каждая конструкция Паскаля имеет свой точный смысл, и изучение конструкций Паскаля имеет две стороны: во-первых, это изучение синтаксиса конструкций (т.е. правил их записи), с другой стороны - изучение смысла конструкций.
Для описания синтаксиса мы будем использовать простые формальные средства - нотацию Бэкуса-Наура, а для описания семантики - пояснения на естественном языке.
Нотация Бэкуса-Наура (называемая также БНФ) описывает синтаксис конструкций языка через небольшое число примитивов:
Метаопределение - заключённое в угловые скобки название конструкции (название может рассматриваться как комментарий конструкции). Примеры: <буква>, <ключевое слово>, <литерал>, <комментарий>. При этом последовательность символов, не заключенная в угловые скобки, рассматривается буквально (т.е. только как последовательность написанных символов).
Равенство по определению будем обозначать сочетанием 3 символов ::=
Альтернативный выбор (союз "или") будем обозначать символом |
Необязательный выбор конструкции будем заключать в квадратные скобки [ ]
Повторяющуюся (нуль или более раз) конструкцию будем заключать в фигурные скобки { }.
Введённых примитивов вполне достаточно для синтаксического определения конструкций языка Паскаля, которые нам предстоит рассмотреть. Продемонстрируем введённые примитивы рядом примеров описания используемых далее конструкций языка Паскаль.
Синтаксическое определение понятия "цифра":
<цифра> ::= 0|1|2|3|4|5|6|7|8|9
Синтаксическое определение понятия "литерал ":
<литерал> ::= ' {< символ кодовой таблицы >} '
Синтаксическое определение понятия "комментарий":
{ < строка символов ASCII, не содержащая символов { и } > }
Одной из важных конструкций Паскаля является идентификатор (имя). Имя может обозначать переменную, функцию, тип данных или другие элементы программы. Понятие имени во многом аналогично его использованию в естественном языке и является одним из фундаментальных понятий языка.
В языках программирования имена часто используются для обозначения переменных.В Паскале имена могут использоваться даже для обозначения именованных констант.
Имена (кроме стандартных имён) выбирает программист в процессе разработки программы и этот выбор должен облегчать чтение текста программы: имя должно "говорить само за себя" - пояснять смысл используемого объекта. При этом имена должны быть одновременно и достаточно выразительными и достаточно лаконичными.(Синтаксические ограничения в выборе имени даёт определение имени:
<имя> ::= <латинская буква или символ _> { < латинская буква >| <цифра >| _ }
Примеры имён: alfa, F1, test_1m; неправильные имена: тест1, 2_vol.
Некоторые имена являются стандартными именами Паскаля. К их числу относятся имена стандартных функций, процедур, типов и др
Примеры таких стандартных имён: write, odd, integer, boolean. Заметьте, что русские буквы нельзя использовать в именах Паскаля!
Существуют только три конструкции Паскаля, в которых разрешено использовать любые символы (в том числе и русские буквы):- это:
Символьные и строковые константы - это, соответственно, один символ или любые последовательности символов кодовой таблицы, заключенные в апострофы. Пример: ' Это - строка символов'. Литералы - важные конструкции языка, с которыми мы будем еще неоднократно иметь дело. Они используются в операторах ввода-вывода и при обработке строк.
Комментарии - любые последовательности символов кодовой таблицы (не содержащие фигурных скобок), заключенные в фигурные скобки. Пример комментария: { Программа на TURBO PASCAL}. Заметим, что фигурные скобки есть ограничитель для комментариев, и использовать их ни в каком другом смысле нельзя.