Pascal is a structured programming language known for emphasizing clarity and structure. Time Warp Studio provides experimental Pascal support for learning procedural programming concepts.
A simple Pascal program:
program HelloWorld;
begin
WriteLn('Hello, World!');
end.Run this:
- Select "Pascal" from the language dropdown
- Paste the code
- Click Run (Ctrl+R)
program ProgramName;
var
{ Variable declarations }
begin
{ Program statements }
end.{ This is a comment }
(* This is also a comment *)var
age: Integer;
height: Real;
initial: Char;
is_student: Boolean;
name: String;Data Types:
Integer- Whole numbersReal- Decimal numbersChar- Single characterString- TextBoolean- True/False
program OutputDemo;
begin
WriteLn('Hello, World!');
WriteLn('Age: ', 25);
WriteLn('Height: ', 5.9:3:1); { value:width:decimals }
end.program InputDemo;
var
name: String;
age: Integer;
begin
Write('Enter your name: ');
ReadLn(name);
Write('Enter your age: ');
ReadLn(age);
WriteLn('Hello, ', name, ' (age ', age, ')');
end.var
a, b, sum, diff, product, quotient: Integer;
begin
a := 10;
b := 3;
sum := a + b; { 13 }
diff := a - b; { 7 }
product := a * b; { 30 }
quotient := a div b; { 3 (integer division) }
end.Note: Use := for assignment (not =)
if x = 10 then WriteLn('Equal');
if x <> 5 then WriteLn('Not equal');
if x > 5 then WriteLn('Greater');
if x < 20 then WriteLn('Less');
if x >= 10 then WriteLn('Greater or equal');
if x <= 15 then WriteLn('Less or equal');if (age >= 18) and (is_student) then
WriteLn('Adult student');
if (age < 18) or (is_student) then
WriteLn('Young or student');
if not (is_student) then
WriteLn('Not a student');program GradeCalculator;
var
score: Integer;
begin
Write('Enter score: ');
ReadLn(score);
if score >= 90 then
WriteLn('Grade: A')
else if score >= 80 then
WriteLn('Grade: B')
else if score >= 70 then
WriteLn('Grade: C')
else
WriteLn('Grade: F');
end.program CaseExample;
var
choice: Integer;
begin
Write('Choose (1-3): ');
ReadLn(choice);
case choice of
1: WriteLn('Option 1');
2: WriteLn('Option 2');
3: WriteLn('Option 3');
else WriteLn('Invalid option');
end;
end.for loop:
var
i: Integer;
begin
for i := 1 to 5 do
WriteLn('Number: ', i);
end.Counting backwards:
for i := 5 downto 1 do
WriteLn('Countdown: ', i);while loop:
var
count: Integer;
begin
count := 0;
while count < 5 do
begin
WriteLn('Count: ', count);
count := count + 1;
end;
end.repeat...until loop:
var
count: Integer;
begin
count := 0;
repeat
WriteLn('Count: ', count);
count := count + 1;
until count >= 5;
end.procedure Greet(name: String);
begin
WriteLn('Hello, ', name, '!');
end;
begin
Greet('Alice');
Greet('Bob');
end.function Add(a, b: Integer): Integer;
begin
Add := a + b;
end;
var
result: Integer;
begin
result := Add(3, 5);
WriteLn('Result: ', result);
end.procedure PrintInfo(name: String; age: Integer; city: String);
begin
WriteLn('Name: ', name);
WriteLn('Age: ', age);
WriteLn('City: ', city);
end;
begin
PrintInfo('Alice', 25, 'New York');
end.var
numbers: array[1..5] of Integer;
i: Integer;
begin
numbers[1] := 10;
numbers[2] := 20;
numbers[3] := 30;
for i := 1 to 5 do
WriteLn('numbers[', i, '] = ', numbers[i]);
end.var
names: array[1..3] of String;
i: Integer;
begin
names[1] := 'Alice';
names[2] := 'Bob';
names[3] := 'Charlie';
for i := 1 to 3 do
WriteLn('Name: ', names[i]);
end.program Calculator;
var
a, b: Real;
op: Char;
result: Real;
begin
WriteLn('=== Simple Calculator ===');
Write('Enter first number: ');
ReadLn(a);
Write('Enter operator (+, -, *, /): ');
ReadLn(op);
Write('Enter second number: ');
ReadLn(b);
case op of
'+': result := a + b;
'-': result := a - b;
'*': result := a * b;
'/': begin
if b <> 0 then
result := a / b
else
begin
WriteLn('Error: Division by zero');
exit;
end;
end;
else WriteLn('Invalid operator');
end;
WriteLn('Result: ', result:5:2);
end.program GuessingGame;
var
secret, guess, attempts: Integer;
begin
WriteLn('=== Guessing Game ===');
secret := 42;
attempts := 0;
repeat
Write('Guess the number (1-100): ');
ReadLn(guess);
attempts := attempts + 1;
if guess < secret then
WriteLn('Too low!')
else if guess > secret then
WriteLn('Too high!')
else
begin
WriteLn('Correct! You guessed it in ', attempts, ' attempts!');
break;
end;
until guess = secret;
end.program MultiplicationTable;
var
n, i, j: Integer;
begin
WriteLn('=== Multiplication Table ===');
Write('Enter table size: ');
ReadLn(n);
WriteLn;
for i := 1 to n do
begin
for j := 1 to n do
Write(i*j:4, ' ');
WriteLn;
end;
end.program SumAverage;
var
numbers: array[1..10] of Integer;
sum, count, i: Integer;
average: Real;
begin
WriteLn('=== Sum and Average ===');
Write('How many numbers? ');
ReadLn(count);
for i := 1 to count do
begin
Write('Enter number ', i, ': ');
ReadLn(numbers[i]);
end;
sum := 0;
for i := 1 to count do
sum := sum + numbers[i];
average := sum / count;
WriteLn;
WriteLn('Sum: ', sum);
WriteLn('Average: ', average:5:2);
end.- Use descriptive names:
ageis better thana - Comment complex logic: Explain how it works
- Break code into procedures: Keep procedures small
- Test thoroughly: Try edge cases
- Use proper spacing: Make code readable
{ ❌ Wrong: Using = for assignment }
age = 25;
{ ✅ Right: Use := for assignment }
age := 25;
{ ❌ Wrong: Forgetting semicolon }
WriteLn('Hello')
WriteLn('World');
{ ✅ Right: Semicolons between statements }
WriteLn('Hello');
WriteLn('World');
{ ❌ Wrong: Array indices out of bounds }
var numbers: array[1..5] of Integer;
numbers[10] := 5; { Error! }
{ ✅ Right: Stay within bounds }
numbers[5] := 5;| Feature | Pascal | C | Python |
|---|---|---|---|
| Assignment | := |
= |
= |
| Output | WriteLn |
printf |
print |
| Input | ReadLn |
scanf |
input |
| Comments | { } or (* *) |
/* */ or // |
# or """ """ |
| Procedures | procedure |
void function |
def |
| Functions | function |
return_type function |
def |
- Start Simple: Begin with I/O programs
- Use Comments: Document your learning process
- Debug: Add WriteLn statements to check values
- Experiment: Modify examples to understand concepts
- Create a
.pasfile with your program - Select "Pascal" from the language dropdown
- Paste your code or load the file
- Click Run or press Ctrl+R
- Interact with the program in the Output panel
- Learn C for systems programming
- Explore Python for general programming
- Try BASIC for classic programming
- Learn Logo for turtle graphics
Happy Pascal programming!