3. PROGRAM STRUCTURE

3.2. Program Structures in Pascal

Before we study basic building blocks of the Pascal programming language, let us look a bare 
minimum Pascal program structure so that we can take it as a reference in upcoming chapters. 
Pascal Program Structure 
A Pascal program basically consists of the following parts − 
 Program name 
 Uses command 
 Type declarations 
 Constant declarations 
 Variables declarations 
 Functions declarations 
 Procedures declarations 
 Main program block 
 Statements and Expressions within each block 
 Comments 
Every pascal program generally has a heading statement, a declaration and an execution part 
strictly in that order. Following format shows the basic syntax for a Pascal program − 
program {name of the program} 
uses {comma delimited names of libraries you use} 
const {global constant declaration block} 
var {global variable declaration block} 
 
function {function declarations, if any} 
{ local variables } 
begin 
... 
end; 
 
procedure { procedure declarations, if any} 
{ local variables } 
begin 
... 
end; 
 
begin { main program block starts} 
... 
end. { the end of main program block } 
 
Pascal Hello World Example 
Following is a simple pascal code that would print the words "Hello, World!": 
program HelloWorld; 
uses crt; 
 
(* Here the main program block starts *) 
Page 42 of 172 
 
begin 
   writeln('Hello, World!'); 
   readkey; 
end.  
This will produce following result − 
Hello, World! 
Let us look various parts of the above program − 
 The first line of the program program HelloWorld; indicates the name of the program. 
 The second line of the program uses crt; is a preprocessor command, which tells the 
compiler to include the crt unit before going to actual compilation. 
 The next lines enclosed within begin and end statements are the main program block. 
Every block in Pascal is enclosed within a begin statement and an end statement. 
However, the end statement indicating the end of the main program is followed by a full 
stop (.) instead of semicolon (;).  
 The begin statement of the main program block is where the program execution begins. 
 The lines within (*...*) will be ignored by the compiler and it has been put to add a 
comment in the program.  
 The statement writeln('Hello, World!'); uses the writeln function available in Pascal 
which causes the message "Hello, World!" to be displayed on the screen. 
 The statement readkey; allows the display to pause until the user presses a key. It is part 
of the crt unit. A unit is like a library in Pascal. 
 The last statement end. ends your program. 
Pascal - Basic Syntax 
You have seen a basic structure of pascal program, so it will be easy to understand other basic 
building blocks of the pascal programming language. 
 
Variables 
A variable definition is put in a block beginning with a var keyword, followed by definitions of 
the variables as follows: 
var 
A_Variable, B_Variable ... : Variable_Type; 
 
i.e. A, b, c:interger 
Pascal variables are declared outside the code-body of the function which means they are not 
declared within the begin and end pairs, but they are declared after the definition of the 
procedure/function and before the begin keyword. For global variables, they are defined after the 
program header. 
Functions/Procedures 
In Pascal, a procedure is set of instructions to be executed, with no return value and a function 
is a procedure with a return value. The definition of function/procedures will be as follows − 
Function Func_Name(params...) : Return_Value; 
Page 43 of 172 
 
Procedure Proc_Name(params...); 
 
Comments 
The multiline comments are enclosed within curly brackets and asterisks as {* ... *}. Pascal 
allows single-line comment enclosed within curly brackets { ... }.  
{* This is a multi-line comments 
   and it will span multiple lines. *} 
 
{ This is a single line comment in pascal } 
 
Case Sensitivity 
Pascal is a case non-sensitive language, which means you can write your variables, functions and 
procedure in either case. Like variables A_Variable, a_variable and A_VARIABLE have same 
meaning in Pascal. 
 
Pascal Statements (I/O)  
Pascal programs are made of statements. Each statement specifies a definite job of the program. 
These jobs could be declaration, assignment, reading data, writing data, taking logical decisions, 
transferring program flow control, etc. 
For example − 
readln (a, b, c); 
s := (a + b + c)/2.0; 
area := sqrt(s * (s - a)*(s-b)*(s-c)); 
writeln(area);         
 
Note: All pascal functions and control structures start with name and follow with Begin..End in 
place of carry bracket “, -” used in C programs. 
1. Function Example 
function name(argument(s): type1; argument(s): type2; ...): function_type; 
local declarations; 
begin 
   ... 
   < statements > 
   ... 
   name:= expression; 
end; 
 
program exFunction; 
var 
   a, b, ret : integer; 
 
2. Function and control structure Example 
(*function definition *) 
function max(num1, num2: integer): integer; 
var 
   (* local variable declaration *) 
   result: integer; 
 
begin 
if (num1 > num2) then 
begin 
result := num1 
writeln(result); 
end; 
else 
begin 
result := num2; 
max := result; 
writeln(max); 
end; 
end; 
begin 
a := 100; 
b := 200; 
(* calling a function to get max value *) 
ret := max(a, b); 
writeln( 'Max value is : ', ret ); 
end.