PROGRAM program_name VAR %% beginning of variable declarations, required even no var's x, y, z: INTEGER; a : REAL; ENDVAR PROCEDURE procedure_name_1 VAR a, aa: REAL; ENDVAR PROCEDURE procedure_name_1_1 VAR %%... a: INTEGER; ENDVAR %% no PROCEDURE def BEGIN %%... a := 100; WRITE(a); WRITELN(); END BEGIN a := 33.33; procedure_name_1_1(); WRITE(a); WRITELN(); END PROCEDURE procedure_name_2 %% no VAR and PROCEDURE def BEGIN %%.... END BEGIN a := 5; procedure_name1(); WRITE(a); WRITELN(); END