Первая программа
Для того, чтобы дать "почувствовать", что представляет из себя программа написанная на языке Ада рассмотрим простую программу. Традиционно, первая программа - это программа которая выводит на экран приветствие: "Hello World!". Не будем нарушать традицию. Итак, на Аде такая программа будет иметь следующий вид:
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is begin Put_Line("Hello World!"); end Hello; |
Давайте детально рассмотрим из каких частей состоит текст этой программы.
Строка "procedure Hello is" является заголовком процедуры и она указывает имя нашей процедуры.
Далее, между зарезервированными словами begin и end, располагается тело процедуры Hello.
В этом примере тело процедуры очень простое и состоит из единственной инструкции "Put_Line("Hello World!");".
Эта инструкция осуществляет вывод приветствия на экран, вызывая процедуру Put_Line.
Процедура Put_Line располагается в пакете текстового ввода/вывода Ada.Text_IO, и становится доступной благодаря спецификации контекста в инструкциях "with Ada.Text_IO;" и "use Ada.Text_IO;" (спецификация контекста необходима для указания используемых библиотечных модулей). Здесь, спецификатор контекста состоит из двух спецификаторов: спецификатора совместности with и спецификатора использования use. Cпецификатор совместности with указывает компоненты которые будут использоваться в данном компилируемом модуле. Cпецификатор использования use делает имена используемых объектов непосредственно доступными в данном компилируемом модуле.
Программа Hello настолько проста, что в ней нет ни переменных, ни какой-либо обработки данных, поэтому, несколько забегая вперед, приведем общий вид процедуры.
|
(другими словами - головной программой). Таким образом, процедура без параметров может быть выбрана как головная программа во время линковки.
Теперь, приведем еще один простой пример, в котором, для выдачи сообщения приветствия, используется ранее рассмотренная процедура Hello:
with Hello; -- указывает на использование показанной ранее -- процедуры Hello procedure Use_Hello is begin Hello; -- вызов процедуры Hello end Use_Hello; |