|
Новости |
Глава
1. Что такое программа Borland Pascal? Следующие
несколько глав посвящены формальному
определению языка Borland Pascal. В каждой главе
обсуждается один из элементов Borland Pascal.
Совместно эти элементы образуют программу
Borland Pascal. Однако, изучая части, трудно понять целое. В данной главе дается общий обзор программы Borland Pascal, опуская детали. Здесь приводится краткое описание каждого элемента программы, а затем показывается, как все это компонуется вместе. Подробности элементов языка освещаются в остальных главах. Программа Borland PascalВ
своей простейшей форме программа Borland Pascal
состоит из заголовка программы, который
именует программу, и основного программного
блока, выполняющего назначение программы. В
основном программном блоке находится
секция кода, заключенная между ключевыми
словами begin и end. Приведем простейшую
программу, иллюстрирующую эти принципы: program
Privet; begin Writeln('Добро
пожаловать
в
Borland Pascal'); end. Первая
строка - это заголовок программы, который
именует данную программу. Остальная часть
программы - это исходный код, который
начинается ключевым словом begin и
заканчивается end. Хотя данная конкретная
программа содержит только одну строку, их
может быть много. В любой программе Borland Pascal
все действия выполняются между begin и end. Процедуры и функцииКод
между последними операторами begin и end
программы управляет логикой программы. В
очень простой программе в этой секции кода
может содержаться все, что вам нужно. В
более крупных и сложных программах
размещение в этой секции всего
программного кода может затруднить чтение
и понимание программы. К тому же ее будет
труднее разрабатывать. Процедуры
и функции позволяют разделить логику
программы на более мелкие и управляемые
фрагменты и аналогичны подпрограммам в
других языках. Как и в основном блоке
программы, все действия в процедурах и
функциях заключаются в begin и end. Каждый из
этих сегментов кода выполняет конкретную
задачу.
Рис.
1.1 Диаграмма процедуры или функции. Если
вы обнаружите, что в вашей диаграмме одни и
те же действия выполняются многократно,
такую логику желательно выделить в
процедуру или функцию. Вы можете один раз
записать этот код в процедуре или функции, а
затем многократно вызывать его в программе. Приведем
пример функции. Следующая функция GetNumber
получает число от пользователя: function
GetNumber: Real; var Responce:
Real; begin Write('Введите
число: '); Readln(Response); GetNumber
:= Response; end; Процедура
или функция должна содержаться в программе
перед секцией основного кода. В основном
коде она может затем использоваться (вызываться).
Рис.
1.2 Простая программа на Паскале. В
следующем примере дается набросок
программы, в которой используется функция
GetNumber. Программист разделил логику программы
на три задачи: 1.
Получение числа от пользователя. 2.
Выполнение с этим числом необходимых
вычислений. 3.
Печать отчета. Основная
логика программы заключена в последнем
блоке begin..end. Program
Report; var A:
Real; другие
описания
. . . function
GetNumber: Real; var Responce:
Real; begin Write('Введите
число: '); Readln(Response); GetNumber
:= Response; end; procedure
Calculate(X: Real); . . . procedure
PrintReport; . . . begin A:
= GetNumber; Calculate(A); PrintReport;
end. Основная
логика программы достаточно проста для
понимания. Все детали убраны в тела
процедур и функций. Использование процедур
и функций позволяет вам рассматривать
программу более удобным и модульным
способом. ОператорыИсходный
код между begin и end содержит операторы,
которые описывают выполняемые программой
действия. Это называются операторной
частью программы. Приведем примеры
операторов: A
:= B + C;
присвоить значение Calculate(Length,
Height);
активизировать процедуру if
X < 2 then
оператор условия Answer
:= X * Y; begin
составной оператор X
:= 3; Y
:= 4; Z
:= 5; end; while
not EOF(InFile) do
оператор
цикла
begin ReadLn(InFile,
Line); Process(Line);
end; В
простых операторах можно присваивать
значение, активизировать процедуру или
функцию или передавать управление на
другую часть кода. Структурные операторы
могут быть составными и содержать
несколько операторов, оператор цикла или
оператор условия, управляющий логикой
программы, а также операторы with, упрощающие
доступ к данным в записи. ВыраженияОператор
Паскаля состоит из выражений. Выражения
оператора могут состоять из операндов и
операций. Обычно в выражениях выполняется
сравнение либо арифметические, логические
или булевские операции. Выражения
Паскаля могут состоять из более простых
выражений. О комбинации операндов и
операций вы можете прочитать в Главе 6. Они
могут быть достаточно сложными. Приведем
некоторые примеры выражений: X
+ Y Done
<> Error I
<= Length -X
ЛексемыЛексемы
- это наименьшие значащие элементы в
программе Паскаля. Они образуются
операндами и операциями выражений. Лексемы
- это специальные символы,
зарезервированные слова, идентификаторы,
метки и строковые константы. Приведем
примеры лексем Паскаля: function
зарезервированное слово (
специальный символ :=
специальный символ Calculate
идентификатор процедуры 9
число Приведем
пример, из которого вы можете видеть, что
операторы состоят из выражений, которые в
свою очередь состоят из лексем.
Рис. 1.3 Диаграмма оператора. Типы, переменные, константы и типизированные константыПеременная
может содержать изменяемое значение.
Каждая переменная должна иметь тип. Тип
переменной определяет множество значений,
которые может иметь переменная. Например,
в следующей программе описываются
переменные X и Y, имеющие тип Integer. Таким
образом, X и Y могут содержать только целые
значения (числа). Если в вашей программе
предпринимается попытка присвоить этим
переменным значения другого типа, Borland Pascal
сообщает об ошибке. program
Example; const A
= 12;
константа A не изменяет значения B:
Integer = 23; типизированная
константа B получает начальное значение var X,
Y: Integer;
переменные X и Y имеют тип Integer J:
Real;
переменная J имеет тип Real begin X
:= 7;
переменной X присваивается значение Y
:= 7;
переменной Y присваивается значение X
:= Y + Y;
значение переменной X изменяется J
:= 0.075;
переменной J присваивается значение с
плавающей точкой end. В
этой простой и не очень полезной программе X
первоначально присваивается значение 7;
двумя операторами ниже ей присваивается
новое значение: Y + Y. Как можно видеть,
значение переменной может изменяться. A
- это константа. Программа назначает ей
значение 12, и это значение изменяться не
может - в ходе выполнения программы оно
остается постоянным. B
представляет собой типизированную
константу. Ей присваивается значение при
описании, но дается также тип Integer. Типизированую
константу можно рассматривать как
переменную с начальным значением. Позднее
программа может изменить первоначальное
значение B на какое-то другое значение. Если
вы вернетесь обратно к приведенному в
начале главы примеру кода, то увидите, что
функция GetNumber имеет раздел описаний, в
котором описывается переменная. Процедуры
и функции могут содержать разделы описаний
также как программы и модули. Компоновка частейТеперь, когда вы познакомились с основными компонентами программы Borland Pascal, давайте посмотрим, как все это работает вместе. Приведем диаграмму программы Borland Pascal:
Рис.
1.4 Расширенная диаграмма программы на
Паскале. Программу
на Паскале составляют заголовок программы,
необязательный оператор uses (о нем будет
рассказано позднее) и основной блок
программы. В основном блоке могут
присутствовать более мелкие блоки процедур
и функций. Хотя на диаграмме это не показано,
процедуры им функции могут быть вложенными
в другие процедуры или функции. Другими
словами, блоки могут содержать другие блоки. В
сочетании с другими лексемами и пробелами
лексемы могут образовывать выражения,
формирующие оператор. Операторы, в свою
очередь, в сочетании с разделом описаний
образуют блоки основной программы или блок
в процедуре или функции. МодулиПрограмма
Borland Pascal может использовать блоки кода в
программных модулях. Модуль (unit) можно
рассматривать как мини-программу, которую
может использовать ваша прикладная программа.
Как и программа, он имеет заголовок (который
называется заголовком модуля) и основной
блок, ограниченный begin и end. Основной
блок любой программы Borland Pascal может
включать в себя строку, позволяющую
программе использовать один или более
модулей. Например, если вы пишете программу
DOS с именем Colors и хотите изменять цвета
выводимого на экран текста, то ваша программа
может использовать стандартный модуль Crt,
являющийся частью библиотеки исполняющей
системы Borland Pascal: program
Colors; uses
Crt; begin . . . end. Строка
uses Crt сообщает Borland Pascal, что нужно включить
модуль Crt в выполняемую программу. Кроме
всего прочего, модуль Crt содержит весь
необходимый код для изменения цвета в вашей
программе. Путем простого включения uses Crt
ваша программа может использовать весь код,
содержащийся в модуле Crt. Поэтому оператор
uses называют также оператором использования.
Если бы вы поместили весь код, необходимый
для реализации функциональных возможностей
Crt, в свою программу, это потребовало бы
огромных усилий и отвлекло бы вас от
основной цели программы. Библиотеки
исполняющей системы Borland Pascal включают в себя
несколько модулей, которые вы найдете
весьма полезными. Например, благодаря
использованию модулей Dos или WinDos, ваша программа
может получить доступ к нескольким
подпрограммам операционной системы и
подпрограммам работы с файлами. Вы
можете также писать свои собственные
модули. Применяйте их для разделения
больших программ на логические связанные
фрагменты. Программный код, который вы
помещаете в модуль, может использоваться
любой программой. Вам нужно написать
исходный код только один раз, а затем вы
сможете много раз его использовать. Синтаксические диаграммыПри
изучении языка Borland Pascal по этому
руководству, вы встретите синтаксические
диаграммыЧтобы
прочитать диаграмму, следуйте по стрелкам.
Часто встречаются альтернативные пути:
путь, начинающийся слева и заканчивающийся
стрелкой справа, является допустимым. Путь
пересекает блоки, содержащие имена
элементов, используемых для построения
этой части синтаксиса. Имена
в прямоугольных рамках с текстом должны
быть заменены действительными
конструкциями. Некоторые рамки содержат
зарезервированные слова, знаки операций и
знаки пунктуации, то есть фактические
термы, используемые в программе. Имена в
блоках - это конструкции языка. Имена,
написанные по-английски (например, procedure),
представляют собой зарезервированные
слова и операции Borland Pascal. |
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |