Pascal-Syntax-Overview
Pascal-Syntax-Overview
1. Program Structure
program HelloWorld;
begin
writeln('Hello, world!');
end.
2. Comments
{ This is a comment }
(* Another comment style *)
3. Variables
var
age: Integer;
name: String;
price: Real;
isAlive: Boolean;
4. Constants
const
PI = 3.14;
MAX = 100;
5. Input/Output
read(variable); { Input }
readln(variable); { Input + newline }
write('Text'); { Output }
writeln('Text'); { Output + newline }
6. Arithmetic Operators
+ - * / div mod
7. Control Structures
If...Then...Else
Case...Of
case grade of
'A': writeln('Excellent');
'B': writeln('Good');
else writeln('Unknown');
end;
While Loop
while x < 10 do
begin
writeln(x);
x := x + 1;
end;
Repeat...Until Loop
repeat
writeln(x);
x := x + 1;
until x = 10;
For Loop
for i := 1 to 5 do
writeln(i);
Procedure
procedure SayHello;
begin
writeln('Hello!');
end;
Function
program Hello;
begin
writeln('Hello, world!');
end.
program Sum;
var
a, b, sum: Integer;
begin
readln(a, b);
sum := a + b;
writeln('Sum = ', sum);
end.
program EvenOdd;
var
n: Integer;
begin
readln(n);
if n mod 2 = 0 then
writeln('Even')
else
writeln('Odd');
end.
Exercise 4: Factorial
program Factorial;
var
n, i, f: Integer;
begin
readln(n);
f := 1;
for i := 1 to n do
f := f * i;
writeln('Factorial = ', f);
end.
Concept: Generate series where each number is the sum of previous two.
program Fibonacci;
var
a, b, c, i, n: Integer;
begin
readln(n);
a := 0;
b := 1;
write(a, ' ', b, ' ');
for i := 3 to n do
begin
c := a + b;
write(c, ' ');
a := b;
b := c;
end;
end.
program PrimeCheck;
var
n, i: Integer;
isPrime: Boolean;
begin
readln(n);
isPrime := true;
for i := 2 to n div 2 do
if n mod i = 0 then
isPrime := false;
if isPrime then
writeln('Prime')
else
writeln('Not Prime');
end.
program Table;
var
i, n: Integer;
begin
readln(n);
for i := 1 to 10 do
writeln(n, ' x ', i, ' = ', n * i);
end.
program Reverse;
var
n, rev, r: Integer;
begin
readln(n);
rev := 0;
while n > 0 do
begin
r := n mod 10;
rev := rev * 10 + r;
n := n div 10;
end;
writeln('Reversed = ', rev);
end.
program Palindrome;
var
n, temp, rev, r: Integer;
begin
readln(n);
temp := n;
rev := 0;
while temp > 0 do
begin
r := temp mod 10;
rev := rev * 10 + r;
temp := temp div 10;
end;
if rev = n then
writeln('Palindrome')
else
writeln('Not Palindrome');
end.
program Greatest;
var
a, b, c, max: Integer;
begin
readln(a, b, c);
max := a;
if b > max then
max := b;
if c > max then
max := c;
writeln('Max = ', max);
end.
More Pascal Exercises
Exercise 11: Count Digits in a Number
program CountDigits;
var
n, count: Integer;
begin
readln(n);
count := 0;
while n <> 0 do
begin
n := n div 10;
count := count + 1;
end;
writeln('Number of digits = ', count);
end.
program SumDigits;
var
n, sum, r: Integer;
begin
readln(n);
sum := 0;
while n > 0 do
begin
r := n mod 10;
sum := sum + r;
n := n div 10;
end;
writeln('Sum of digits = ', sum);
end.
program Power;
var
base, exp, i, result: Integer;
begin
readln(base, exp);
result := 1;
for i := 1 to exp do
result := result * base;
writeln('Result = ', result);
end.
This program counts the number of vowels in a This program swaps the values of two integer
given string. It iterates through each character variables using a temporary variable. The initial
of the string and checks if it is a vowel (a, e, i, value of the first variable (a) is stored in the
o, u). A counter is incremented for each vowel temporary variable, then the value of the
found. second variable (b) is assigned to a, and
finally, the value from the temporary variable is
Code:
assigned to b.
Code:
program CountVowels;
var
str: string; program SwapNumbers;
i, count: Integer; var
begin a, b, temp: Integer;
readln(str); begin
count := 0; readln(a, b);
for i := 1 to length(str) do temp := a;
begin a := b;
case str[i] of b := temp;
'a', 'e', 'i', 'o', 'u', writeln('a = ', a, ', b = ', b);
'A', 'E', 'I', 'O', 'U': count := count + 1; end.
end;
end;
writeln('Number of vowels = ', count);
end.