The keyword begin is used to indicate the start of the executable section of a function, method of an object, procedure, program, property of an object, or is used to delineate the start of a block statement.
program Project1; var (..); begin (..); end.
For a block statement, it delineates the top of the block, and is also terminated by an end statement:
if (..) then begin (..) end else begin (..) end;
begin должно быть закрыто end.