Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Информатика.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
738.82 Кб
Скачать

Алгоритмический язык Pascal. Алфавит языка, лексика, структура программы.

Язык программирования Pascal был разработан в 1968-71 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария). Первоначально цель разработки языка диктовалась необходимостью инструмента для обучения программированию как систематической дисциплине. Однако очень скоро обнаружилась чрезвычайная эффективность языка Pascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем - компиляторов, баз данных, операционных систем и т.д. К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования. Существуют многочисленные реализации языка практически для всех машинных архитектур.

Характеристики и особенности языка

Существует ряд объективных причин, обусловивших выдающийся успех языка Pascal. Среди них в первую очередь необходимо указать следующие:

  1. Язык в естественной и элегантной форме отразил важнейшие современные концепции технологии разработки программ: развитая система типов, ориентация на принципы структурного программирования, поддержка процесса пошаговой разработки.

  2. Благодаря своей компактности, концептуальной целостности и ортогональности понятий, а также удачному первоначальному описанию, предложенному автором языка, Pascal оказался весьма легок для изучения и освоения.

  3. Несмотря на относительную простоту языка, он оказался пригоден для весьма широкого спектра приложений.

  4. Язык Pascal стандартизован во многих странах мира.

Рассмотрим основные особенности языка Pascal.

  1. Pascal является традиционным алгоритмическим языком программирования, продолжающим линию Алгол-60. Это означает, что программа на языке Pascal представляет собой специально организованную последовательность шагов по преобразованию данных, приводящую к решению некоторой задачи.

  2. Язык Pascal содержит удобные средства для представления данных. Развитая система типов позволяет адекватно описывать данные, подлежащие обработке, и конструировать структуры данных произвольной сложности. Pascal является типизированным языком, что означает фиксацию типов переменных при их описании, а также строгий контроль преобразования типов и контроль доступа к данным в соответствии с их типом ( как на этапе компиляции, так и при исполнении программы ).

  3. Набор операторов языка Pascal отражает принципы структурного программирования и позволяет записывать достаточно сложные алгоритмы в компактной и элегантной форме.

  4. Синтаксис языка достаточно несложен. Программы записываются в свободном формате, что позволяет сделать их наглядными и удобными для изучения.

1. TURBO-PASCAL

Настоящий курс лекций посвящен широко известной реализации языка Pascal фирмы Borland International для персональных IBM-совместимых ЭВМ - языку TurboPascal. Язык TurboPascal - мощное расширение американского стандарта ( ANSI Pascal ), учитывающее архитектурные особенности операционной системы MS-DOS и снабженное внушительными по объему и разнообразию пакетами стандартных процедур.

Система TurboPascal является интегрированной средой, включающей ряд компонент, в совокупности поддерживающих все виды работ по созданию программ. Система содержит универсальный текстовый редактор, компилятор входного языка, редактор связей и встроенный символьный отладчик. Многооконный интерфейс с развитой системой меню обеспечивает высокую производительность труда программиста.

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

Для чтения синтаксической диаграммы следуйте по стрелкам. Часто встречаются альтернативные пути; путь, начинающийся слева и заканчивающийся стрелкой справа, является допустимым. Путь пересекает рамки, содержащие имена элементов, используемых для построения этой части синтаксиса.

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

Текст программы. Алфавит языка

Текст Pascal-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка. Строки программы завершаются специальными управляющими символами, не входящими в алфавит ( CR, LF ). Максимальная длина строки составляет 126 символов.

Алфавит языка состоит из следующих символов:

- букв английского алфавита от A до Z и от a до z и знак "_".

Буквы используются для формирования идентификаторов и служебных слов.

- арабских цифр от 0 до 9.

Цифры используются для записи чисел и идентификаторов.

- 22 специальных символов:

+ - * / = < > [ ] . , ( ) : ; ^ @ { } # ' $ Специальные символы используются для конструирования знаков

операций, выражений, комментариев, а также как синтаксические разделители.

Следующие пары символов также представляют собой специальные символы:

<= >= := .. (* *) (. .)

Лексическая структура языка. Комментарии и пробелы

Символы из алфавита языка используются для построения базовых элементов Pascal-программ - лексем.

Лексема - минимальная единица языка, имеющая самостоятельный смысл. В TurboPascal имеются следующие классы лексем:

1. Служебные (зарезервированные) слова. Это ограниченная группа слов, построенная из букв. Каждое служебное слово представляет собой неделимое образование, смысл которого фиксирован в языке. Служебные слова НЕЛЬЗЯ использовать в качестве имен, вводимых программистом.

Следующие слова являются зарезервированными в Турбо-Паскале:

absolute

and

array

asm

assembler

begin

case

const

constructor destructor

div

do

downto

else

end

external

file

for

forward

function

goto

if

implementation

in

inline

interface interrupt

label

mod

nil

not

object

of

or

packed

private procedure program

record

repeat

set

shl

shr

string

then

to

type

unit

until

uses

var

vertical

while

with

xor

2. Идентификаторы (имена). Идентификаторы вводятся для обозначения в программе переменных, констант, типов, меток, процедур и функций и формируются из букв и цифр в соответствии со следующей диаграммой:

Идентификатор

Буква

буква

цифра

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

Идентификаторы вводятся в программу посредством описаний. Приведем несколько примеров идентификаторов:

Writeln

Exit

Real2String

3. Изображения. Эта группа лексем обозначает числа, символьные строки и некоторые другие значения.

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

5. Разделители также формируются из специальных символов и в основном используются для повышения наглядности текстов программ. Разделителем может служить пробел, CR, LF, комментарий.

В текстах Pascal-программ допускаются фрагменты пояснительного характера -комментарии. Наличие комментария не изменяет смысл программы и не влияет на ее выполнение. В TurboPascal комментарии представляют собой произвольную последовательность символов, заключенную в фигурные скобки или в разделители вида (* *). Вложенность комментариев друг в друга допускается только для комментариев, заключенных в различные пары скобок. Комментарий может находиться между любыми двумя лексемами программы.

Важную роль в тексте Pascal-программы играет символ, не имеющий специального графического изображения, - пробел. Символы пробелов используются для отделения лексем друг от друга в тех случаях, когда слитное написание двух или более лексем может исказить смысл программы. В частности, если идентификаторы и служебные слова записываются друг за другом, то они обязательно должны быть отделены одним или несколькими пробелами (или расположены в различных строках), т.к. их слитное написание будет воспринято как идентификатор. В остальных случаях использование пробелов необязательно и служит целям наглядности, способствуя лучшему внешнему виду программ. Можно сказать, что пробелы, так же, как и комментарии, могут (в любом количестве) находиться между двумя лексемами программы.