Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_lectures_small.doc
Скачиваний:
13
Добавлен:
23.03.2015
Размер:
339.46 Кб
Скачать

В.В. Беликов

Лекции по курсу информатики и основ вычислительной техники

Язык программирования

Паскаль

Язык разработан Никласом Виртом в конце 60-х – начале 70-х годов 20-го века. Первоначально он был предложен как язык для обучения программированию. Однако его компактное описание в сравнении с другими языками, известными в то время, способствовало тому, что довольно быстро он был реализован на большинстве существовавших компьютеров под многими операционными системами, и в скорости стал одним из самых распространенных языков программирования. В последствии он стал своего рода полигоном для отработки новых технологий программирования.

В период массового распространения IBM-совместимых персональных компьютеров стала широко известна его реализация Turbo Pascal, предложенная фирмой Borland для MS DOS. Начиная с версии 3.0, в Turbo Pascal была реализована концепция модульного программирования, которая, к тому же, хорошо согласовывалась с сегментной адресацией памяти в IBM-совместимых компьютерах. Начиная с версии 5.5, в Turbo Pascal представлена концепция объектно-ориентированного программирования. Затем, с появлением операционной системы Windows стала распространяться объектно-ориентированная среда программирования Delphi, основой которой является язык Pascal.

  1. Начальные сведения

    1. Алфавит

а) все большие и малые латинские буквы, причем Паскаль не делает различия между большими и малыми буквами.

б) все арабские цифры от 0 до 9

в) специальные знаки

+ – * / = < > ( )

. , : ; ' [ ] { } ^

а также пробел и знак конца строки. Обычно знак конца строки состоит из двух знаков – перевод строки (LF) и возврат каретки (CR). Оба эти знака не печатаются.

    1. Лексемы, разделители и комментарии

Лексема – наименьший элемент языка, имеющий самостоятельное значение. Лексема может записываться одним или несколькими знаками алфавита кроме пробела и конца строки. В Паскале выделяют такие лексемы:

а) Имена, или идентификаторы. Именами программист называет объекты, которые он вводит в программу. Имя начинается с латинской буквы и может состоять из произвольного количества букв и цифр. Во многих реализациях длина имени ограничена, либо она произвольна, но обрабатывается только некоторое количество первых символов (например, в Turbo Pascal, 63 первых символа должны образовывать уникальные имена, а вообще длина имени произвольная).

Примеры: A, b5 Alpha, ThisLongIdentifierIsAlsoValid

б) Ключевые слова. В стандартном определении Паскаля их 35, и они нужны для построения языковых конструкций.

And Downto If Or Then

Array Else In Packed To

Begin End Label Procedure Type

Case File Mod Program Until

Const For Nil Record Var

Div Function Not Repeat While

Do Goto Of Set With

Ключевые слова в Паскале являются зарезервированными. Их нельзя использовать в качестве имен.

в) Изображения. Это лексемы, которые изображают значения констант, например, чисел. Правила их построения рассматриваются позднее.

Между двумя именами, двумя ключевыми словами, двумя изображениями, а также между лексемами в смешанных парах из этих групп лексем должен быть хотя бы один разделитель (т.е., их может быть произвольное количество, но не менее одного).

Главными разделителями являются пробелы и знаки конца строки. Кроме того, функции разделителей могут выполнять символы арифметических операций и скобки, тогда другие разделители не обязательны.

Внутри лексем разделители не допускаются.

Еще один специальный разделитель, точка с запятой (;), отделяет операторы и описания Паскаля друг от друга. Точка с запятой не является частью оператора.

Везде, где можно или необходимо применять разделители, можно помещать комментарии. Комментарий – это произвольный набор знаков, имеющихся в наборе знаков компьютера, заключенный между фигурными скобками { и }, (иногда применяют (* и *)), кроме закрывающейся скобки } (или *) ). Внутри комментария могут быть также знаки конца строки, т.о., комментарий может занимать несколько строк.

Примеры:

Rz {радиус Земли} + H {высота спутника}

    1. Форма Бэкуса-Наура

Backus-Naur Form – специальный язык для описания синтаксиса формальных языков. Здесь используется его упрощенная нотация.

< > между угловыми скобками помещается название элемента конструкции, который в реальной конструкции помещается в этом месте без скобок.

" " В кавычках помещается лексема, которая в реальной конструкции помещается в этом же месте, но без кавычек.

[ ] Часть конструкции в квадратных скобках может входить в конструкцию 0 или 1 раз.

{ } Часть конструкции в фигурных скобках может входить в конструкцию 0, 1 или более раз.

| Вертикальная черта разделяет альтернативные элементы конструкции. В реальной конструкции может быть вариант справа или слева от черты. Если черта употреблена внутри скобок – квадратных, фигурных или круглых, ее действие ограничено скобками.

( ) Круглые скобки используются для группирования альтернативных вариантов конструкции в тех случаях, когда квадратные и фигурные скобки не подходят.

::= Слева от этого знака записывается сложный элемент конструкции, справа – его описание более простыми элементами.

. Точка обозначает конец описания.

Примеры описания упомянутых ранее элементов языка:

<Лексема>::=<имя>|<ключевое слово>|<изображение >|<символ операции>.

<имя>::=<буква> {<буква>|<цифра>}.

<цифра>::="0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]