Характеристика языка программирования Паскаль 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Характеристика языка программирования Паскаль



Одним из наиболее популярных языков программирования является язык Паскаль. Первая версия языка программирования Паскаль была разработана на кафедре информатики Стэнфордского университета швейцарским ученым Никлаусом Виртом в 1968. году, и названа в честь французскою ученого Блеза Паскаля. Прошло много времени с момента появления Паскаля на рынке программных продуктов, прежде чем он получил всеобщее признание вследствие разработки языка программирования Турбо Паскаль (ТП) диалекта языка, изданного американской фирмой Борланд. Этa фирма объединила очень быстрый компилятор средактором текста и добавила к стандартному Паскалю мощное расширение, что способствовало успеху первой версии этого языка. С тех пор Турбо Паскаль значительно расширился. Появились новые графические процедуры, возможность использования при написании программ языка программирования низкого уровня Ассемблер, возможность создавать объектно-ориентированные программы и многое другое. В лингвистической концепции Паскаля пропагандируется системный подход, выражающийся, в частности, в расчленении крупных проблем на меньшие по сложности и размеру задачи, относительно поддающиеся решению. Набор операторов стандартного Паскаля относительно мал и легко изучаем. Но это порождаем проблему расширения языка в приложениях. В Турбо Паскале эта проблема решается за счет поставок большого количества библиотек разнообразных процедур, готовых к употреблению в прикладных программах.

Влияние Паскаля ощущается в настоящее время в разных языках программирования. Так, среди новых диалектов Бейсика есть Паскаль с символикой Бейсика. Даже в язык СИ встраиваемся все больше элементов, порожденных Паскалем.

С момента создания первой версии языка Паскаль прошло много времени и язык значительно преобразился, но тем не менее стандартный Паскаль является основой более поздних версий Турбо Паскаля.

2.3 Алфавит и структура программы на ПаскалеАлфавит программы Основные символы языка-буквы, цифры и специальные символы -составляют его алфавит. Алфавит - это совокупность допустимых в языке символов. ТУРБО ПАСКАЛЬ включает следующий набор основных символов: 1) 26 латинских строчных и 26 латинских прописных букв: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 2) _ подчеркивание 3) 10 цифр: 0 1 2 3 4 5 6 7 8 9 4) знаки операций: + - * / = <> < > <= >=:= @ 5) ограничители:., ' () [ ] (..) { } (* *)..:; 6) спецификаторы: ^ # $ 7) служебные (зарезервированные) слова:
ABSOLUTE EXPORTS LIBRARY SET
ASSEMBLER EXTERNAL MOD SHL
AND FAR NAME SHR
ARRAY FILE NIL STRING
ASM FOR NEAR THEN
ASSEMBLER FORWARD NOT TO
BEGIN FUNCTION OBJECT TYPE
CASE GOTO OF UNIT
CONST IF OR UNTIL
CONSTRUCTOR IMPLEMENTATION PACKED USES
DESTRUCTOR IN PRIVATE VAR
DIV INDEX PROCEDURE VIRTUAL
DO INHERITED PROGRAM WHILE
DOWNTO INLINE PUBLIC WITH
ELSE INTERFACE RECORD XOR
END INTERRUPT REPEAT  
EXPORT LABEL RESIDENT  
Кроме перечисленных, в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.

Элементарные конструкции языка Паскаль включают в себя имена, числа и строки.

Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:

- буквы латинского алфавита,

- цифры

- символ подчеркивания.

Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова.

Для отделения друг от друга идентификаторов, чисел, зарезервированных слов используются разделители. В качестве них можно использовать:

- пробел и табуляцию;

- перевод строки;

- комментарий.

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

Числа в языке Паскаль обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:

217 -45 8954 +483

Действительные числа записываются в форме с десятичной точкой:

28.6 0.65 -0.018 4.0

Структура программы

Программы, написанные на языке программирования Турбо Паскале, строятся в соответствии с правилами, представляющими собой несколько расширенные и "ослабленные" правила синтаксиса стандартного Паскаля. Язык Паскаль является языком строгой спецификации данных, поэтому в разделе определения данныхдолжны быть описаны все используемые в программе метки, установлены значения констант, описаны имена новых типов данных, описаны переменные и определены пользовательские процедуры и функции.

Программа на языке ПАСКАЛЬ состоит из заголовка, разделов описаний и раздела операторов.

{ Раздел описания данных }

Label...; {раздел определения меток}

Const...; {раздел определения констант}

Type...; {раздел определения новых типов}

Var...; {раздел определения переменных}

 

function...; {раздел определения программных

procedure...; единиц}

{ Раздел опрераторов }

Begin

...

End.

 

Заголовок программы содержит имя программы, например: Program PRIM;

