Структура программы: обзор

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

 Программа на языке PascalABC.NET имеет следующий вид:

program имя программы;
раздел
uses
раздел описаний
begin
  операторы
end.

Первая строка называется заголовком программы и не является обязательной. В PascalABC.NET использование заголовка программы считается устаревшим.

Раздел uses состоит из нескольких подряд идущих секций uses, каждая из которых начинается с ключевого слова uses, за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.

Раздел описаний может включать следующие подразделы:

Данные подразделы следуют друг за другом в произвольном порядке.

Далее следует блок begin/end, внутри которого находятся операторы, отделяемые один от другого символом "точка с запятой". Среди операторов может присутствовать оператор описания переменной, который позволяет описывать переменные внутри блока.

Раздел uses и раздел описаний могут отсутствовать.

Например:

program MyProgram;
var
  a,b: integer;
begin
  (a,b) := ReadInteger2;
  var x := a/b;
  Println(x);
end.

или

uses GraphABC;
begin
  var x := 100;
  var y := 100;
  var r := 50;
  Circle(x,y,r);
end.

Глобальные описания переменных до begin основной программы в основном используются редко и считаются устаревшим стилем. Глобальные описания переменных могут использоваться в учебных программах, в которых несколько процедур используют эти переменные:

uses GraphWPF;

var x: integer;

procedure Draw := Circle(x,300,5);

begin
  x := 100;
  Draw;
end.

Кроме того, имеется возможность записывать программы без внешнего begin-end. Для этого в начале программы используется префикc ##:

##
var a := ArrRandomInteger(10);
a.Println;

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

##
uses GraphWPF;

function Draw(x,y: real) := Circle(x,y,5);
Draw(100,100);