ЗАМЕЧАНИЕ
В некоторых из современных языков высокого уровня переходы считаются
злом, метки в них могут принципиально отсутствовать.
Приведенная программа выглядит вполне лаконично и исчерпывающе.
Однако в большинстве современных языков, включая языки ассемблера,
помимо собственно перечня выполняемых действий программа в
обязательном порядке содержит еще несколько секций, или разделов
(имеющих свое предназначение блоков текста).
Часто требуется указать имя программы, после чего используются
ключевые слова наподобие begin и end.
Пример на языке Паскаль:
PROGRAM MYPROGRAM;
BEGIN
(* программа *)
END MYPROGRAM.
При этом программа может структурироваться на меньшие части —
подпрограммы, которые называются функциями, процедурами или
36
классами в зависимости от языка. Каждая подпрограмма, в свою очередь,
имеет свое собственное имя, начало и конец.
Современные программы, как правило, являются частью некоторого
программного комплекса и взаимодействуют с другими его элементами.
Даже простая программа обычно использует стандартные так называемые
библиотечные модули, позволяющие решать типовые задачи, например
вычислять синус, без необходимости каждый раз изобретать велосипед. В
связи с этим в программе чаще всего есть блок, в котором описано, каким
образом программа взаимодействует с другими (какие библиотечные
модули импортируются и откуда, какой интерфейс имеет программа). В
интерфейсной части обычно описывается, какие данные поступают на вход
и какие получаются в результате выполнения программы или
подпрограммы.
Описание обрабатываемых данных является важнейшей частью
программы во многих языках программирования. Известно высказывание
известного швейцарского ученого Никлауса Вирта: «Программы =
Алгоритмы + Структуры данных» [9]. Поэтому помимо собственно
действий, отражаемых алгоритмической частью (она еще может
называться процедурной), программа содержит объявление данных,
которые подлежат обработке. В простейшем случае это перечисление всех
встречающихся в дальнейшем переменных с указанием их типов.
Перечисленные непроцедурные, или декларативные, части программы
чаще всего находятся в ее начале, а также в начале каждой подпрограммы.
Иногда декларативная часть выносится (не полностью) в исходные файлы
специального типа.
Но вернемся к процедурной части. Именно она содержится внутри
функций и процедур и называется телом функции, чем подчеркивается
отличие от заголовка подпрограммы, включающего имя и список входных
и выходных данных.
Несмотря на то что изначально в некоторых языках допускалось
использование строго одного оператора в строке и значение имела даже
позиция (колонка), в которой он начинался, а в языках ассемблера до сих
пор принят принцип «одна строка — одна команда», большинство
современных языков программирования допускают запись в одной строке
нескольких операторов:
<
оператор
1
>; <
оператор
2
>;
<
оператор
3
>
…
<
оператор
n
>
В этом случае необходимо понять, где в данной строке заканчивается один
37
оператор и начинается другой. Точка с запятой в примере использована не
случайно — это весьма популярный символ, используемый во многих
современных языках программирования для отделения одного оператора
от другого.
Независимо от того, один оператор записан в строке или несколько, в
данном случае мы имеем дело с так называемой линейной программой, или
Достарыңызбен бөлісу: |