Слово PROGRAM зарезервировано в Паскале и означает начало программы. Далее записывается имя программы (в приведенном примере - PRIM). В Турбо Паскале можно опускать объявление имени оператором PROGRAM без каких-либо последствий для программы.

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

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы TURBO PASCAL, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми: uses CRT, Graph; Любой оператор в программе может быть помечен меткой. В качестве метки используются произвольные целые без знака, содержащие не более четырех цифр, либо имена. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток, например: label 3, 471, 29, Quit; Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описаний констант: const K= 1024; MAX= 16384; В разделе описания переменных необходимо определить тип всех переменных, используемых в программе: var P,Q,R: Integer; A,B: Char; F1,F2: Boolean; "Процедура" и "функция" - термины, применяемые в Паскале для обозначения специальным образом оформленной последовательности команд (подпрограммы). Доступ к такой подпрограмме можем быть осуществлен из любого места основного блока программы, а также из любой процедуры или Функции, описание которых следует ниже. В разделе описаний содержится описание процедур и функций в виде текста процедур и функций, который строится по правилам аналогичным правилам построения программы. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в ПАСКАЛЬ - программе должны быть обязательно описаны все компоненты программы.

Раздел операторов или основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Тело основного блока программы ограничено словами BEGIN и END. Операторы отделяются друг от друга символом;.

Необходимо обратить внимание на наличие точки после служебного слова END. После последнего оператора END всегда славится точка, тем самым компилятор получает информацию об окончании текста программы. Текст программы заканчивается символом точка. Кроме описаний и операторов ПАСКАЛЬ - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }. Текст ПАСКАЛЬ - программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например: {$E+} - эмулировать математический сопроцессор; {$F+} - формировать дальний тип вызова процедур и функций; {$N+} - использовать математический сопроцессор; {$R+} - проверять выход за границы диапазонов. Некоторые ключи компиляции могут содержать параметр, например: {$I имя файла} - включить в текст компилируемой программы названный файл.

Пример записи программы:

PROGRAM Имя;

{ Программа суммирования двух введенных целых чисел}

VAR

Number J, Number 2, Sum: INTEGER; {Описание данных}

BEGIN { Начало обработки }

Write (' Введите первое число:);

ReadLn (Number_1);

{Операторы}  
Write ('Введите второе число:');

ReadLn (Number_2);

Sum:= Number_1 + Number 2,

WriteLn (' Сумма введенных чисел равна: '.Sum);

END. { Конец текста программы}

Строки программы обычно выделяют некоторые смысловые фрагменты текста и могут не связываться с конкретными действиями в программе. Программа записывается в свободной форме, операторы не привязаны к определенной позиции строки в отличие от других языков программирования. Расположение текста программы по строкам - дело вкуса программиста, а не требование синтаксиса языка. В то же время рекомендуется программу записывать в такой внешней форме, чтобы ее можно было легко читать, и понимать. Для этого широко используются пробелы, пустые строки и комментарии. Рекомендуется смысловые части выделять одинаковыми отступами от начала строки.

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

Соответствующие строчные и прописные буквы являются эквивалентными, если только это не связано с текстовыми константами.

Разделитель отмечает конец оператора или описания. Использование особого разделителя позволяет располагать несколько операторов на одной строке.

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

В нашем примере в разделе описаний объявлены три перемонные Number_1, Number 2, Sum как переменные целого типа. Имена переменных записаны через запятую, а перед служебным словом INTEGER стоит двоеточие.

Зарезервированное слово BEGIN в следующей строке сигнализирует компилятору о начале другой части программы- раздела операторов. Write, WriteLn, ReadLn служат для вывода и ввода информации и являются стандартными процедурами. В Турбо Паскале есть возможность использования некоторых стандартных процедур без предваряющего описания этих процедур (общее правило гласит: все процедуры должны быть описаны). По своей сути оператор

Write ('Введите первое число:'),

является оператором обращения к встроенной процедуре вывода данных. Свое название она получила от write - записать, a writeln - записать строку.

Процедура write осуществляет вывод объектов перечисленных в скобках через запятую. В данном случае выводится текстовая константа 'Введите первое число:'.

ReadLn (Number_1); - стандартная процедура ввода численного значения переменной с именем Number 1. При выполнении программы машина предоставит возможность ввести с клавиатуры численное значение этой переменной. Два следующих оператора аналогичны.

Оператор Sum:= Number_1 + Number_2;

- оператор присваивания, один из основных операторов языков программирования. В его левой части указывается имя переменной, правая часть представляет собой выражение того же типа, что и переменная. Выполняется оператор так: вычисляется численное значение выражения в правой части и результат записывается в переменную слева. Другими словами, оператор присваивания - вычислитель. Переменная Sum принимает значение суммы двух переменных Number_1 и Number 2.

WriteLn (' Сумма введенных чисел равна: \Sum):

Выводит два объекта – текстовую константу и переменную. Оператор Write выводит строку на экран и оставляет курсор в конце только что выведенной строки. Оператор WriteLn после вывода устанавливает курсор в начало следующей строки.

Для написания наглядных и легко читаемых программ необходимо выполнять следующие рекомендации:

1. Стандартизация стиля программирования. Если существует более одного способа реализации программы, то необходимо остановиться на каком-то одном способе (лучше всего общепринятом) и всегда его придерживаться. Это позволит избежать ошибок и путаницы.

2. Размещение текста программы. Не следует операторы программы писать сплошным текстом. Программу необходимо размещать структурировано:

· конструкции языка (описания, операторы, блоки) более глубоких уровней сдвигать от начала строки вправо;

· конструкции языка одинаковых уровней располагать друг под другом;

· каждое описание и каждый оператор писать с новой строки;

· продолжение описаний и операторов в следующих строках сдвигать вправо относительно начала;

· избегать слишком длинных строк.



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 142; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.46.36 (0.03 с.)