Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EVERY PASCAL PROGRAM MUST FOLLOW A BASİC STRUCTURE. WHİLE THİS STRUCTURE İS VERY SİMİLAR TO KAREL
PROGRAMMİNG, THERE ARE SEVERAL DİFFERENCES. BELOW İS THE BASİC STRUCTURE THAT EVERY PASCAL PROGRAM MUST
FOLLOW.
PROGRAM ProgramName;
VAR
VariableName : VariableType;
VariableName : VariableType;
...
PROCEDURE ProcedureName;
variables here if necessary
BEGIN
Some Code;
END;
BEGIN
the main program block. It should be small and all
work should be delegated to the procedures and
functions.
It often consists of a WHILE loop that calls in
turn procedures and functions in the appropriate
order.
END.
NOTE: THE FUNCTİONS AND PROCEDURES CAN APPEAR İN ANY ORDER. THE ONLY REQUİREMENT İS THAT İF ONE PROCEDURE
OR FUNCTİON USES ANOTHER ONE, THAT LATTER ONE MUST HAVE BEEN DEFİNED ALREADY.
Variable Types
THERE ARE FİVE BASİC VARİABLE TYPES İN PASCAL: INTEGER, REAL, CHAR, BOOLEAN, AND STRING. THEY
ARE DEFİNED AS FOLLOWS :
I A POSİTİVE OR NEGATİVE İNTEGER BETWEEN A SMALLEST (NEGATİVE) AND A LARGEST NUMBER. IN
NT GENERAL THE SMALLEST AND LARGEST NUMBER POSSİBLE DEPENDS ON THE MACHİNE; FOR IBM PC
EG AND TURBO PASCAL THEY ARE:
ER SMALLEST INTEGER: -32766
RE CAN CONTAİN A REAL NUMBER İN SCİENTİFİC OR DECİMAL NOTATİON. THERE İS A LİMİT ON THE SİZE AND
AL ACCURACY OF THE REAL NUMBER THAT WİLL BE COVERED LATER. VALİD REAL NUMBERS ARE, FOR
EXAMPLE:
DECİMAL NOTATİON: 1.234 OR -34.5507
SCİENTİFİC NOTATİON: 5.0E-3 OR -7.443E3
CH ANY KEY ON THE KEYBOARD İS CONSİDERED A VALİD CHARACTER. CHARACTERS ARE USUALLY
AR ENCLOSED İN SİNGLE QUOTES. FOR EXAMPLE: '1' İS A CHARACTER, WHİLE 1 İS AN İNTEGER.
BO
OL
WE WİLL DEAL WİTH BOOLEAN VARİABLES LATER
EA
N
ST A STRİNG İS A COLLECTİON OF UP TO 255 CHARACTERS ENCLOSED İN SİNGLE QUOTES. FOR EXAMPLE:
RIN
'BERT' İS A STRİNG OF 4 CHARACTERS. MORE DETAİLS ABOUT STRİNGS WİLL FOLLOW LATER.
G
Writing Information
To write information on the screen, you can use the WRITE or WRITELN command. You can write the
content of variables or simple text. There are several variations:
WRİTİNG TEXT WRITE( WRİTES ANY TEXT ENCLOSED İN SİMPLE QUOTES ON THE SCREEN
'ANY
TEXT');
WRİTİNG WRITE( I İS AN İNTEGER VARİABLE
İNTEGERS I);
UNFORMATTED
WRİTİNG WRITE( I İS AN İNTEGER AND NUM İNDİCATES THE TOTAL POSİTİONS TO BE USED. IF THE
İNTEGERS
I:NUM); VALUE CONTAİNED İN THE VARİABLE I NEEDS MORE DİGİTS, NUM İS İGNORED.
FORMATTED
WRİTİNG REALS WRITEL X İS A REAL VARİABLE. WİLL ALWAYS WRİTE THE REAL NUMBER İN SCİENTİFİC
UNFORMATTED N(X); NOTATİON AND İS ALMOST NEVER WHAT YOU WANT.
WRİTİNG REALS WRITEL X İS A REAL VARİABLE, NUM1 İS THE TOTAL AMOUNT OF DİGİTS TO USE
FORMATTED N(X:NUM (İNCLUDİNG SİGN AND PERİOD) AND NUM2 İS THE NUMBER OF DİGİTS AFTER THE
1:NUM2) PERİOD.
;
NOTE: THE SAME RULES APPLY FOR THE COMMAND WRITELN BUT THİS COMMAND ALSO POSİTİONS THE CURSOR TO THE
FİRST POSİTİON OF THE NEXT LİNE.
YOU CAN COMBİNE WRİTTİNG TEXT AND MORE THAN ONE VARİABLE BY SEPERATİNG THE İNDİVİDUAL COMPONENTS BY A COMMA.
HERE İS AN EXAMPLE:
PROGRAM Test;
VAR
x : REAL;
i : INTEGER;
j : INTEGER;
BEGIN
x := 12.449;
i := 10;
j := -300;
WRITE('This is some text');
WRITELN('Unformatted integer ',i);
WRITELN('Unformatted integer computation ',i*i);
WRITELN('formatted integer',i:4);
WRITELN('formatted integer',j:4);
WRITELN('Unformatted real ',x);
WRITE('Formatted real');
WRITE(x:8:2);
WRITELN('all in one line');
END.
WHİCH WİLL PRODUCE THE FOLLOWİNG OUTPUT:
This is some textUnformatted integer 10
Unformatted integer computation 100
formatted integer 10
formatted integer-300
Unformatted real 1.24490000000E+01
Formatted real 12.45all in one line
Functions
FUNCTİONS PROVİDE A FLEXİBLE METHOD TO APPLY ONE FORMULA MANY TİMES TO POSSİBLY DİFFERENT VALUES. THEY ARE
COMPARABLE TO PROCEDURES BUT
FUNCTİONS ARE OF ALWAYS OF A CERTAİN TYPE
THE FUNCTİON NAME MUST APPEAR AT LEAST ONCE İNSİDE THE DEFİNİTİON
BEGIN
WRITE('Area of circle with radius 2.0: ');
WRITELN(CircleArea(2.0):6:1);
WRITE('Area of circle with radius 5.0: ');
WRITELN(CircleArea(5.0):6:1);
WRITE('Enter your own radius: ');
READLN(radius);
WRITE('Area of circle with radius ', radius:3:1,': ');
WRITELN(CircleArea(radius)); { ugly - formatting missing for real }
radius := 5.0;
radius := CircleArea(radius);
WRITELN(radius); { can you guess the output ? }
END.
GetNumberTo
Convert;
DoTheConver
sion;
DisplayTheA
nswer;
Wait;
END;
END;
END.
(bgw)