Turbo Pascal 7.0 Programming Guide
Turbo Pascal 7.0 Programming Guide
3/ Pascal onf High Level Programming Language jzihf a&;om;aom y&k* d &rf
jzpfNyD;? pwifavhvmoifMum;&mwGif &kd;&Sif;vG,fulaom oabmw&m;rsm;jzihf zefwD;
xm;ygonf/ ocsmF ESio fh yd q
HÜ idk &f mwGucf surf rI sm;? tcsut
f vufrsm; xde;f odr;f wGucf surf I
pepf? todÓPftwkEiS w fh yk vkyaf qmifjcif;(Simulation) ponfwu Ykd kd vkyaf qmifEikd o
f nfh
tjyif vufawGUe,fy,fwGifyg tokH;jyKEkdifonhf pGrf;yum;&Sdygonf/
Computer Programming
4/ Programming qkdonfrSm uGefysLwmtwGuf oD;oefYtokH;csrI (Application)
wpfcu k dk vkyaf qmifEidk af p&ef ñTeMf um;csurf sm;\,kwadå A'qufE,
G rf rI sm;ukd pDpOfa&;om;
onhf tvkyjf zpfygonf/ Programmer rsm;onf trsm;tm;jzihf Program rsm;a&;om;
&ef High Level Programming Language rsm;ukd tokH;jyKa&;om;avh&Sdygonf/
Program \t&if;tjrpfrsm;ukd Computer rS od&e dS m;vnfap&efEiS fh ñTeMf um;csurf sm;ukd
vku
d ef mvkyaf qmifEidk &f eftwGuf pufem;vnfaombmompum; (Machine Language )
tjzpfokdY ajymif;vJay;&ygonf/
uGefysLwmvufpJG 2
Text Area
pm(odkYr[kwf)
y½dk*&rfa&;rnfhae&m
F1= Help, F2=Save, F3=Open, Alt+F9=Compile, F9=Make, Alt+F10=Local Menu
yHk(1) Status bar
Turbo Editor Commands
10/ Pascal Program \ Cursor movement Commands rsm;tm; toHk;jyKyHkudk
atmufygtwdkif; azmfjytyfygonf-
(u) Left Arrow (or) Ctrl + S / Cursor a&muf½Sdaeonfh Character \
b,fbufodkY wpfvHk;pDa½TUjcif;/
( c) Right Arrow (or) Ctrl + D/ Cursor a&muf½Sdaeonfh Character
\ nmbufodkY wpfvHk;pDa½TUjcif;/
( *) Ctrl+A (or) Ctrl + Left Arrow/ Cursor a&muf½Sdaeonfhae&mrS
b,fbuf½Sd Word \a½SUqHk;pmvHk;½Sd&mae&modkY oGm;jcif;/
(C) Ctrl+F (or) Ctrl + Right Arrow/ Cursor a&muf½Sdaeonfhae&m
rS nmbuf½Sd Word \a½SUqHk;pmvHk;½Sd&mae&modkY oGm;jcif;/
( i) Ctrl+E (or) Up Arrow/ Cursor a&muf½adS eaom pmaMumif;rS tay:
wpfaMumif;odkY oGm;jcif;/
( p) Ctrl+H (or) Down Arrow/ Cursor a&muf½Sdaeaom pmaMumif;rS
atmufwpfaMumif;odkY oGm;jcif;/
uGefysLwmvufpJG 4
14/ Alt+R onf Run Menu udk wkduf&kdufac:,ljcif;jzpfNyD;? 4if; Menu atmufrS
Run ukd a&G;NyD;aemuf Enter ESdyfygu y&kd*&rfukd Run rnfjzpfygonf/
16/ Alt ESihf F ukd wJGESdyfjcif;jzihf File Menu ukd a&mufoGm;apygonf/ 4if; Menu rS
zkid t
f opfa&;jcif; (New) ? zkid zf iG jfh cif;(Open) ? a&;Ny;D aomzkid u
f o
dk rd ;f jcif;(Save)? y½d*k &rfrS
xGufjcif;(Exit) ponfwkdYukd a&G;cs,ftokH;jyKEkdifygonf/
20/ 4if;y½d*k &rfukd RUN Ny;D aemuf tajzjyefMunh&f ef Alt+F5 ukd wJEG ydS yf gu uGeyf sLwm
Screen ay:wGif atmufygtwdkif; awGU&ygrnf-
Enter the Radius = 5
AREA OF CIRCLE = 78.50
File Edit Search Run Compile Debug Tools Options Windows Help
Program AREA;
VAR A, P, PI:Real;
Begin
PI:=3.14;
WRITE ('ENTER THE RADIUS=');
READ (R);
A:=PI*R*R;
WRITELN ('AREA OF CIRCLE=',A:5:2);
END.
yHk(3)
Running the Pascal program
34/ Pascal Program wpfyk'fudk a&;om;NyD;ygu rSef^rrSef ppfaq;prf;oyf&ygrnf/
xdo
k pYkd pfaq;prf;oyf&mwGif oufqikd &f m Menu rsm;rSwpfqifh tqifq h ifv
h yk af qmif&ygrnf/
4if;udk y½dk*&rf Run jcif;[k ac:qdyk gonf/ y½d*k &rfwpfy'k af &;Ny;D ygu4if;y½d*k &rfukd OD;pGm
odr;f &ygrnf/ xdo k jYkd yKvyk jf cif;udk File Save vkyjf cif;[kac:ygonf/ vkyaf qmifyrkH mS Menu
Bar ay:&dS File udk oGm;&ygrnf/ (odr Yk [kw)f Keyboard rS (Alt + F) Alt ESifh F wdkYudk
wpfNyKid wf nf; wJEG ydS &f ygrnf/ xdt k cg File Menu atmufwGif Pulldown Menu wpfck
usvmonfudk yHk(4)ygtwdkif;awGUjrif&rnf/
File
New
Open F3
Save F2
Save as ...
Save all
Changer dir ...
Print
Printer setup...
DOS shell
Exit Alt + X
yHk(4)
11 Turbo Pascal 7.0
35/ File Menu atmuf½Sd Pull down Menu rS teDa&mifjzifh azmfjyxm;aom pmvH;k
wpfvHk;udk Keyboard rS½dkufESdyfí oufqdkif&mvkyfief;udk jyKvkyfEdkifonf/ 4if; File
odr;f vdyk gu File Menu atmufrS Save udka½G;NyD;? Enter udEk ydS &f ygrnf/ oufqikd &f m
Menu a½G;&mwGifvnf; Arrow Key rsm;udk toHk;jyKa½G;cs,f&rnf/ teDa&mifpmvHk; S
ukd ½du
k Ef ydS v
f Qiv
f nf; twlwyl ifjzpfygonf/ F2 udEk ydS v
f Qiv
f nf; &ygonf/ xdt k cg Rename
Box wpfcak y:vmNy;D ? Box xJwGif C:\TP\[Link] [kay:aernf/ 4if;ae&mwGif
rdrdodrf;vdkonfhtrnfESifh topfjyif½dkufNyD;? Enter udk ESyd v f u
kd yf gu zdik u
f o
kd rd ;f oGm;rnf/
36/ 4if;y½dk*&rfudk Run rnfqykd gu Alt udk yxrOD;pGmESdyfxm;NyD;aemuf R udk ESdyf&
rnf/ xdt
k cg Run Menu atmufwGif Pull down Menu wJGwpfck ay:vmygrnf/ 4if;
Menu rS Run udk a½G;í Enter ukE d ydS &f ygrnf/ (odrYk [kw)f Run Menu wGif R rSm
teDa&mifpmvHk; jzpfaeNyD;? 4if; R wpfvHk;wnf;udk ½dkufESdyfvdkufjcif;jzifhvnf; y½dk*&rfudk
pufrS tvdkvdk Run NyD;om;jzpfayrnf/ Run Menu udk yHk(5)ygtwdkif; awGUjrif&ygrnf/
Run
Run
Step over
Trace into
Go to cursor
Program reset
Parameters
yHk(5)
yHk(6)
40/ Pascal y½dk*&rfwpfyk'fa&;NyD;ygu Menu Bar rS Compile Menu uda k &G;cs,&f ef
Alt + C ESyd v
f ukd yf gu Pull Down Menu usvmrnf/ 4if; Menu rsm;xJrS Distination
udk a½G;cs,fyg/ NyD;vQif Enter udEk ydS yf gu 4if; Distination pmvHk;ab;&dS Memory pmvH;k
onf Disk pmvHk;odkY ajymif;oGm;rnf/ 4if;aemuf y½dk*&rfudk Run &ef Menu Bar rS Run
Menu uda k &G;cs,&f ef Alt + R ESyd Nf y;D ? Enter udEk ydS v
f u
kd yf gu y½d*k &rfukd Run Ny;D jzpfygrnf/
aemufwpfenf;rSm Ctrl + F9 wJGESdyfyguvnf; y½dk*&rfudk Run jcif;yif jzpfygonf/
41/ vkyfaqmifcsufrsm;NyD;ygu [Link] zdkifwpfzdkifESifh [Link] zdkifwpfzdkif
wdYk jzpfvmrnf/ Pascal y½dk*&rfwpfyk'fudk DOS Prompt rSac:Munfhí&ygonf/
Oyrm-
C:\TP\BIN>Type [Link]
13 Turbo Pascal 7.0
42/ Keyboard rS Type [Link] ud k ½ d k u f N yD ; ? Enter ( ↵ )ES d y f v d k u f y gu
rlva&;xm;aom y½dk*&rfudkjrifawGU&ygrnf/ EXE zdkifudk xdkuJhodkYac:Munfhír&yg/
xdkYenf;wl [Link] y½dk*&rfudk DOS Prompt rS Run MunfEh ikd yf gonf/
Oyrm-
C:\TP\BIN> [Link]
Variable
45/ Variable Name qdo k nfrmS Pascal y½d*k &rfwpfy'k w
f iG f xnfo
h iG ;f toH;k jyK xm;aom
udef;½Sifrsm;\trnfrsm;udk ac:jcif;jzpfygonf/ y½dk*&rfrsm;wGif Variable wdkUudk
xnfhoGif;toHk;jyKaomtcg owfrSwfcsufrsm;½Sdygonf/
46/ Variable Name rsm;\ tppmvHk;onf A rS Z (Character)rsm;xJrS wpfvHk; udk
toHk;jyKí a&;&ygrnf/ tppmvHk;onf *Pef;jzifh pa&;ír&yg/
Oyrm -
VAR A1, B1, X1, Y1
Constant
53/ Constant qkdonfrSm y&kd*&rfrsm;wGif rajymif;vJaom udef;aowefbkd;rsm;ukd
ac:ygonf/ Constant wGif Numeric ESihf String [líESpyf idk ;f xyfrcH jGJ cm;xm;ygonf/
Numeric constant rSm taygif;? tEkwy f gaom ude;f aorsm;yg0ifNy;D (Real)'or*Pef;
ESihf Integer ude;f jynh*f Pef;rsm;vnf; yg0ifygonf/ String constant rSm Character
rsm;jzihf pkxm;aom words (okrYd [kw)f 0guspum;pkwu Ydk dk tuk;d tum;jy trSwo
f auFw
(] }) jzihf a&;om;az:jyjcif;ukd ac:qkdygonf/
54/ Numeric constant rsm;rSm atmufygtwdi
k ;f jzpfygonf-
(u) Integer constant ( + , -)/
( c) Real constant ( + , - ) /
15 Turbo Pascal 7.0
55/ String constant rsm;rSm atmufygtwdi
k ;f jzpfygonf-
(u) 'Number'/
( c) character/
59/ tu,fí Writeae&mwGif Writeln jzifh Writteln (' Enter the Radius=')
[ka&;cJyh gu uGeyf sLwm screen wGif atmufygtwdkif;awGU&ygrnf-
Enter the Radius=
60/ Writeln command udk oH;k xm;aomaMumifh aemufwpfvi
dk ;f okUd cursor qif;cdik ;f
jcif; jzpfygonf/
61/ tvm;wl Read onf input command jzpfNyD;? 4if;aemufwGif Keyboard rS
Variable wefbkd;ukd &kdufxnfhay;&ef tokH;jyKjcif;jzpfygonf/
62/ Read (R); R onf Radius \twka d umufjzpfygonf? 4if;twkid ;f Run vku
d yf gu
cursor ae&mwGif Radius wefbkd;ukd Keyboard rS &kdufxnfhay;&ygrnf/
uGefysLwmvufpJG 16
RESERVED WORDS
ABSOLUTE GOTO REPEAT
AND IF SET
ARRAY IMPLEMENTION SHL
BEGIN IN SHR
CASE INLINE STRING
CONST INTERFACE THEN
CONSTRUCTOR INTERRUPT TO
DESTRUCTOR LABLE TYPE
DIV MOD UNIT
DO NIL UNTIL
DOWNTO NOT USES
ELSE OBJECT VAR
END OF VIRTUAL
EXTERNAL OR WHILE
FILE PACKED WHITE
FOR PROCEDURE XOR
FORWARD PROGRAM
FUNCTION RECORD
17 Turbo Pascal 7.0
ARITHMETIC OPERATOR
65/ Pascal y&kd*&rfwGifxnfhoGif;tokH;jyKaom Arithmetic Operator oauFw
rsm;rSm atmufygtwdik ;f jzpfygonf-
Arithmetic Meaning Example
Operator
+ taygif; (addition) a+b
- tEkwf (subtraction) x-y
* tajr§muf (multiplication) a*b
/ tpm; (division) a/b
DIV udef;jynhftpm; (integer division) x DIV y
MOD pm;<uif;udef;jynfh (integer modulus) x mod y
EXP yg0gwifjcif; (Exponentional) EXP (b*LN (a))
Example (1)
66/ ocFsmqkdif&moauFw(Arithmetic Operator)rsm;ukd toH;k jyKí Pascal y&kd*&rf
rsm;jzifh wGufcsuf&mwGif atmufygtwdkif; xnfhoGif;a&;om;tokH;jyKEkdifygonf-
PROGRAM ARITHMETIC_OP;
VAR X, Y: INTEGER;
BEGIN
X: = 10:Y: = 5;
WRITELN (' X + Y = ' , X + Y );
WRITELN (' X - Y = ' , X - Y );
WRITELN (' X * Y = ' , X * Y );
WRITELN (' X / Y = ' , X / Y );
WRITELN (' X DIV Y = ' , X DIV Y );
WRITELN (' X MOD Y = ' , X MOD Y );
WRITELN (' X TO THE POWER OF Y = ' , EXP (Y * LN (X)));
END.
(u) X= 10 , Y= 5 ; [k yHkaowefbkd;ay;xm;ygonf/
( c) WRITELN (' X + Y = ' , X + Y ); [ka&;xm;NyD;? (10+5=15) [k
tajzwGufcsufay;ap&ef a&;om;xm;jcif;jzpfygonf/
( *) WRITELN (' X - Y = ' , X - Y );[k a&;xm;NyD;? (10-5= 5) [k
tajzxkwfay;ap&ef a&;om;xm;jcif;jzpfygonf/
(C) WRITELN (' X * Y = ' , X * Y ); [ka&;om;jcif;jzifh (10*5= 50) [k
tajzxkwfay;ygrnf/
( i) WRITELN (' X / Y = ' , X / Y ); [k a&;om;jcif;jzifh 10/ 5 =
2.0000000000 E+00 [k tajzxkwfay;ygrnf/ tajzudk 'or twd
tusEiS hf azmfjyygrnf/
( p) WRITELN (' X DIV Y = ' , X DIV Y ); [k udef;jynhfrsm;pm;jcif;udk
ajz&Si;f &mwGif 10 DIV 5=2 [k tajzxkwaf y;ygrnf/ tajzudk ude;f jynfh
ESiahf zmfjyygrnf/
(q) WRITELN (' X MOD Y = ' , X MOD Y ); udk ajz&Sif;aomtcg
ude;f jynht f csi;f csi;f pm;Ny;D aemuf t<uif;udk jyygrnf/ xkad Mumifh10 MOD
5 = 0 [k tajzazmfjyygrnf/
( Z) WRITELN (' X TO THE POWER OF Y = ' , EXP (Y * LN (X)));
ukd &Sif;vQif EXP (Y * LN (X) wefb;dk ukd &Sm,ljcif;jzifh tajzudk X TO
THE POWER OF Y = 1.0000000000E+05 [kazmfjyygrnf/
Example (2)
75/ *Pef;okH;vkH; a+b+c wkdYukd y&kd*&rfjzifh aygif;jcif;? ysrf;rQ&Smjcif;wkdYukd wGufcsuf
azmfjyaom y&kd*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM THREENUM;
VAR A, B, C: REAL;
BEGIN
WRITE (' ENTER THREE NUMBER = ' );
READLN (A, B, C);
WRITE (' ANSWER A + B = ' , A+B: C:2);
WRITELN (' AVERAGE A, B= ' ( A+ B)/2: 6:2);
19 Turbo Pascal 7.0
WRITELN (' ANSWER B + C '= : 6:2);
WRITELN (' AVERAGE B, C = ', (B+C)/2: 6:2);
WRITELN (' ANSWER C + A =' ,C+A :6:2);
WRITELN (' AVERAGE C, A =' ,(C+A)/2:6:2);
END.
76/ txufygy&k*d &rfudk Threenum ; [ktrnfay;xm;ygonf/ y½d*k &rf\ vkyaf qmifykH
tqifhqifhrSm atmufygtwdkif;jzpfygonf-
(u) VAR A, B, C wkdYudk REAL tjzpf oufrSwfay;xm;ygonf/
( c) ENTER THREE NUMBER = pmwef;ay:ap&ef WRITE (' ENTER
THREE NUMBER = ' ); [k a&;om;ygonf/
( *) A, B, C 'or*Pef;okH;vkH;udk &kdufxnfhay;Ekdif&ef READ ( A, B, C):
[k a&;om;&ygrnf/
(C) WRITELN ('ANSWER A+B = ', A+ B: 6:2); rSm *Pef;ok;H vk;H teuf
A ESifh B ukd aygif;NyD;? tajzxkwfay;&ef jzpfygonf/ *Pef; 6 vkH;pm
,lckdif;NyD;? 'or2 ae&mjzwf&ef 6:2 [ka&;om;xm;ygonf/
( i) WRITELN ('AVERAGE A, B = ', (A+ B)/2: 6:2); A ESifh B ukd
aygif;NyD;? 2 ESifhpm;vQif ysrf;rQ*Pef;ukd &ygrnf/
( p) WRITELN ('ANSWER B+C = ' , A+ B: 6:2); rSm *Pef; B ESifh C
ukd aygif;NyD;? tajzxkwfckdif;jcif;jzpfygonf/
(q) WRITELN ('AVERAGE B, C = ', (B+C)/2: 6:2); rSm*Pef; B ESifh
C ukd aygif;NyD;? tajzxkwfjcif; jzpfygonf/
( Z) WRITELN ('ANSWER C+A = ', B+C: 6:2); rSm*Pef; C ESifh A ukd
aygif;NyD;? tajzxkwfjcif;jzpfygonf/
( ps) WRITELN ('AVERAGE C+A = ', (C+A)/2: 6:2); rSm*Pef; C ESifh
A ukdaygif;NyD;? 2 ESifhpm;vQif ysrf;rQ*Pef;ukd &&Sdrnfjzpfygonf/
Example (3)
79/ udef;jynfh*Pef;ESpfvHk;udk ½dkufxnfhapNyD; 4if;*Pef;ESpfvHk;udk aygif;í &&dSaom
tajzudk azmfxwk af y;aom y½d*k &rfjzpfygonf/ 4if;y½d*k &rfukd atmufygtwdik ;f a&;om;
Edik yf gonf-
PROGRAM SUM1;
(*THIS PROGRAM ADDS ANY TWO NUMBER*)
USES CRT;
VAR A,B,C:INTEGER;
BEGIN
CLRSCR;
WRITE('ENTER TWO NUMBER = ');
READLN(A);
READLN(B);
C:=A+B;
WRITELN('THE SUM IS = ',C);
END.
Example (4)
82/ udef;ESpfvHk;wdkY aygif;jcif;? Ekwfjcif;wdkYudk ½dk;½dk;½Sif;½Sif;a&;om;xm;jcif;jzpfygonf/
rodudef; owfrSwfjcif;r&dSbJ aygif;vdkEkwfvdkaom udef;wdkYudk Program xJwGif yHkao
xnfhoGif;a&;om;xm;ygonf/ 4if;y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM SUB_SUM;
BEGIN
WRITE('THE ANSWER IS = ');
WRITELN(9-5);
WRITE('THE ANSWER IS = ');
WRITELN(5+4);
END.
83/ txufygy&k*d &rfudk SUB_SUM; [k trnfay;xm;ygonf/ y½d*k &rftwGi;f wGif
yHkaowefbdk;tjzpf 9-5 ESifh 5+4 wdkYudk xnfhoGif;a&;om;xm;ojzifh tajzudk atmufyg
twdkif; awGU&ygrnf-
THE ANSWER IS = 4
THE ANSWER IS = 9
uGefysLwmvufpJG 22
avhusifhcef;(1)
84/ rlaoowfrSwfxm;aom *Pef;wefbdk;rsm;udk y½dk*&rfjzifh wGufcsufapNyD;aemuf
&&dv
S monft h ajzudk azmfjyaprnfyh ½d*k &rfukd atmufygtwdik ;f a&;om;avhvmEdik yf gonf-
PROGRAM ADDITION;
USES CRT;
BEGIN
CLRSCR;
WRITELN('ADDITION');
WRITELN('--------');
WRITE(‘FIRST ANSWER IS =’);
WRITELN(5+7);
WRITE(‘SECOND ANSWER IS =’);
WRITELN(15+25+50);
WRITE(‘THIRD ANSWER IS =’);
WRITELN(100+150+200+250);
END.
avhusifhcef;(2)
85/ twdik ;f twmjzpfonfh ay rS vufr odYk ajymif;vJonfh wefb;kd rsm;udk y½d*k &rfjzifh
wGufcsufapNyD;aemuf &&dSvmonfhtajzudk azmfjyaprnfhy½dk*&rfudk atmufygtwdkif;
a&;om;avhvmEdkifygonf-
PROGRAM CONVERSION;
USES CRT;
VAR F,INCH:INTEGER;
BEGIN
CLRSCR;
WRITE(‘ENTER FEET =’);
READLN(F);
INCH :=F*12;
WRITELN(‘THE ANSWER IS = ‘, INCH, ‘ INCHES’);
END.
23 Turbo Pascal 7.0
avhusifhcef;(3)
86/ tylcsdeftwdkif;twmjzpfonfh pifwD*&dwf rS zm&if[dkuf odkY ajymif;vJonfh
wefb;kd rsm;udk y½d*k &rfjzifh wGucf suNf y;D aemuf &&dv
S monft
h ajzudk azmfjyaprnfyh ½d*k &rfukd
atmufyg twdkif; a&;om;avhvmEdkifygonf-
PROGRAM CONVERSION_1;
VAR CEL,FAH:REAL;
BEGIN
WRITE(‘ENTER DEGREE IN CELSIUS=’);
READ(CEL);
FAH:=1.8*CEL+32;
WRITELN(‘EQUIVALENT DEGREE IN
FAHRENHEIT=’,FAH:5:2);
END.
avhusifhcef;(4)
87/ tylcsdeftwdkif;twmjzpfonfh zm&if[dkuf rS pifwD*&dwf odkY ajymif;vJonfh
wefb;kd rsm;udk y½d*k &rfjzifh wGucf suNf y;D aemuf &&dv
S monft
h ajzudk azmfjyaprnfyh ½d*k &rfukd
atmufyg twdkif; a&;om;avhvmEdkifygonf-
PROGRAM CONVERSION_2;
VAR FAH,CEL:REAL;
BEGIN
WRITE(‘ENTER FAHRENHEIT DEGREE=’);
READLN(FAH);
CEL:=5/9*(FAH-32);
WRITELN(‘EQUIVALENT DEGREE IN CELSIUS=’,CEL:5:2);
END.
uGefysLwmvufpJG 24
avhusifhcef;(5)
88/ zef&Sifrsm;udk toHk;jyKí wefbdk;rsm;udk wGufcsufNyD;aemuf &&dSvmonfhtajzudk
azmfjyaprnfhy½dk*&rfudk atmufygtwdkif; a&;om;avhvmEdkifygonf-
PROGRAM FUNC;
USES CRT;
BEGIN
CLRSCR;
WRITELN (‘ABS(-2.25) = ‘,ABS(-2.5));
WRITELN (‘CHR(5) = ‘,CHR(5));
WRITELN (‘COS(60) = ‘,COS(60*3.1415/180));
WRITELN (‘ODD(-5) = ‘,ODD(-5));
WRITELN (‘ORD(“A”) = ‘,ORD(‘A’));
WRITELN (‘PRED(“B”) = ‘,PRED(‘B’));
WRITELN (‘ROUND(2.49) = ‘,ROUND(2.49));
WRITELN (‘ROUND(2.51) = ‘,ROUND(2.51));
WRITELN (‘SUCC(2) = ‘,SUCC(2));
WRITELN (‘TRUNC(2.99) = ‘,TRUNC(2.99));
END.
25 Turbo Pascal 7.0
Chapter (2)
DECISION MAKING STATEMENTS
IF Statement
1/ IF Statement qdo k nfrmS Pascal y½dk*&rfwGif ( Condition ) taMumif;t&m
rsm;? ( True / False ) rSef ^ rSm; onfrsm;udk ppfxkwf&mwGif toHk;jyKjcif;jzpfonf/ IF udk
toHk;jyKonfhtcg 4if;aemufrS Condition udk ppfxkwfNyD; Then qdkonfh Reserved
word pum;vHk;udk a&;&ygrnf/ Condition rSefvQif Then aemufrS Statement udk
tvkyv f yk yf grnf/ 4if;tvkyNf y;D qH;k ygu ( Next Line ) aemufwpfvikd ;f odYk oGm;ygrnf/
tu,fí IF aemufrS Condition rSm;cJhvQif Then aemufrS Statement udk tvkyfrvkyfyJ
aemufwpfvikd ;f odYk oGm;ygrnf/ IF Statement \a&;xHk;rSm atmufygtwdkif;jzpfygonf-
IF condition THEN statement [ ELSE statement ];
Example (1)
4/ IF THEN ELSE yg0ifonfh y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM EXAM;
VAR SUB1, SUB2, SUB3 : INTEGER;
BEGIN
WRITE ('ENTER A MARKS' );
READLN ( SUB1, SUB2, SUB3) ;
IF ( SUB1 < 50) OR ( SUB2 < 50) OR ( SUB3 < 50 )
THEN WRITELN ( 'FAIL' )
ELSE WRITELN ('PASS' );
END.
5/ txufygy½d*k &rfwiG f SUB1, SUB2, SUB3 yg0ifaom trSwpf m&if; jzifh pmar;yJG
atmif^½IHk; udk wGufcsufonfh y½dk*&rfwpfyk'fjzpfygonf/ y½dk*&rftrnfudk EXAM [k
trnfay;xm;ygonf/ toHk;jyKrnfhbmom&yfoHk;ckudk SUB1, SUB2, SUB3 [ktrnf
ay;NyD;? Declaration tydkif;wGif xnfhoGif;aMujimxm;ygonf/ y½dk*&rf ppcsif; SUB1,
SUB2, SUB3 \ trSwr f sm;udk wpfcck si;f ½du
k x
f nfEh ikd &f ef a&;xm;jcif; jzpfygonf/WRITE
aemufrS uGif;zGifh? uGif;ydwfxJwGif a&;xm;aompmom;rSm y½dk*&rfudk Run vdu k yf gu
uGefysLwm Screen ay:wGif jrifawGY&ygrnf/ READLN aemufrS pmom;onf
bmom&yftrSwrf sm;udk Keyboard rS ½du k x f nfah y;&rSmjzpfygonf/ SUB1 onf 50 xuf
i,fvQif (odkYr[kwf) SUB2 onf 50 xufi,fvQif (odkYr[kwf) SUB3 onf 50 xuf
i,fvQif THEN aemufrS FAIL qdo k nfph mom;udk azmfjyay;rnf jzpfygonf/ bmom&yf
wpfcpk oD nf 50 xufi,faeygu FAIL udo k m azmfjyay;ygrnf/ tu,fí bmom&yfwikd ;f
onf 50 xufBuD; (odkYr[kwf) 50 ESifhnDaeygu ELSE aemufrS pmom; jzpfonfh PASS
udk azmfjyygrnf/ 4if; y½d*k &rfrmS IF THEN ELSE Statement udk toH;k jyKNy;D ? ausmif;om;
trSwfpm&if;rS atmif? ½HI; udk cJGjcm;ay;Edkifygonf/
Using The Logical Operators
6/ Logical Operators/ atmufygtwdkif; azmfjytyfygonf-
(u) (AND) wpfcEk iS w
hf pfc/k
( c) (OR) wpfcrk [kwf wpfc/k
( *) (NOT) wpfcrk rS [kw/f
27 Turbo Pascal 7.0
7/ AND Logical operator udkoHk;NyD; Program statement rsm;udk ppf&mwGif
Condition rsm; tm;vHk;rSefuef&rnf/ odkYrSom aemufrS&Sdaomtvkyfudk rSefuef pGmvkyf
ay;ygrnf/ tu,fí Condition rsm;rudkufnDvQif aemufrStvkyfudk vkyfawmhrnf
r[kwyf g/
8/ IF ( SUB1 >= 50) AND ( SUB2 >= 50) AND ( SUB3 > = 50 ) THEN
WRITELN ('PASS" ); sentence wGif SUB1 onf trSwf 50 ESifh nDvQifnD
rnDvQifBuD;ygu (PASS) atmifonf[k jycdkif;xm;ygonf/ xdkYtwl SUB2, SUB3
wdkYonfvnf; 50 ESifh nD (odkYr[kwf) BuD;ygu[koHk;bmomvHk;ppfxkwfNyD; tv,fwGif
AND ESifh qufoG,fxm;aomaMumifh THEN aemufrS ( PASS ) atmifonfqdkaom
pmom;jy&ef Condition oH;k ckv;kH udu k n f rD &I &dS ygrnf/ ESpb
f momudu
k nf ND y;D usew
f pfbm
om rudu k f nDcyhJ gu aemufrt S vkyu
f kd qufrvkyaf wmhyg/ xdaYk Mumifh ( AND ) ESiphf pfvQif
oH;k ckv;kH udu k n
f rD &I &dS ygrnf/ txufyg sentence &Sd Condition awGudk ajyvnf&efrSm
oH;k bmomvH;k 50 ESihf txuf&&dS ygrnf/
9/ Logical operator OR udkoHk;NyD;? Program statement &Sd Condition rsm;udk
ppfxkwf&mwGif Condition tm;vHk;ajyvnfp&mrvdkbJ wpfckckESifhajyvnfygu tvkyf
vkyyf gonf/ ESpcf pk vH;k ESihf ajyvnfyguvnf; tvkyv
f yk yf gonf/ IF ( SUB1 < 50) OR
( SUB2 < 50) OR ( SUB3 < 60 ) THEN WRITELN ('FAIL' ); wGif SUB1,
SUB2 onf 50 xufi,fNyD;? SUB3 onf 60 xufi,fonfqdkaom Condition wGif
tenf;qHk;wpfckrSefvQif THEN aemufrS Statement udk aqmif½Gufay;ygrnf/
10/ Logical operator (NOT) rSm rSefaom Condition udk ajymif;jyef,lí r[kwfcJh
vQif then aemufrS pmom;udk tvkyfqufvkyfcdkif;jcif;jzpfygonf/ Oyrm - IF
NOT(SUB<50) THEN WRITELN ( 'PASS' ); wGif SUB onf 50 xuf i,fonfrmS
r[kwcf vhJ Qif qdo
k nfh oabmoufa&mufNy;D ?THEN aemufrS tvkyu
f kd qufvyk af y;ygrnf/
xdkYaMumifh 50 xufi,fvQif ( FAIL ) jy&rnfhtpm; NOT udk toHk;jyKxm;aomaMumifh
50 xufi,fonfrSm rrSefawmhbJ ( PASS ) udk azmfjyay;ygrnf/
uGefysLwmvufpJG 28
Relational Operators
11/ IF Statement ESifh ppfxkwfaom y½dk*&rfrsm;wGif atmufazmfjyyg Relational
Operator oauFwrsm;udkyg od&Sdxm;&rnf jzpfygonf-
Relational Operators Meaning
< ( Less than ) i,faom
= ( Equal to ) nDaom
< = ( Less than or Equal ) i,fonf(odkYr[kwf)nDonf/
> ( Grater than ) BuD;aom
> = ( Greater than or Equal ) BuD;onf (odkYr[kwf) nDonf/
< > ( Not Equal to ) rnDaom
12/ txufyg Relational Operator rsm;udk IF ESifhppfxkwfaomy½dk*&rfrsm;wGif
tvsO;f oifo
h vdx
k nfoh iG ;f toH;k jyKygonf/ 4if;tjyifatmufaz:jyyg Logical Operator
rsm; udkvnf; oifhawmfovdk olYae&mESifhol wJGzufí toHk;jyKMuygonf/
13/ Relational Operators rsm;wGif ( < ) i,fonfqdkonfh oauFwrSm rdrd
owfrwS xf m;aom owfrw S cf suw
f pfco
k nf 2 xufi,fonfukd qdv
k ckd sio
f nft
h cg num
< 2 [ka&;om;az:jy&ygrnf/ ( = ) nDonfqdkaom oauFwrSm rdrdowfrSwfxm;aom
owfrSwfcsufwpfckonf 2 ESihf nDonfqykd gu num = 2 [ka&;om; azmfjy&ygrnf/ <=
oauFwrSm num onf 2 tygt0if 2 xufi,faom *Pef;rsm;udk qdkvdkygonf/ num
<= 2 [ka&;om;ygrnf/ ( > ) Bu;D onfqa kd om oauFwrSm num onf 2 xuf Bu;D &rnf/
num > 2 [k a&;om;&ygonf/ ( > = ) oauFwrSm num onf 2 tygt0if 2 xufBu;D aom
*Pef;rsm;udk qdvk ykd gonf/ num > = 2 [ka&;om;ygonf/ ( < > ) oauFwrSm num
onf 2 ESirhf nDyg/ num onf 2 r[kwyf g/ num < > 2 [ka&;om; &ygonf/
14/ txufygtcsurf sm;ESihf udu k ñf NdS y;D twef;wpfwef;&Sd ausmif;om;rsm;\ atmif^
½HI; ( Pass / Fail ) ? *kPx
f ;l ( Distinction )( Credit) ponfwu kd kd ppfxw
k Nf y;D ? ausmif;om;
rsm;\ rSwfwrf;rsm; ( Record ) rsm;udk y½dk*&rfwpfyk'ftjzpf a&;om;Edkifygonf/ If
Statement ESifh y½dk*&rfa&;om;aomtcg Relational Operator rsm;ESifh Condition
rsm;udk ppfxkwfNyD; &&Sdaomtajctaeudk Then aemufwGif Statement wpfcktjzpf
(Writeln) Output command jzifh tajctaeudk ½dkufxkwfazmfjyygonf/
29 Turbo Pascal 7.0
Example (2)
15/ Condition wpfcx k ufyakd om taMumif;t&mrsm;udk ppfxwk &f mwGif Relational
Operators rsm;tjyif Logical Operators rsm;jzpfaom And? Or ? Not ponfh xnfo h iG ;f
toH;k jyK&ygonf/ Students Record y½d*k &rfwpfcu
k kd atmufygtwdik ;f a&;om;Edik yf gonf-
PROGRAM STUDENT_MARK;
USES CRT;
VAR SUB1,SUB2,SUB3 :INTEGER;
C,D,P,F :INTEGER;
BEGIN
CLRSCR;
WRITELN(‘ENTER A MARK =’);
READLN(SUB1,SUB2,SUB3);
IF(SUB1<50)AND(SUB2<50)AND(SUB3<50) THEN
BEGIN
F:=F+1;
END;
IF(SUB1>=50)AND(SUB2>=50)AND(SUB3>=50) THEN
BEGIN
P:=P+1;
END;
IF(SUB1>65) AND (SUB2>65) AND (SUB3>65) THEN
BEGIN
C:=C+1;
END;
IF(SUB1>80)AND(SUB2>80)AND(SUB3>80) THEN
BEGIN
D:=D+1;
END;
uGefysLwmvufpJG 30
CLRSCR;
WRITELN(‘FAIL =’,F);
WRITELN(‘PASS =’,P);
WRITELN(‘CREDIT =’,C);
WRITELN(‘DISTINCTION =’,D);
END.
PROGRAM EXAM;
USES CRT;
VAR SUB1,SUB2,SUB3 :INTEGER;
BEGIN
CLRSCR;
WRITE(‘ENTER MARKS FOR SUB1,SUB2 & SUB3 =’);
READLN(SUB1,SUB2,SUB3);
IF(SUB1<50)OR(SUB2<50)OR(SUB3<50)THEN
WRITELN(‘FAIL’)
ELSE WRITELN(‘PASS’);
END.
26/ 4if;y½d*k &rfwiG f toH;k jyKrnfh bmom&yf oH;k ckukd SUB1,SUB2,SUB3 [ktrnf
ay;NyD;? Declaration tydkif;wGif xnfhoGif;aMujimxm;ygonf/ y½dk*&rf ppcsif;
SUB1,SUB2,SUB3 \ trSwr f sm;udk wpfcck si;f ½du
k x
f nfEh ikd &f ef a&;xm;jcif;jzpfygonf/
WRITE aemufrS uGif;zGifh? uGif;ydwfxJwGifa&;xm;aom pmom;rSm y½dk*&rfudk Run
vduk yf gu Screen ay:wGijf rifawGaY eygrnf/ READLN aemufrS pmom;onf bmom&yf
rsm;rStrSwfrsm;udk Keyboard rS ½dkufxnfhay;&rnf/ SUB1 onf 50 xufi,fvQif
(odkYr[kwf) SUB2 onf 50 xufi,f vQif (odkYr[kwf) SUB3 onf 50 xufi,fvQif
THEN aemufrS FAIL qdo k nfph mom;udk azmfjyay;rnf jzpfygonf/ bmom&yfwpfcpk o D nf
50 xufi,f aeoí FAIL udkom azmfjyay;ygrnf/ tu,fí bmom&yfwdkif;onf 50
xufBuD;onf (odkYr[kwf) 50 ESifhnDaeygu ELSE aemufrS pmom;jzpfonfh PASS udk
azmfjyygrnf/ 4if; y½d*k &rfrmS IF THEN ELSE Statement udk toHk;jyKNyD;? ausmif;om;
rsm;trSwfpm&if;rS atmif? ½HI;udk cJGjcm;ay;Edkifygonf/
Example (5)
27/ y½dk*&rfudk DISPLAY TIME [ktrnfay;xm;ygonf/ ½dkufxnfhvdkufaom
MINUTES wefzdk;wdkYudk wGufcsufí em&D? rdepf? reuf? nae ponfjzifh cJGjcm;az:jyay;
aom y½dk*&rf jzpfygonf/ 4if;y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
35 Turbo Pascal 7.0
PROGRAM DISPLAY_TIME;
VAR MIN,HR :INTEGER;
PM :BOOLEAN;
BEGIN
WRITE(‘ENTER MINUTES =’);
READLN(MIN);
HR :=MIN DIV 60;
MIN :=MIN MOD 60;
PM :=HR>=12;
IF PM THEN HR:=HR-12;
IF HR =0THEN HR :=12;
WRITE(HR:2,’:’,MIN:2);
IF PM THEN WRITELN (‘ PM ‘)
ELSE WRITELN (‘ AM ‘);
END.
Example (7)
43/ y½dk*&rfudk IF_NUM [k trnfay;xm;ygonf/ ½dkufxnfhay;aom NUMBER
rsm;udk taygif;ude;f ? pHu
k ed ?f rude;f ponfjzifh ppfxw
k af zmfjyay;aom y½d*k &rf jzpfygonf/
Variable tjzpf NUMBER rsm;udk taygif;ude;f jynfh INTEGER owfrw S x
f m;ygonf/
4if;y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM IF_NUM;
VAR NUM :INTEGER;
BEGIN
WRITE(‘ENTER A NUMBER =’);
39 Turbo Pascal 7.0
READ(NUM);
IF NUM>0 THEN WRITELN(‘POSITIVE =’,NUM);
IF NUM MOD 2=0 THEN WRITELN(‘EVEN =’,NUM)
ELSE WRITELN(‘ODD =’,NUM);
END.
ENTER A NUMBER = 10
POSITIVE =10
EVEN = 10
ENTER A NUMBER = 5
POSITIVE = 5
ODD = 5
uGefysLwmvufpJG 40
CASE STATEMENT
47/ Case Statement ESifhppfxkwfaom y½dk*&rfrsm;wGif Case aemufrS owfrSwf
azmfjyxm;aom wefb;kd rsm;xJrS rdrv
d ckd siaf omwefb;kd tcsut
f vufwu
Ykd kd a½G;cs,o
f wfrw
S f
ay;aomtcg toHk;jyKjcif; jzpfygonf/ Case Statement udk atmufygtwdkif; a&;om;
Edik yf gonf-
Case Expression of
case : Statement;
...
case : Statement;
End;
(or)
Case Expression of
case : Statement;
...
case : Statement;
else
statement;
End;
48/ Case Statement udk toHk;jyK&mwGif Data type( integer, Char, boolean )
rsm;udk toHk;jyKrnfh y½dk*&rfay: rlwnfí atmufygtwdkif;cJGjcm;azmfjyay;&ygrnf-
Case char of
'A' .. 'Z', 'a' .. 'z' : writeln ( 'Letter' );
'0' .. '9' : writeln ( 'Digit' );
'+', '-', '*', ' /' : writeln ('Operator);
Else writeln (' Special character' );
End;
Case a of
2..4 : writeln ('In the range');
1..5 : writeln ('Boundary no');
Else writeln ('Out of Range');
End.
41 Turbo Pascal 7.0
49/ Case (1) wGif Data type udk Character jzifh azmfjyxm;NyD;? 4if; Statement
rsm;wGif (Letter, Digit, Operator) character rsm;udk toH;k jyKaMunmxm;ygonf/
50/ 'A' ..'Z' : writeln ('Letter' ); wGif A rS Z xd t*FvdyfpmvHk; (26)vHk;udk a½G;cs,f
owfrSwfay;xm;jcif;jzpfNyD;? 4if; A rS Z pmvHk;udk½dkufvQif 'Letter' [kazmfjycdkif;xm;jcif;
jzpfygonf/
51/ '0' .. '9' : writeln ( 'Digit' ); wGifvnf; 0 rS 9 xd *Pef;rsm;½dkufvQif 'Digit' [k
azmfjycdkif;jcif; jzpfygonf/
52/ '+' . '-', '*' , '/' : writeln ('operator'); rSmvnf; taygif;? tEIwf? tajr§muf?
tpm;qdkvQif 'Operator' udk azmfjyay;&ef jzpfygonf/ 4if; (3)rsKd;xJrS r[kwfbJ tjcm;
oauFwudk ½dkufygu 'Special character' [k azmfjycdkif;xm;jcif; jzpfygonf/
53/ 4if; Statement onf Character udk ppfxw k cf ikd ;f jcif; jzpfygonf/ Statement
(3) rsKd;udk wpfckpDppfxkwfcdkif;jcif;jzpfNyD;? 4if; (3)rsKd;r[kwfcJhygu rnfuJhodkYazmfjy&rnfudk
a&;om;xm;jcif;yHkpH jzpfygonf/ Data type udk Char jzifh azmfjyxm;ygonf/
54/ Case (2) wGif *Pef;rsm;udk yxr Statement wGif Range udk 2, 4 [kowfrSwf
xm;ygonf/ 'kw, d Statement wGif Boundary udk 1, 5 [k owfrSwfxm;NyD;? 4if;
Statement ESpcf k r[kwyf gu rnfuo hJ Ykd azmfjy&rnfukd a&;om;xm;aom yHpk H jzpfygonf/
Data type udk integer jzifh azmfjyxm;ygonf/
55/ xdkYenf;wlpGm Data type udk boolean jzifh azmfjyNyD;? Variable udk aMunmay;
Edik yf gonf/
Oyrm-
Case result OF
True : Writeln ('Pass');
False: Writeln ('False');
End;
uGefysLwmvufpJG 42
Example (8)
56/ tvSLaiGaumufcHonfh y½dk*&rfjzpfaomaMumifh acgif;pOf wGif Contribution
[ktrnf ay;xm;ygonf/ xdkYaemuf Variable wGif vpmaiG (Salary) ESifh tvSLaiG
(Contribution) wdkY yg0ifí udef;jynfh*Pef;rsm;om yg0ifaomaMumifh Data type udk
integer jzifh azmfjyay;xm;jcif; jzpfygonf/ tvSLaiGaumufcHonfhy½dk*&rfudk atmufyg
twkdif; a&;om;Edkifygonf-
PROGRAM CONTRIBUTION;
VAR SALARY,C :INTEGER;
BEGIN
WRITE(‘ENTER SALARY = ‘);
READLN(SALARY);
CASE SALARY OF
4500..7500 : C:= 50;
8000..10000: C:= 100;
10500..15000: C:= 150;
ELSE C:=20;
END;
WRITELN(SALARY, ‘ KYATS , CONTRIBUTION = ‘,C);
END.
Example (9)
59/ wpfESpfwGif (12)v &SdonfhteufrS vwdkif;vwdkif;\ aemufqHk;&ufudk wGufcsuf
azmfjyay;aom y½dk*&rfjzpfygonf/ y½dk*&rf\acgif;pOfudk Last_Day_of_Month;
[kazmfjyxm;ygonf/ Variable wGif &uf? v? ESpf wdkYudk integer jzifah zmfjyxm;ygonf/
4if;y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM LAST_DAY_OF_MONTH;
VAR LASTDAY,MONTH,YEAR :INTEGER;
BEGIN
WRITE(‘ENTER MONTH AND YEAR = ‘);
READLN(MONTH,YEAR);
CASE MONTH OF
1,3,5,7,8,10,12 : LASTDAY:=31;
4,6,9,11 : LASTDAY:=30;
2 : IF(YEAR MOD 4=0)AND(YEAR MOD
100<>0)OR(YEAR MOD 400=0)
THEN LASTDAY:=29
ELSE LASTDAY:=28;
ELSE LASTDAY:=0;
uGefysLwmvufpJG 44
END;
IF LASTDAY=0 THEN
WRITELN(‘INVALID INPUT IN MONTH’)
ELSE WRITELN(‘LASTDAY OF IN THE MONTH =‘,LASTDAY);
END.
60/ y½dk*&rfpwifjcif;tydkif;wGif BEGIN ESifhpNyD;? aemufwpfvdkif;wGif WRITE
('ENTER MONTH AND YEAR' ); onf vES i f h ES p f w d k Y u d k ½d k u f x nf h a y;&ef
pmom;jzpfygonf/ READLN( MONTH, YEAR ); rSmvnf; v? ESpw f aYkd y:ap&eftwGuf
jzpfygonf/ xdkYaemuf wpfESpfwGif&Sdaom (12)v udk CASE ESifhppfrnfqdkaomaMumifh
CASE MONTH OF [k azmfjy a&;om;ay;&ygrnf/
61/ ppfxkwf&mwGif 1v? 3v? 5v? 7v? 8v? 10v? 12v wdkY\aemufqHk;&ufudk
31 [kowfrw S cf ikd ;f Ny;D ? 4v? 6v? 9v? 11v wdu Yk kd 30 &ufEiS qhf ;kH onf[ak &;xm;ygonf/
usew f pfvudk 28 &ufEiS hf 29&ufwiG f rnfonfEh pS w f iG f 28&ufEiS q hf ;kH onf rnfonfEpS w f iG f
29 &ufEiS q hf ;kH onfukd 0gxyfrxyfppfaq;ay;&ygrnf/ 4if;udKk IF statement jzifjh yefvnf
ppfxkwfay;ygonf/ yxr odvdkaom ESpfudk 0gxyfrxyfodcsifygu 4 ESifhpm;NyD;? oHkn
<uif;vQif 0gxyf (odkYr[kwf) ESpfxyfygrnf/ wzefodvdkaomESpfudk 100ESifhpm;NyD; t<uif;
okHn r[kwfcJhvQif (odkYr[kwf) odvdkaomESpfudk 400 ESifhpm;NyD; t<uif;okHnjzpfcJhvQif
xdkESpf\ ESpfvydkif;onf 29 &ufjzpfonf[kazmfjycdkif;ygonf/ xdkYtcsufrsm;ESifhrwlcJhygu
aemufqHk;&ufudk 28 &uf[kazmfjycdkif;rnf jzpfygonf/ 4if;tcsufrsm;ESifhrudkufnDygu
aemufq;kH &ufukd oHn k [kowfrw S cf ikd ;f xm;ygonf/ 4if;aemuf CASE statement udk END;
ESifhydwfay;&ygrnf/
62/ aemufqHk;&uf okHnjzpfcJhvQif rnfuJhodkYazmfjy&rnfudk WRITELN('INVALID
INPUT IN MONTH' ); [ka&;om;azmfjyay;&ygonf/ odr Yk [kwyf gu ½du k x f nfch o
hJ nfv
h \
aemufqHk;&ufudk tajztjzpf azmfjyay;ygrnf/ a&;om;yHkrSm WRITELN ('LAST DAY
OF THE GIVEN MONTH IS ' , LASTDAY); jzpfygonf/ þy½d* k &rfonf CASE
statement ESifh ppfxkwfonfh y½dk*&rfwpfyk'fjzpfygonf/
avhusifhcef;(1)
64/ xnfo h iG ;f vdu
k o
f nfh ude;f jynfw
h efb;kd rsm;udk pHu
k ed ;f ? rude;f ? 10rS100Mum; ude;f ESihf
tEkwu
f ed ;f ? 100 ausmaf om ude;f rsm; jzpfaMumif;azmfjyaprnfyh ½d*k &rfukd atmufygtwdik ;f
a&;om;avhvmEdkifygonf-
PROGRAM CASE_1;
VAR I:INTEGER;
BEGIN
WRITE(‘ENTER NUMBER = ‘);
READLN(I);
CASE I OF
0,2,4,6,8 :WRITELN(‘EVEN DIGIT’);
1,3,5,7,9 :WRITELN(‘ODD DIGIT’);
10..100 :WRITELN(‘BETWEEN 10 AND 100’)
ELSE WRITELN(‘NEGATIVE OR GREATER THAN 100’);
END;
END.
avhusifhcef;(2)
65/ acs;aiGwefb;kd tay: twd;k wGucf suí
f azmfjyaprnfyh ½d*k &rfukd atmufyg twdik ;f
a&;om;avhvmEdkifygonf-
PROGRAM CASE_2;
VAR LOAN :INTEGER;R:REAL;
BEGIN
uGefysLwmvufpJG 46
avhusifhcef;(3)
66/ ESpfwpfESpf&dS vrsm;rS vESifh odvdkonfhckESpfwdkYudk xnfhoGif;ay;ygu 4if;ckESpfESifh
vwGif&dSaom &ufaygif;udk azmfjyaprnfh y½dk*&rfudk atmufygtwdkif; a&;om; avhvm
Edik yf gonf-
PROGRAM CALDAY;
VAR MONTH,YEAR,DAYS :INTEGER;
BEGIN
WRITELN(‘JAN=1, FEB=2, MARCH=3, ECT. ‘);
WRITE(‘ENTER NUMBER OF MONTH = ‘);
READ(MONTH);
CASE MONTH OF
4,6,9,11 : DAYS :=30;
2 : BEGIN
WRITE(‘ENTER YEAR (****) =’);
READ(YEAR);
IF YEAR MOD 4<>0 THEN DAYS := 28
ELSE IF (YEAR MOD 100 =0) AND
(YEAR MOD 400<>0) THEN DAYS :=28
ELSE DAYS :=29;
END
ELSE DAYS :=31;
END;
47 Turbo Pascal 7.0
WRITELN(‘THE NUMBER OF DAYS IN THE MONTH =’,DAYS);
END.
avhusifhcef;(4)
67/ ausmif;om;trnf ESihf &&do S nft
h rSwaf ygif;wdu
Yk kd xnfo
h iG ;f ay;ygu pmar;yJw
G iG f
atmifjrifrItajctaewdkYudk azmfjyaprnfhy½dk*&rfudk atmufygtwdkif; a&;om;avhvm
Edik yf gonf-
PROGRAM EXAM2;
VAR MARKS :INTEGER;
NAME :STRING;
BEGIN
WRITE(‘ENTER THE NAME OF STUDENT = ‘);
READ(NAME);
WRITE(‘ENTER THE MARKS OBTAINED = ‘);
READ(MARKS);
CASE MARKS OF
0..20 : WRITELN (‘BADLY FAILED’);
21..46 : WRITELN (‘FAILED’);
47..79 : WRITELN (‘CLEARLY PASSED’);
80..100 : WRITELN (‘OUTSTANDING’);
END;
END.
LABEL DECLARATION
68/ Goto Statement / ae&mtrSwftom;wpfckudk azmfñTef;í oGm;apvdkygu
(odkYr[kwf) ae&mtwdtus ñTefjyvdkygu atmufygtwkdif; toHk;jyKEdkifygonf-
goto Lable name;
goto next;
goto loop;
goto 10;
goto 100;
69/ tqdyk g goto aemufrS label name udk y½d*k &rf\txuf variable aMunmNy;D ygu
atmufygtwkdif; owfrSwfxnfhoGif;&ygonf-
uGefysLwmvufpJG 48
Label next;
Label loop;
Label 10;
Label 100;
avhusifhcef;(5)
70/ wpfOD;csif;\ qE´rJaumufcH&&dSonfh rJta&twGufudk azmfjyaprnfhy½dk*&rfudk
atmufygtwdkif; a&;om;avhvmEdkifygonf-
PROGRAM ELECTION;
USES CRT;
VAR HTOT,MTOT,HVOTE,MVOTE,TOTAL,
N,HOT,MCT:INTEGER;
HAVG,MAVG:REAL;
LABEL NEXT;
BEGIN
CLRSCR;
WRITE(‘ENTER NUMBER OF WARDS?=’);
READLN(N);
WRITELN;
TOTAL:=0; HTOT:=0; MTOT:=0; HOT:=0; MCT:=0;
NEXT:WRITE(‘ENTER VOTE FOR U HLA =’);
READLN(HVOTE);
WRITE(‘ENTER VOTE FOR U MYA =’);
READLN(MVOTE);
HTOT:=HTOT+HVOTE; HOT:=HOT+1;
MTOT:=MTOT+MVOTE; MCT:=MCT+1;
IF (HOT<N) OR (MCT<N) THEN GOTO NEXT;
TOTAL:=HTOT+MTOT;
HAVG:=(HTOT/TOTAL)*100;
MAVG:=(MTOT/TOTAL)*100;
WRITELN;
WRITELN(‘NO OF VOTE FOR U HLA =’,HTOT);
WRITELN(‘NO OF VOTE FOR U MYA =’,MTOT);
49 Turbo Pascal 7.0
WRITELN;
WRITELN(‘TOTAL VOTE FOR TWO = ‘,TOTAL);
WRITELN;
WRITELN(‘PERCENTAGE FOR U HLA =’,HAVG:5:2);
WRITELN(‘PERCENTAGE3 FOR U MYA =’,MAVG:5:2);
END.
avhusifhcef;(6)
71/ xnfo h iG ;f vdo
k nfu
h ed ;f *Pef;ta&twGuu
f kd ½du
k x
f nfNh y;D aemuf 4if;*Pef;rsm;xJrS
tBuD;qHk;*Pef;ESifhti,fqHk;*Pef;wdkYudk azmfjyaprnfhy½dk*&rftm; atmufygtwdkif;
a&;om;avhvmEdkifygonf-
PROGRAM MAXIMUM_MINIMUM;
VAR X,Y,N,NUM,MAX,MIN,CT:INTEGER;LABEL NEXT;
BEGIN
WRITELN(‘HOW MANY NUM:?’);
READLN(N);
WRITELN(‘ENTER FIRST NUMBER’);
READLN(NUM);
MAX:=NUM; MIN:=NUM;
CT:=1;
NEXT: WRITELN(‘ENTER NEXT NUMBER’);
READLN(NUM);
IF NUM>MAX THEN MAX:=NUM;
IF NUM<MIN THEN MIN:=NUM;
CT:=CT+1;
IF CT<N THEN GOTO NEXT;
WRITELN(‘THE MAXIMUM: NUMBER IS ‘,MAX);
WRITELN(‘THE MINIMUM NMBER IS ‘,MIN);
END.
uGefysLwmvufpJG 50
Chapter (3)
Looping Statement
For Looping
2/ FOR Looping qdo
k nfrmS y½d*k &rf\tp Begin rS y½d*k &rftqH;k End. txd
owfrw
S x f m;onfah e&m (odrYk [kw)f tBurd af & a&mufonftxd vnfywfvyk af qmifjcif;udk
ac:qdyk gonf/
Oyrm-
FOR Counter := start value TO Last value DO
Pascal statement to execute;
3/ For Loop udk oH;k rnfqy kd gu FOR udk OD;pGma&;yg/ 4if;aemufwiG f vkyaf qmifrnfh
loop control variable udk a&;&rnf/ 4if;onf integer trsKd ;tpm; (odr Yk [kw)f character
trsKd ;tpm; jzpfEikd yf gonf/ xdaYk emuf colon(:) ESifh Equal (=) az:jyay;&Ny;dD ? wpfbufwiG f
Start value pwifvy k af qmifrnfw
h efb;kd rS Last value aemufq;kH vkyaf qmifrnfh wefb;kd wdu
Yk kd
az:jy&ygrnf/ 4if;wefb;kd rsm;aemufwiG f Do ESihf ydwaf y;&ygrnf/ t"dygÜ ,frmS owfrw S f
ay;xm;aom control variable udk owfrw S af y;xm;aom wefb;kd wpfcrk pS í aemufq;kH
owfrw S af y;xm;aom wefb;kd wpfct
k xdd tBurd Bf urd v
f nfywfjyKvyk af y;yg[k t"dygÜ ,f
oufa&mufygonf/ wefb;kd rSm integer jzpfygu wpfBurd v f nfywfNy;D wdik ;f (+1)wdk;í
oGm;ygrnf/
4/ 4if;y½d*k &rfyikd ;f wGif Type udk integer ESiahf z:jyowfrw
S af y;xm;Ny;dD ? wpfriS g;txd
(+1) pDw;kd íjyKvyk o
f mG ;ygrnf/ tpwefb;kd ESihf aemufq;kH wefb;kd Mum;wGif TO qdkonfh
pmom;udk atmufygtwdik ;f xnfo h iG ;f ay;&ygonf-
FOR i:=1 TO 5 DO
writeln ('Hello')
51 Turbo Pascal 7.0
5/ 4if; Looping tydik ;f udk vkyaf qmif&mwGif i udk wpfrS ig;txd ig;Burd f qufwukd f
jyKvyk vf nfywfcikd ;f xm;Ny;D ? ig;Burd af &mufaomtcg y½d*k &rf&yfapygrnf/ y½d*k &rf Run
vduk af omtcg Hello qdo k nfh pmwef;udk ig;Burd q
f ufwukd af z:jyay;ygrnf/
Example (1)
7/ tajrm§ uftvD Z,m;yHpk aH &;qGo
J nfh y½d*k &rf wpfy'k jf zpfygonf/ y½d*k &rfacgif;pOf
udk MULTIPLICATION_TABLE [kaz:jyxm;ygonf/ 4if;y½d*k &rfukd atmufygtwdik ;f
a&;om;Edik yf gonf-
PROGRAM MULTIPLICATION_TABLE;
USES CRT;
VAR I,K,N:INTEGER;
BEGIN
CLRSCR;
WRITELN(‘MULTIPLICATION TABLE GENERERATIONS ‘);
WRITE(‘ENTER START NO =’);
uGefysLwmvufpJG 52
READLN(N);
FOR I:=1 TO 12 DO
BEGIN
FOR K:=N TO N+2 DO
WRITE(K:3,’X’,I:3,’=’,K*I:3,’’:5);
WRITELN;
{N:=N+1;}
END;
END.
8/ USES CRT; qdo k nfrmS CATHOD RAY TUBE udk toH;k jyKrnf[k az:jyjcif;
jzpfygonf/ VARIABLE udk I? K? N wdjYk zifh owfrw
S af y;xm;Ny;D ? Type rSm INTEGER
jzpfygonf/ y½d*k &rf paomtcg MULTIPLICATION TABLE GENRERATION [k
acgif;pOfay:ap&ef WRITELN('MUILTIPLICATION TABLE GENERATION');
[ka&;om;&ygonf/ rnfonft h vDrS pa&;rnfukd ay:ap&efWRITELN('ENTER START
NO ='); [k a&;&ygonf/ xda Yk emuf READLN(N); udk a&;&ygonf/
9/ 4if;y½k*d &rfwiG f I onf ajrm§ ufazmfued ;f jzpfNy;D ? tvDZ,m;rsm;wGif 1 rS 12 xd
ajrm§ ufazmfued ;f yg&Sad omaMumifh I ukd 1 rS 12 xd Looping ywfí tvkyv f yk cf idk ;f ygonf/
I := 1 To Do [ka&;&ygonf/ 4if;aemufy½k* d &rfudkBEGIN ESiphf Ny;D ? K= tvDwnfued ;f ukd
N rS N+2 txd (Oyrm- 2 rS 2+2=4xd) vnfywftvkyv f yk cf idk ;f ygonf/ tvDZ,m;?
tvDwnfued ;f K ? ajrm§ ufazmfued ;f I tajzwku Yd akd y:ap&ef WRITE (K:3, '3','=', N+1:3,
' ':5 ); [ka&;&ygonf/ 4if;aemufy½k* d &rfNy;D qk;H ygu END. ESiyhf w d af y;&ygonf/
10/ 4if;y½kd*&rfukd Run Ny;D aemuf nDrQjcif;aemufwiG f xnfo
h iG ;f vdak om tvDeyH gwfukd
½du
k x
f nfyh gu atmufygtwdik ;f awGU&ygrnf-
ENTER START NO. = 2
2x1 =2 3x1 =3 4x1 =4
2x2 =4 3x2 =6 4x2 =8
2x3 =6 3x3 =9 4x3 = 12
2x4 =8 3x4 = 12 4x4 = 16
2 x 5 = 10 3x5 = 15 4x5 = 20
2 x 6 = 12 3x6 = 18 4x6 = 24
53 Turbo Pascal 7.0
2 x 7 = 14 3 x 7 = 21 4 x 7 = 28
2 x 8 = 16 3x8 = 24 4x8 = 32
2 x 9 = 18 3x9 = 27 4x9 = 36
2 x 10= 20 3 x 10 = 30 4 x 10 = 40
2 x 11= 22 3 x 11 = 33 4 x 11 = 44
2 x 12= 24 3 x 12 = 36 4 x 12 = 48
11/ *Pef;rsm;udk 1 rS pí tpOfvu kd w f ikd ;f axmifrh eS Bf w*d yH kH ay:ap&ef a&;om;xm;aom
y½dk*&rfjzpfygonf/ acgif;pOfudk NUMERICAL_TRIANGLE [k ay;xm;ygonf/
y½d*k &rfukd atmufygtwkid ;f a&;om;Edik yf gonf-
PROGRAM NUMERICAL_TRIANGLE;
VAR I, J, COUNTER:INTEGER;
BEGIN
COUNTER:=1;
FOR I:=1 TO 4 DO
BEGIN
FOR J:=1 TO I DO
BEGIN
WRITE(COUNTER:5);
COUNTER :=COUNTER+1;
END;
WRITELN;
END;
END.
Example (2)
14/ y½d*k &rfukd FLOYD_TRIGANGLE [ktrnfay;xm;ygonf/ I, J udk INTEGER
tjzpf owfrwS x
f m;ygonf/ y½d*k &rfukd atmufygtwdik ;f a&;om;Edik yf gonf-
PROGRAM FLOYD_TRIANGLE;
VAR I,J :INTEGER;
BEGIN
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO i DO
WRITE(‘*’:3);
WRITELN;
END;
END.
*
* *
* * *
* * * *
Example (3)
17/ y½d*k &rfukd Total_Number [ktrnfay;xm;ygonf/ y½d*k &rfukd For looping
toH;k jyKía&;om;xm;Ny;D ? *Pef;rsm;½du
k x f nfu
h m 4if;*Pef;tm;vH;k \ pkpak ygif;wefz;kd udk
azmfjyay;jcif; jzpfygonf/ *Pef;vH;k a&rnfrQxd aygif;rnfukd OD;pGmxnfoh iG ;f ay;&ygrnf/
y½d*k &rfukd atmufygtwkid ;f a&;om;Edik yf gonf-
PROGRAM TOTAL_NUMBER;
VAR N, NUM, J, SUM : INTEGER;
BEGIN
WRITE(‘ENTER TOTAL NUMBER OF INTEGER =’);
READLN(N);
SUM:=0;
FOR J:=1 TO N DO
BEGIN
WRITE(‘ENTER AN INTEGER =’);
READLN(NUM);
SUM:=SUM+NUM;
END;
WRITELN(‘TOTAL SUM =’,SUM);
END.
20/ READLN (NUM); [ka&;jcif;rSm aygif;rnfh *Pef;rsm; xnfo h iG ;f Edik &f eftwGuf
jzpfygonf/ rlv SUM xJü 0 xm;&mrS Looping wpfcgywfNy;D wdik ;f SUM udk NUM ESifh
aygif;ay;Ny;D ? aemufq;kH rdro
d wfrw S x
f m;onfh N Budrftxd Looping ywfí tvkyv f yk f
apygonf/ xdaYk emuf rdrx d nfch ahJ om*Pef;tm;vH;k aygif;ay;Ny;D ? tajzxkwaf y;&eftwGuf
WRITELN ( ‘TOTAL SUM = ‘ , SUM ); [ka&;ay;&ygrnf/ tm;vH;k aygif;Ny;D aom
tajzudk TOTAL SUM tjzpf tajzxkwaf y;ygonf/
21/ 4if;y½d*k &rfukd Run vdu k yf gu ENTER TOTAL NUMBER OF INTEGER =
[k ay:vmNy;D ? nDrQjcif;aemufwiG f 5 [k½u kd x f nfah y;ygu *Pef; 5 vHk;aygif;rnf[k
a&;jcif;jzpfygonf/ Enter ESyd v
f ukd yf gu atmufwiG f ENTER AN INTEGER = [k
azmfjyygrnf/ 4if;aemufwiG f 1 ud½k u kd x
f nfNh y;D ? Enter ESyd v
f u
kd v
f Qif aemufxyfaygif;rnfh
*Pef;wpfv;kH awmif;ygrnf/ txufygtwdik ;f 2, 3, 4, 5 ponfjzifh *Pef; 5 vH;k ½du k Nf y;D ygu
tajzudk TOATL SUM = 15 [k atmufygtwdik ;f azmfjyay;ygrnf-
ENTER AN INTEGER = 1
ENTER AN INTEGER = 2
ENTER AN INTEGER = 3
ENTER AN INTEGER = 4
ENTER AN INTEGER = 5
TOTAL SUM = 15
57 Turbo Pascal 7.0
Example (4)
22/ y½d*k &rfukd FIBONACCI [k trnfay;xm;ygonf/ 4if;y½d*k &rfrmS ude;f *Pef;rsm;
aygif;&mwGif yxrude;f ESihf 'kw,
d ude;f aygif;Ny;D ? wwd,ude;f ud&k &dyS grnf/ 'kw,
d ude;f ESihf
wwd,udef;udkaygif;NyD; pwkw¬udef;udkazmfjyay;aomy½dk*&rfjzpfygonf/ 4if;y½dk*&rfudk
atmufygtwkdif; a&;om;Edkifygonf-
PROGRAM FIBONACCI;
VAR I,N : INTEGER;
F1,F2,F : LONGINT;
BEGIN
WRITE (‘HOW MANY FIBONACCI NUMBER ? ‘);
READLN (N);
WRITELN;
FOR I:= 1 TO N DO BEGIN
IF I<3 THEN F :=1
ELSE F:= F1+F2;
F2 := F1;
F1 := F;
WRITELN (‘I = ‘, I:3,’ FIBO= ‘, F);
END;
END.
I=5 FIBO=5
I=6 FIBO=8
I=7 FIBO=13
I=8 FIBO=21
I=9 FIBO=34
I=10 FIBO=55
Example (6)
27/ y½dk*&rfudk NUMBER;[k trnfay;xm;NyD;? *Pef;eHygwfrsm;udk Row twdkif;
txufatmufwef;pDí azmfjyapaom y½d*k &rfjzpfygonf/ y½d*kd &rfwiG fK udk INTEGER
owfrSwfxm;ygonf/ 4if;y½dk*&rfudk atmufygtwkdif; a&;om;Edkifygonf-
PROGRAM NUMBER;
VAR K : INTEGER;
BEGIN
K:=0;
WHILE K<20 DO
BEGIN
WRITELN(K);
K:=K+1;
END;
END.
Example (7)
29/ y½d*k &rftrnfukd NUMBER_1 [k ay;xm;Ny;D ? *Pef;rsm;udk owfrwS cf sut
f wdik ;f
tpOftwdkif; tvsm;vdkuf (Column) azmfjyay;jcif; jzpfonf/ I udk pa&;rnfh*Pef;
tjzpfowfrSwfNyD;? INTEGER udef;jynfh*Pef;owfrSwfxm;ygonf/ 4if;y½dk*&rfudk
WHILE .. DO Looping ESifh atmufygtwdkif; a&;om;Edkifygonf-
PROGRAM NUMBER_1;
USES CRT;
VAR I : INTEGER;
BEGIN
CLRSCR;
I:=0;
WHILE I<=20 DO
BEGIN
WRITE(I:4);
I:=I+5;
END;
END.
61 Turbo Pascal 7.0
30/ xdkYaMumifh y½dk*&rfpa&;aomtcg tp*Pef; I udk oHkn (0) rS píowfrSwfay;
xm;ygonf/ WHILE .. DO Looping ESifh toHk;jyKxm;NyD; WHILE I < = 20 DO, I =
20 txd tvkyfvkyfaqmifckdif;jcif; jzpfygonf/ xdkYaemuf tp*Pef; I=0 udk 5
aygif;xnfNh y;D ? 4if; tp*Pef; okn
H (0) ESihf space av;ae&mtuGmwGif &&So d nfh tajzudk
azmfjy&ef a&;xm;jcif;jzpfygonf/ þodjYk zifh *Pef; 5 vH;k qufwu
kd f aygif;oGm;Ny;D &&So
d nfh
tajzudk qufvufazmfjyapygonf/ 20 ESifhnDvQif (odkYr[kwf) 20 xuf i,fvQif
vkyfaqmifcdkif;jcif;udk WRITE ( I : 4 ); I : = I + 5 [ka&;ygonf/
31/ 4if; y½dk*&rfudk Run NyD; Alt + F5 ESdyfMunfhygu tajzudk atmufygtwdkif;
xkwfay;ygonf-
0 5 10 15 20
Example (8)
32/ y½dk*&rfudk AVERAGE [ktrnfay;xm;ygonf/ NUM ESifh SUM udk REAL
owfrSwfay;xm;NyD;? COUNT udk INTEGER owfrw S af y;xm;ygonf/ aemufq;kH *Pef;
tm;vHk;aygif;NyD;? AVERAGE &Smaomtcg 'or*Pef;jzpfEdkifaomaMumifh REAL ESifh
aMunmay;&ygonf/ 4if;y½dk*&rfudk atmufygtwkdif; a&;om;Edkifygonf-
PROGRAM AVERAGE;
VAR SUM,NUM:REAL;
COUNT :INTEGER;
BEGIN
SUM:=0;
COUNT:=0;
WRITELN(‘PLEASE ENTER THE LIST<-1> FOR TERMINATION !’);
READLN(NUM);
WHILE NUM <>-1 DO
BEGIN
SUM:=SUM+NUM;
COUNT:=COUNT+1;
uGefysLwmvufpJG 62
READLN(NUM);
END;
WRITELN(‘SUM OF THE NUMBER IS =’,SUM:5:2);
WRITELN(‘THE TOTAL NUMBER IS =’,COUNT);
WRITELN(‘THE AVERAGE IS =’,SUM/COUNT:5:2);
END.
33/ y½dk*&rfpaomtcg SUM ESifh COUNT wdkYudk okHn (0) rS prnf[k a&;&ygonf/
xdkYaemuf 'PLEASE ENTER THE LIST <-1> FOR TERMINATION ' pmom;
ay:ap&ef a&SUwGif WRITELN jzifha&;&ygonf/ xdkYaemuf *Pef;rsm;½dkufxnfhEdkif&ef
READLN (NUM); [ka&;&ygonf/
34/ xdaYk emuf wpfvikd ;f jcm;Ny;D ? WHILE Loop ESifh CONDITION ppfxw k af y;&ygonf/
WHILE NUM < > -1 DO onf rdrd½dkufxnfhaom Number rsm;udk - 1 ESifh rnDrcsif;
tvkyfvkyfyg[k a&;om;xm;jcif; jzpfygonf/ rdrd½dkufxnfhaom Number rsm;rSm - 1 ESifh
rnDygu tvkyq f ufvyk af ernfjzpfNy;D ? - 1 ½du
k x
f nfv
h u kd yf gu y½d*k &rfrS tvdv k x
kd u
G o
f mG ;
rnfjzpfygonf/
35/ 4if; aemuf SUM xJodkY SUM + NUM xnfhí COUNT udk + 1 wd;k ay;&ygrnf/
xdkYaemuf *Pef;½dkufxnfh&ef READLN (NUM); udk a&;&ygrnf/ xdktcg y½dk*&rfydkif;
NyD;qHk;NyD;? tajzazmfjyaomtcg ay:ap&ef WRITELN ('SUM OF THE NUMBER
= ', SUM: 5 : 2); onf rdrd½dkufxnfhNyD;aygif;rnfh*Pef;ta&twGuf azmfjyay;&efjzpf
ygonf/ WRITELN ('TOTAL NUMBER IS = ', COUNT ); rSm rdr½d u kd x
f nfvh u
kd af om
*Pef;vHk;ta&twGuftm;vHk;udk qufwdkufaygif;ay;rnf jzpfygonf/ WRITELN ( '
THE AVERAGE IS = ', SUM / COUNT : 5: 2); rSm ysrf;rQ&Smay;jcif; jzpfygonf/
qufwdkufaygif;í&aomudef;udk COUNT ESifh pm;NyD;? ysrf;rQ&Smay;jcif; jzpfygonf/
36/ txufyg y½dk*&rfudk Run vdkufvQif PLEASE ENTER THE LIST <- 1>
FOR TERMINATION ! [k a zmf j yygrnf / Keyboard rS S 1, 2, 3, 4, 5 wd k Y u d k
63 Turbo Pascal 7.0
½dkufxnfhNyD;aemuf - 1 udk ½dkufxnfhay;vQif y½dk*&rfrSxGufoGm;NyD;? Alt + F5 udk ESyd yf gu
atmufygtwdkif;azmfjyygrnf-
SUM OF THE THE NUMBER IS = 5
TOTAL NUMBER IS = 15
THE AVERAGE IS = 3
37/ eHygwf (1) vdkif;rSm *Pef; (5) vHk; ½dkufxm;í 5 udkazmfjyNyD; eHygwf (2) vdkif;rSm
4if;*Pef; (5) vHk;(1, 2, 3, 4, 5) wdkYudkaygif;NyD; &&dSonfhtajzudk 15 [kazmfjyay;jcif;
jzpfonf/ eHygwf(3) vdkif;rSm 4if; *Pef; 5 vHk;aygif;jcif;udk 5 ESifhpm;NyD; tajz 3
[kazmfjyjcif;jzpfygonf/
Example (9)
38/ y½dk*&rfudk STUDENTS_DETAIL_REPORT [k owfrSwfay;xm;ygonf/
ausmif;om;wpfO;D csi;f pD\ RECORDS rsm;udk azmfjyay;aom y½d*k &rfjzpfygonf/ Type
rsm;tjzpf STUDENT udk RECORD [kowfrw S yf gonf/ ausmif;om;rsm;\(RNO)
ROLL NO udk *Pef; ig;vHk;owfrSwfxm;NyD;? STRING[5] [ka&;ygonf/
PROGRAM STUDENTS_DETAIL_REPORT;
USES CRT;
TYPE STUDENT=RECORD
RNO:STRING[5];
NAME:STRING[30];
AGE:SHORTINT;
CLASS:STRING[10];
TOTAL:INTEGER;
END;
VAR SFILE : FILE OF STUDENT;
SREC : STUDENT;
ANS : CHAR;
BEGIN
CLRSCR;
ASSIGN (SFILE,'[Link]');
REWRITE(SFILE);
ANS:='Y';
uGefysLwmvufpJG 64
WHILE UPCASE (ANS)='Y' DO
BEGIN
GOTOXY(30,2);WRITELN('STUDENT DETAIL REPORT');
GOTOXY(30,3);WRITELN('~~~~~~~~~~~~~~~~~~~~~');
GOTOXY(5,5);WRITE('ROLL NO');
GOTOXY(5,6);WRITE('~~~~~~~');
GOTOXY(15,5);WRITE('NAME');
GOTOXY(15,6);WRITE('~~~~');
GOTOXY(30,5);WRITE('AGE');
GOTOXY(30,6);WRITE('~~~');
GOTOXY(40,5);WRITE('CLASS');
GOTOXY(40,6);WRITE('~~~~~');
GOTOXY(55,5);WRITE('TOTAL MARK');
GOTOXY(55,6);WRITE('~~~~~~~~~~');
WITH SREC DO
BEGIN
GOTOXY(45,5);WRITE(RNO);
GOTOXY(45,6);WRITE(NAME);
GOTOXY(45,7);WRITE(AGE);
GOTOXY(45,8);WRITE(CLASS);
GOTOXY(45,9);WRITE(TOTAL);
END;
WRITE(SFILE,SREC);
GOTOXY(20,11);WRITE('ANY MORE RECORD[Y/N]?');
GOTOXY(45,11);READ(ANS);
END;
CLOSE(SFILE);
END.
43/ X 0if½dk; 30? Y 0if½dk; 2 ae&mwGif ' Student Detail report' ? Roll No ? Name
?Age? Class? Total Mark wdkYudk ay:ap&ef atmufygtwdkif; a&;&ygrnf-
GOTO XY (30, 2); WRITELN ( 'STUDENT RETAIL REPORT' );
GOTO XY (30, 3); WRITELN (' --------------------------' );
Example (10)
47/ y½d k * &rf u d k SALARY_SUM [k t rnf a y;xm;ygonf / vpmpm&if ; rsm;
aygif;jcif;udk toHk;jyKaomy½dk*&rfjzpfygonf/ y½dk*&rfwGif yg0ifaom vpmaiG (S)
vpmrsm;aygif;jcif; (SUM)? a&wGufjcif;(COUNT) ponfwdkYudk VARIABLE tjzpf
aMujim xm;Ny;D INTEGER owfrw S xf m;ygonf/ y½d*k &rfukd atmufygtwdik ;f a&;om;Edik f
ygonf-
PROGRAM SALARY_SUM;
USES CRT;
VAR S,SUM,COUNT:INTEGER;
67 Turbo Pascal 7.0
BEGIN
CLRSCR;
SUM:=0;
COUNT:=0;
WRITE(‘ENTER THE SALARY =’);
READLN(S);
WHILE S<>-999 DO
BEGIN
SUM:=SUM+S;
COUNT:=COUNT+1;
WRITE(‘ENTER THE SALARY =’);
READLN(S);
END;
WRITELN(‘SUM IS =’,SUM);
WRITELN(‘COUNT IS =’,COUNT);
END.
48/ y½d*k &rfpwifaomtcg SUM ESifh COUNT wdu Yk kd okn
H rSpíowfrw S af y;cdik ;f xm;
ygonf/ vpmrsm;½dkufxnfh&eftwGuf pmwef;ay:ap&ef WRITE('ENTER THE
SALARY ='); [k a&;ay;&ygonf/ SALARY udk (S) [k owfrw S x
f m;í READLN(S);
[ka&;yg onf/ y½dk*&rfudk WHILE ... DO Looping oHk;í WHILE S < > -999 DO
[k a&;ygonf / qd k v d k o nf r S m vpm S ud k -999 ES i f h rnD r jcif ; vk y f y g[k
a&;om;xm;jcif;jzpfygonf/ < > oauFwrSmrnDjcif;udk az:jyygonf/ vpmrsm;udk tpOf
twdkif; wpfa,mufNyD;? wpfa,mufxnfhoGif;oGm;yg/ y½dk*&rfpwifaomtcg SUM :=
SUM+S [ka&;jcif;rSm rlv SUM xJodkY S udk aygif;ay;jcif;jzpfygonf/ COUNT :=
COUNT + 1 rSmvnf; ta&twGufudk 1 wdk;cdkif;jcif; jzpfygonf/ vpmwpfckxnfhwdkif;
COUNT udk 1 wd;k jcif;jzpfygonf/ S udk xyfxnfNh y;D aemuf CONDITION ppfaq;ygonf/
vpmrsm;½dkufxnfhNyD;? aemufqHk; CONDITION rSm S < > -999 onf vpm -999 ESifh
wlaomtcg y½d*k &rfrx S u
G yf grnf/
uGefysLwmvufpJG 68
Example (11)
52/ y&kd*&rfukd DIVISION [k trnfay;xm;ygonf/ *Pef;(2)vkH;rS yxr*Pef;
A ukd 'kwd,*Pef; B ESihf pm;jcif;jzihf Ratio uk& d &Sad pygonf/ VAR aMujim&mwGif
Number (A) ESihf (B) ukd LONGINT tjzpf owfrSwfay;xm;ygonf/(CH) ukd
CHARACTER tjzpfowfrw S yf gonf/y½d*k &rfukd atmufygtwkid ;f a&;om;Edik yf gonf-
PROGRAM DIVISION;
VAR A,B:LONGINT;
CH:CHAR;
BEGIN
REPEAT
WRITE(‘ENTER TWO NUMBER =’);
READLN(A,B);
IF(B=0) THEN WRITELN(‘THE RATIO IS UNDEFINED’)
69 Turbo Pascal 7.0
ELSE WRITELN(‘THE RATIO IS =’,A/B:5:2);
WRITE(‘CONTINUE Y/N?’);
READLN(CH);
UNTIL UPCASE(CH)=’N’;
END.
53/ y&k*d &rfwiG f Repeat_until looping ok;H xm;Ny;D ? *Pef;(2)vk;H &ku
d x
f nh&f efWRITE
("ENTER TWO NUMBER=") [k a&;ay;&ygonf/ *Pef;(2)vkH; A ESihf B wkdYukd
&kdufxnhf&ef READLN (A,B) [ka&;&ygonf/ xkdYaemuf CONDITION ukd IF ESihf
ppf x m;NyD ; IF(B=0) THEN WRITELN ("THE RATIO IS UNDIFINED")
ukda&;&ygonf/ ykdif;ajc B onf 0 jzpfcJhvQif THE RATIO IS UNDIFINED [k
az:jyckid ;f jcif;jzpfygonf/ (okrYd [kw)f tjcm; NUMBER rsm;jzpfcyhJ gu A ukd B ESifh pm;Ny;D
tajzudkaz:jyckdif;jcif;jzpfygonf/ A onf ykdif;a0 NUMBER jzpfNyD;? B onf ykdif;ajc
NUMBER jzpfygonf/
Example (12)
57/ y&kd*&rfukd prime_count [ktrnfay;xm;ygonf/ uefYowfxm;aom Limit
twGif;&Sd prime number rsm;ukd count vkyfay;aom y&kd*&rfjzpfygonf/ i,d ESihf Count
wkdYukd Var tjzpf Integer [kowfrwS x
f m;ygonf/
Program prime_count;
Uses crt;
Var i,d,Count : Integer;
Begin
Clrscr;
Writeln(‘the following are prime number’);
Writeln(‘———————————————’);
Count:=0;
For i:=2 to 100 do
Begin
D:=1;
Repeat
D:=d+1;
Until i mod d=0;
If d=i then begin
Count:=count+1;
Write(i:5);
End;
End;
Writeln;
Writeln(‘total prime number between 2 & 100 = ‘,count);
End.
71 Turbo Pascal 7.0
58/ yxrOD;pGm acgif;pOfay:ap&ef atmufygtwkdif;a&;&ygrnf-
writeln ("The following are prime number")
writeln ("-------------------------------------")
avhusifhcef; (1)
61/ udef;jynfh*Pef;wpfvHk;udk ½dkufxnfhNyD; prime numer [kwf^r[kwf azmfjyap
rnfh y½dk*&rfudk atmufygtwdkif; a&;om;avhvmEdkifygonf-
program prime_test;
var num,count:Integer;
begin
write(‘enter an Integer =’);
readln(num);
count:=1;
repeat
count:=count+1;
until num mod count =0;
if count=num then writeln(‘prime’)
else writeln(‘not prime.’);
end.
avhusifhcef; (2)
62/ axmifrh eS Bf w*d w
H pfcyk w
kH pfcu
k kd * rsm;jzifh azmfjyaprnfyh ½d*k &rfukd atmufygtwdik ;f
a&;om;avhvmEdkifygonf-
Program nested;
uses crt;
var i,j,x,y:Integer;
begin
x:=30; y:=1;
for i:=1 to 20 do begin
gotoxy(x,y);
for j:=1 to 2*i-1 do
write(‘*’);
X:=x-1; y:=y+1;
end;
writeln;
end.
73 Turbo Pascal 7.0
Chapter (4)
ARRAY
Example(1)
3/ y½d k * &rf u d k Inserting_sort [k t rnf a y;xm;ygonf / rd r d r S data
½du
k xf nfah y;onft h cg i,fpOfBu;D vduk pf ND y;D azmfjyay;aom y½d*k &rfjzpfygonf/ *Pef;rsm;udk
rnfodkYyif xnfhapumrl i,fpOfBuD;vdkuf jyefvnfpDay;ygrnf/ stop code = - 999 onf
rdrd data ½duk x f nfNh y;D &yfvakd omtcg - 999 oauFwud½k u kd í
f Enter ESyd v f u
kd yf gu tvdv k kd
xGuo f mG ;rnf/ Max = 20 rSm *Pef;vH;k a& 20 txdom trsm;qH;k ½du k xf nfEh ikd &f ef owfrwS f
ay;xm;jcif;jzpfNyD;? vHk;a& 20 xufausmfygu 4if;wefzdk;rsm;udkxnfhoGif;a&wGufrI
rjyKvkyfyg/ 4if;y½dk*&rfudk atmufygtwkdif; a&;om;Edkifygonf-
uGefysLwmvufpJG 74
program insertion_sort;
uses crt;
const stopcode =-999;
max=20;
var list:array[1..max] of integer;
n,num,i,p :integer;
begin
clrscr;
n:=0;
write(‘enter an integer ‘);
readln(num);
while num<>stopcode do
begin
if n=0 then begin
n:=n+1;
list[n]:=num;
end;
else begin
p:=n;
while(p>=1) and(num<list[p])do
begin
list[p+1]:=list[p];
p:=p-1;
end;
list[p+1]:=num;
n:=n+1;
end;
75 Turbo Pascal 7.0
write(‘enter an integer ‘);
readln(num);
end;
write(‘sorted list ‘);
for i:=1 to n do
write(list[i]:5);
writeln;
end.
8/ txufygtwdik ;f tpOftvdu k x
f nfNh y;D Enter ESyd yf gu y½d*k &rfrS xGuo
f mG ;ygrnf/
xdtk cg Alt + F5 udk wJGESdyfygu tajzudk atmufygtwdkif; azmfjyay;rnf jzpfygonf/
Sorted list 1 2 3 4 5
Example(2)
9/ y½d*k &rfukd Linear_search [ktrnfay;xm;ygonf/ y½d*k &rfrS ausmif;om;rsm;\
trnfu½kd ukd xf nfah y;Ny;D 4if;trnfrsm;xJrS &Smvdak om ausmif;om;trnfukd ½du
k x
f nfí
h
&SmazGay;ygonf/ 4if;y½dk*&rfudk atmufygtwkdif; a&;om;Edkifygonf-
program Linear_search;
uses crt;
const max=30;
terminator =’stop’;
var a :Array[1..max] of string [30];
n,j,i :integer;
name :string[30];
begin
clrscr;
77 Turbo Pascal 7.0
write(‘Enter name of student : type “stop” for termination :’);
readln(name);
n:=0;
while (name<>terminator) do
begin
n:=n+1;
a[n]:=name;
write(‘enter another name :’);
readln(name);
end;
write(‘enter the name to be search :’);
readln(name);
for j:=1 to n do
if a[j]=name then begin
writeln(name,’is found at position ‘,j);
halt;
end;
writeln(‘not found’);
end.
18/ rufx&pf C udk azmfjy&mwGiv f nf; i, j wefb;kd rsm;udk space ig;ae&mcGmí azmfjy
ay;&ef a&;ay;jcif;jzpfygonf/ 4if;aemuf y½dk*&rfNyD;qHk;aomtcg oufqdkif&m Begin
ESifh pxm;aom y½dk*&rfatmufwdkYwGif End ESifh ydwfay;&ygrnf/
avhusifhcef; (1)
19/ 1 rS 100 txd ude;f jynfrh sm; xnfo
h iG ;f Edik af om wpfcu
k kd atmufygtwdifk ;f y½d*k &rf
jzifh a&;om;Edkifygonf-
uGefysLwmvufpJG 80
program listing;
var a :array[1..100] of integer;
i,n:integer;
begin
write(‘how many data =’);
readln(n);
for i:=1 to n do
begin
write(‘enter data ‘);
readln(a[i]);
end;
for i:=1 to n do
writeln(a[i]:5, a[n-i+1]:5,a[i]+a[n-i+1]:5);
end.
avhusifhcef; (2)
20/ q,fvpD epfo;kH ude;f *Pef;rsm;udk ½du k x
f nfNh y;D ? tvd&k &Sd m pepfwpfc\
k ude;f *Pef;
rsm;tjzpfodkY ajymif;vJazmfjyonfh y½dk*&rfwpfckudk atmufygtwdkif; a&;om;Edkifygonf-
program convert;
{change decimal number to any base}
uses crt;
const inform : array[0..15] of char = (‘0’,’1',’2',’3',’4',’5',’6',
’7',’8',’9',’a’,’b’, ’c’,’d’,’e’,’f’);
var c : array[1..64] of integer;
base,i,k,p : integer;
num : longint;
begin
81 Turbo Pascal 7.0
clrscr;
write(‘enter decimal number =’) ;readln(num);
write(‘base =’);readln(base);
write(‘the conver ‘,num);
writeln(‘ is base ‘,base);
i:=0;
repeat
inc(i);
c[i] :=num mod base;
num :=num div base;
until num=0;
write(‘the converted number is =’);
for k :=i downto 1 do
begin
p:=c[k];
write(inform[p]:2);
end;
writeln;
end.
avhusifhcef; (3)
21/ 1 rS 100 txd udef;jynfh*Pef;rsm;teuf tvdk&dS&mudef;*Pef;ta&twGuf
twdik ;f ude;f *Pef;rsm;udk ½du
k x
f nfNh y;D aemuf tpDtpOftwdik ;f azmfjyonfh y½d*k &rfwpfcu
k kd
atmufygtwdkif; a&;om;Edkifygonf-
program counting_sort;
uses crt;
Var list,count,output : array[1..100] of integer;
i,k,p,n : integer;
uGefysLwmvufpJG 82
begin
clrscr;
write(‘How many integers = ‘) ; readln(n);
for i:= 1 to n do
begin
Write(‘Number = ‘) ; readln(List[i]); count[i]:=1;
end;
for i:=1 to n-1 do
for k:=i+1 to n do
if list[I]>list[k] then count[i]:=count[i]+1
else count[k]:=count[k]+1;
for i:=1 to n do
begin
p:=count[i];
output[p]:=list[i];
end;
writeln(‘sorted list ‘);
for i:=1 to n do
write(output[i]:5);
end.
avhusifhcef; (4)
22/ &ufaygif; 365 teuf xnfhoGif;vdkufonfh &ufta&twGufudk wGufcsufí
vESifh&ufwdkYudk wGufcsufazmfjyonfh y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program caldate;
uses crt;
type store = packed array[1..9] of char;
var mlist : array[1..12] of string;
numdays,month,day : integer;
83 Turbo Pascal 7.0
procedure calculatedate (yeardate : integer);
var stop : boolean;
m : array[1..13] of integer;
begin
m[1] := 0; m[2] := 31; m[3] := 59;
m[4] := 90; m[5] := 120; m[6] := 151;
m[7] := 181; m[8] := 212; m[9] := 243;
m[10] := 273; m[11] := 304; m[12] := 334;
m[13] := 365;
month := 0;
stop := false;
repeat
month := month+1;
if yeardate < (m[month+1]+1) then begin
day := yeardate-m[month];
stop := true;
end;
until stop;
end;
{ main program }
begin
clrscr;
mlist [1] := ‘january ‘;
mlist [2] := ‘february ‘;
mlist [3] := ‘march ‘;
mlist [4] := ‘april ‘;
mlist [5] := ‘may ‘;
mlist [6] := ‘june ‘;
mlist [7] := ‘july ‘;
mlist [8] := ‘august ‘;
mlist [9] := ‘september ‘;
mlist [10]:= ‘october ‘;
mlist [11]:= ‘november ‘;
mlist [12]:= ‘december ‘;
repeat
uGefysLwmvufpJG 84
writeln;
writeln(‘enter the number of days’);
read (numdays);
calculatedate(numdays);
writeln (mlist [month], day : 3);
until numdays = 0;
end.
avhusifhcef; (5)
23/ trnfrsm;udk ½dkufxnfhNyD;aemuf tvdk&dSonfhtrnftm; jyefvnf&SmazGonfh
y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program binary_search;
const terminator =’stop’;
var top,bottom,mid,count :integer;
list :array[1..20] of string[30];
sname :string[30];
begin
write(‘enter the name :terminate by ‘,terminator, ‘:’);
readln(sname);
count:=0;
while sname<>terminator do
begin
count:=count+1;
list[count]:=sname;
write(‘enter the name :’);
readln(sname);
end;
top:=1;
bottom:=count;
mid:=(top+bottom) div 2;
write(‘enter the name to be searched :’);
readln(sname);
while not(top>=bottom) and (list[mid]<>sname) do
begin
if sname > list[mid] then bottom :=mid-1
85 Turbo Pascal 7.0
else top :=mid+1;
mid :=(top+bottom) div 2;
end;
if top>bottom then writeln(‘not found’)
else writeln(‘name is found at position ‘, mid);
end.
avhusifhcef; (6)
24/ ta&mif;wefbdk;rsm;udk ½dkufxnfhNyD;aemuf a&mif;&wefzdk;rsm;udk wGufcsuf
azmfjyonfh y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program sales;
uses crt;
var sale : Array[1..5,1..5] of integer;
i,j : integer;
begin
clrscr;
writeln(‘enter sale data for matrix’);
for i:=1 to 4 do
for j:=1 to 4 do
begin
writeln(‘enter a data ‘);
writeln(‘sale[‘,i,j,’] ‘);
readln(sale[i,j]);
end;
for i:=1 to 4 do
begin
for j:=1 to 4 do
begin
sale[i,5]:=sale[i,5]+sale[i,j];
sale[5,i]:=sale[5,i]+sale[j,i];
end;
sale[5,5]:=sale[5,5]+sale[5,i];
end;
uGefysLwmvufpJG 86
avhusifhcef; (7)
25/ Array ESpfckrS udef;*Pef;rsm;udk aygif;NyD;aemuf &&dSonfhtajzudk array wpfck
twGif;odkY xnfhoGif;onfhy½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program array_additoin;
const n=20;
var a,b,c :array[1..n]of integer;
i :integer;
begin
writeln(‘array a’);
for i:=1 to n do
readln(a[i]);
writeln(‘array b’);
for i:=1 to n do
readln(b[i]);
writeln(‘array c’);
for i:=1 to n do
begin
c[i]:=a[i]+b[i];
writeln(c[i]);
end;
end.
87 Turbo Pascal 7.0
avhusifhcef; (8)
26/ ypön;f ta&mif;wefb;kd rsm;udk ½du
k x
f nfah y;Ny;D aemuf Z,m;jzifh azmfjyonfyh ½d*k &rfukd
atmufygtwdkif; a&;om;Edkifygonf-
program array_5;
uses crt;
var i,Qrt,uprice :integer;
num:array[1..10]of real;
item:char;
begin
clrscr;
writeln(‘ No Item Qrt Uprice Totalprice ‘);
writeln(‘ == ==== === ====== ========== ‘);
writeln;
for i:=1 to 10 do
num[i]:=i;
writeln(i:5,item:8,Qrt:15, uprice:20,qrt*uprice:25);
end.
Example
28/ y½d*k &rfukd Two matrix sum [ktrnfay;xm;Ny;D ? rufx&pfEpS cf u k kd aygif;ay;jcif;
t"dygÜ ,fjzpfygonf/ Variable udk Array a, b, c oH;k ckrS rufx&pfEpS cf yk g0ifaMumif; azmfjyay;
ygonf/ Type trsKd;tpm;rSm integer jzpfygonf/ i ESifh j wdkYudkvnf; integer type
owfrSwfay;xm;ygonf/ y½dk*&rfudk atmufygtwkdif; a&;om;Edkifygonf-
uGefysLwmvufpJG 88
program two_matrix_sum;
var a,b,c :Array[1..3,1..3] of integer;
i,j :integer;
begin
writeln(‘Matrix a & b’);
for i:=1 to 3 do
for j:=1 to 3 do
begin
write(‘a[‘,i,j,’]’); readln(a[i,j]);
write(‘b[‘,i,j,’]’); readln(b[i,j]);
end;
writeln(‘matrix c’);
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
c[i,j]:=a[i,j]+b[i,j];
write(c[i,j] :5);
end;
writeln;
end;
end.
32/ rufx&pf C udk azmfjy&mwGiv f nf; i, j wefb;kd rsm;udk space ig;ae&mcGmí azmfjy
ay;&ef a&;ay;jcif;jzpfygonf/ y½d*k &rfNy;D qH;k aomtcg oufqikd &f m Begin ESihf pxm;aom
y½dk*&rfatmufwdkYwGif End ESifh ydwfay;&ygrnf/
uGefysLwmvufpJG 90
Chapter (5)
STRING DATA TYPE
Character Representation
1/ uGeyf sLwmwpfctk wGi;f ½Sd Numbers rsm;udk tcsi;f csi;f aygif;pyfvyk af qmif &mwGif
tqifajyrI½Sdap&ef 01-10 ponfh Binary Number rsm;ESifh udk,fpm;jyKvkyfaqmif&
ygonf/ xdkudk,fpm;jyKvkyfaqmifaom Characters rsm;twGuf uGefysKwmtrsm;pkwGif
ASCII (American Standard Code for Information Interchange ) pepfut kd oH;k jyKyg
onf/
Built in Functions
2/ 4if;wdkY\a&;xHk;rsm;tm; OyrmESifhwuGatmufygtwdkif;azmfjytyfygonf-
(u) CHR ( nun ) : Returns a character with a specified ordinal
ASCII- code.
eg. ch: = chr (65) ; { ch= ‘A’ }
( c) ORD (ch) : Returns the decimal equivalent of ‘ch’
eg. nun: = ord(‘A’) ; { nun=65}
( *) UPCASE(ch): Return the upper case equivalent of ‘ch’. If no
upper case
equivalent exits, the argument is returned unchanged.
eg. ch:= up case (‘a’) ; {ch=’A’}
Example( 2 )
9/ y½dk*&rfudk Count [ktrnfay;xm;ygonf/ Character pmvHk;rsm;? numeric
*Pef; rsm;rSpmvH;k rsm;udk wpfv;kH pDa&wGuí
f pmvH;k ta&twGurf nfrQ&o
dS nfuakd zmfjyaom
y½dk*&rfwpfyk'fjzpfygonf/ y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program count;
var st:string;
i,ncount,chcount :integer;
begin
write(‘enter a string =’);
readln(st);
ncount:=0 ; chcount:=0;
for i:=1 to length(st) do
begin
if(st[i]>=’0') and (st[i]<=’9') then ncount:=ncount+1;
if upcase (st[i]) in [‘A’..’Z’] then chcount:=chcount+1;
end;
writeln(‘the numeric count =’, ncount);
writeln(‘the alphabetic character count =’ ,chcount);
end.
93 Turbo Pascal 7.0
10/ Variable ydkif;wGif (st) Sentence udk string: [kowfrSwfay;xm;NyD; i , ncount
(numeric count), chcount ( character count ) wdkYudk Integer type owfrSwfay;xm;
ygonf/
11/ yxrOD;pGm Data xnfh&eftwGuf Message ay:vmap&ef atmufygy½dk*&rf
ydkif;udk a&;om;&ygrnf-
Write ( 'Enter a string = ' ) ;
Readln (st);
12/ xdkYaemuf ncount ESifh chcount wdkYudk okn (0) rSpía&wGufyg[k owfrSwf
azmfjyay;&ygonf/ for Looping udktoHkjyKí Sentence (st) udk ppfxkwfay;&mwGif 1
rSpí Sentence (st) qHk;onftxdwpfBudrfNyD;wpfBudrf Count udkwpfpDwdk;í Looping
ygwf ckid ;f jcif;jzpfygonf/
13/ Looping ygwf N yD ; aomtcg Numeric ES i f h Character pmvH k ; rsm;ud k
cGJjcm;ppfxkwf&ef if statement udkoHk;í Condition udk ppfxw k af y;&ygonf/ yxrOD;pGm
Numeric wdkYudk ppf&mü Sentence xJwGifyg0ifaompmvHk;rsm;onf oknxufBuD;rnf
(odrYk [kw)f nDrnfEiS hf (9) xufi,frnf(odrYk [kw)f nDrnfqydk gu ncount udk wpfw;kd ay;Ny;D
ncount + 1 tjzpfowfrSwfa&;ay;& rnfjzpfygonf/ qdkvdkonfrSm wpfESifhudk;&Sd *Pef;
wpfvHk;vHk;udkawGUwdkif; wpfpDwdk;cdkif;oGm; jcif;jzpfygonf/ Character pmvHk;rsm;jzpfaom
t*Fvdyftu©&m 'A' rS 'Z' txd&Sdaom pm;vHk;rsm;xJrS wpfvHk;vHk;udk awGUwdkif; chcount
udk wpfwdk;ay;NyD;? count + 1 tjzpf owfrSwfay;ygrnf/
14/ tajzazmfjy&mü Numeric rnfrQyg0ifonf? Character pmvH;k rnfrQyg0ifonf
wdkYudk toD;oD;azmfjyay;&ef atmufygtwdkif;a&;om;&ayrnf-
Writeln ( ' The Numeric count = ' , ncount ) ;
Writeln ( ' The alphabetic character count = ' , chcount ) ;
Example (3)
15/ y&kd*&rfukd Find_and_Replace [ktrnfay;xm;ygonf/ character pmvk;H rsm;
ESihf *Pef;rsm;ukd &SmazGppfxkwfay;NyD;? trSefpmvkH;ukd jyefvnftpm;xkd;&mwGif tokH;jyK
ygonf/ variable tjzpf st ukd string type owfrw S af y;xm;ygonf/ st1, st2 wkdYukd
uGefysLwmvufpJG 94
avhusifhcef;
19/ ½dkufxnfhvdkufonfh pmESifhudef;*Pef;rsm;udk ppfaq;NyD;aemuf &&dSrnfhtajzudk
azmfjyonfh y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program sum_digit;
var st :string;
i,num,code,sum :integer;
begin
write('enter a string =');
readln(st);
sum:=0;
for i:=1 to length(st) do
begin
val(st[i],num,code);
if code=0 then sum :=sum+num
else begin
writeln('it is not a numeric string =');
halt;
end;
end;
writeln('the sum of the given string is ',sum);
end.
uGefysLwmvufpJG 96
Chapter (6)
FUNCTION AND PROCEDURE
Standard Functions
3/ pHowfrwS xf m;aom Functions rsm;/ pHowfrw
S x
f m;aom Functions rsm;udk
atmufygtwdkif; azmfjytyfygonf-
(u) String Handling Functions
E.g. ( copy, pos, length, ... )
( *) Arithmetic Functions
E.g. ( Abs, Cos, Trune, ... )
Standard procedures
5/ pHowfrSwfxm;aom procedures/ pHowfrSwfxm;aom procedures wdrYk mS
atmufygtwdkif; jzpfygonf-
(u) String Handling Procedures
E.g. ( Str, Val, Delete, Insert, ... )
Example (1)
6/ Function toH;k jyKaom y½d* k &rf\trnfukd Even_or_Odd; [k trnfay;xm;
ygonf/ integer *Pef;rsm;xJrS pHu k ed ;f ( Even )? rude;f ( Odd )wdu
Yk kd cJjG cm;azmfjyay;aom
y½d*k &rfjzpfygonf/ y½d*k &rfwiG f Variable tjzpf ½dkufxnfh&rnfh Number *Pef;rsm;udk
uGefysLwmvufpJG 98
9/ *Pef;ud½k u
kd x f nfrh nfjzpfí Readln (num); [k a&;&ygrnf/ xdaYk emuf ½du k x
f nfh
aom *Pef;udk y½d*k &rfrS ppfxwk Nf y;D ? tajzxkwaf y;Edik &f ef atmufygtwdik ;f a&;&ygrnf-
Result := Test (num);
Example (2)
12/ Function oHk; y½dk*&rfudk Fibonacci [ktrnfay;xm;ygonf/ 4if;y½dk*&rfrSm
udef;*Pef;rsm;aygif;&mwGif yxrudef;ESifh 'kwd,udef;aygif;NyD; wwd,udef; udk&NyD;?
'kwd,udef;ESifh wwd,udef;udkaygif;NyD; pwkw¬udef;udkazmfjyay;aom y½dk*&rfykpäm jzpfyg
onf/ Variable owfrSwf&mwGif Number ESifh i udk udef;jynfh integer type tjzpf
owfrw S x
f m;ygonf/ Function name rSm Fibo jzpfí udef;vHk;a& n udkvnf; udef;jynfh
integer type tjzpf owfrw S x
f m;ygonf/ temp udkvnf; integer type tjzpf owfrSwf
ay;xm;ygonf/ y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program fibonacci;
var no,i : integer;
function fibo(n : integer): integer;
var temp : integer;
uGefysLwmvufpJG 100
begin
if n=0 then fibo:=0
else if n=0 then fibo :=1
else fibo :=fibo(n-1)+fibo(n-2);
end;
begin
write(‘enter total noof sequence =’);
readln(no);
for i:=0 to no do
writeln(fibo(i));
end.
22/ 4if; y½d*k &rfukd Run vdu k af omtcg Enter total no of Sequence = [k ude;f vH;k a&
azmfjycdkif;aom pmom;ay:vmygrnf/ nDrQjcif;aemufwGif 3 ½dkufxnfhNyD;aemuf Enter
ESyd yf gu 1, 2, 3 *Pef;oHk;vHk;\aygif;v'ftajzudk atmufygtwdkif; azmfjyay;ygrnf-
The total no of value is 6
Example (4)
24/ txufyg y½dk*&rfudk Function toHk;jyKí a&;xm;NyD;? y½dk*&rftrnfudk Power
[k ay;xm;ygonf/ ESpfxyfudef;&if;wefzdk;rsm;udk wGufcsufay;rnf jzpfygonf/ 22 = 4,
42 = 16 ponfjzifh wefbdk;udk az:jyay;jcif;jzpfygonf/ y½dk*&rfwGif tajcudef; Base
ESifh xyfñTef; Power wdkYudk udef;jynfh (integer) type owfrw S x f m;ygonf/ Function
name udv k nf; Power ay;xm;Ny;D ? tajcude;f Base ESihf ude;f vH;k a& n wdu
Yk v
kd nf; ude;f jynfh
(integer) owfrSwfxm;ygonf/ y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program power1;
var base,pow : integer;
function power(base:integer ; n:integer):integer;
begin
if n=0 then power:=1
else power :=base*power(base,n-1);
end;
begin{Main}
write(‘Enter base and power =’);
readln(base,pow);
103 Turbo Pascal 7.0
writeln(‘Result is ‘,power(base,pow));
end.
26/ xdkYaemuf Base ESifh Power wdkYudk xnfhay;NyD;? tajz Result azmfjy&ef Result
is = ay:ap&ef Writeln ( 'Result is =", power (Base, Pow)); [ka&;&ygonf/
y½dk*&rfNyD;qHk;aomtcg oufqdkif&mae&mwGif End. ESifhtqHk;owfay;&ygonf/
27/ y½d*k &rfukd Run aomtcg Enter Base and Power = [kay:vmygrnf/ nDrQjcif;
aemufwGif tajcudef; Base udk 2 ESifh xyfudef; Power udkvnf; 2 ½dkufxnfhay;NyD;
Enter ESy
d yf g/ y½d*k &rfNy;D qH;k í Alt + F5 ESdyfMunfhygu tajzudk Result is = 4 [k az:jy
ay;ygrnf/
28/ Enter Base and Power = 5, 2 tajcude;f 5 ESihf Power 2 ( 5 \ ESpx
f yfued ;f &if;
&Smvdyk gu) 5, 2 ½dkufxnfhNyD;? Run vdkygu tajzudk Result is = 25 [k azmfjyrnf
jzpfygonf/
Example(5)
29/ y½d k * &rf o nf Procedure ud k toH k ; jyKNyD ; a&;om;xm;jcif ; jzpf y gonf /
y½dk*&rf\trnfudk mathematic_Calculation [ktrnf ay;xm;ygonf/ ocsmF qdik &f m
taygif;? tEkwf? tajr§muf? tpm; (operator) oauFwrsm;udk toHk;jyKí udef;*Pef;
rsm;udk ajz&Sif;wGufcsufjcif;wGif toHk;jyKygonf/ 4if; y½dk*&rfwGif Variable tjzpf x ESifh
y udk integer type tjzpfowfrSwfay;NyD; ( Answer ) tajzudk character type tjzpf
owfrSwfxm;ygonf/ y½dk*&rfudk atmufygtwdkif; a&;om;Edkifygonf-
program mathematic_calculation;
var x,y :integer;
ans :char;
procedure addition;
uGefysLwmvufpJG 104
var sum : integer;
begin
sum :=x+y;
writeln(‘addition of two number =’,sum);
end;
procedure substraction;
var s : integer;
begin
s :=x-y;
writeln(‘substraction of two number =’,s);
end;
procedure multiply;
var prod : integer;
begin
prod:=x*y;
writeln(‘multiply of two number =’,prod);
end;
procedure divide;
begin
if(y=0) then writeln(‘error : divided by zero ‘)
else writeln(‘division of two number =’,x div y);
end;
procedure menu;
begin
writeln(‘1. Addition’);
writeln(‘2. Substraction’);
writeln(‘3. Multiplication’);
writeln(‘4. Division’);
writeln(‘5. Quit’);
write(‘Choose Any One’);
readln(ans);
end;
begin{main program}
105 Turbo Pascal 7.0
write(‘enter two integer number =’);
readln(x,y);
repeat
menu;
case upcase(ans) of
‘1’, ‘a’,'A' : Addition;
‘2’, ‘s’,'B' : Substraction;
‘3’, ‘m’,'C' :Multiply;
‘4’, ‘d’,'D' : Divide;
end;
until upcase(ans) in [‘5’, ‘q’,'Q'];
end.
31/ 'kw, d procedure rSm Ekwjf cif;twGujf zpfí procedure substraction [k a&;ay;
&ygrnf/ Variable tjzpf Substraction \twdkaumuf S [k owfrSwfNyD; integer
owfrw S x
f m;ygonf/ y½d*k &rfpaomtcg S : = x - y; [ka&;NyD;? x wefbdk;xJrS y wefb;kd udk
Ekwfí S xJodkY xnfhjcif;udk a&;jcif;jzpfygonf/ *Pef;ESpfvHk;Ekwfjcif;twGuf Writeln
('Substraction of two numbers = ', S ); a&;&ygrnf/
32/ wwd, procedure rSm ajrm§ ufjcif;twGujf zpfí Procedure Multiply [ka&;ay;
&ygrnf/ Variable tjzpf Product \twdak umuf Prod [k owfrw S Nf y;D type udk integer
owfrSwfay;xm;ygonf/ y½dk*&rfpaomtcg x ESifh y wefzdk;ESpfckudk ajr§mufNyD; prod
xJoYkd xnfjh cif;[k a&;jcif;jzpfygonf/ xdaYk emuf *Pef;ESpv
f ;kH ajrm§ ufjcif;twGuWriteln
f
(' Multiply of two Numbers = ', prod ); [k a&;&ygrnf/
Example (6)
41/ y½d*k &rfukd procedure oH;k í a&;om;xm;Ny;D ? Transport1; [k trnfay;xm;onf/
rufx&pfrsm;udk Row (tvsm;vdkufwef;)ESifh Column (a'gifvdkufwdkif)wdkYudk ae&mcsif;
ajymif;vJay;aom y½d*k &rfjzpfygonf/ y½d*k &rfwiG f Array type udk rufx&pfEpS cf x k m;&SNd y;D
rufx&pfwpfckpDwGif integer udef;jynfh*Pef; (10)vHk;txdom vufcHxm;&SdEdkifap&ef
Atype = Array [1..10, 1..10] of integer [k a&;&ygonf/ Variable tjzpf 4if;rufx&pf
rsm;&Sd Row ESifh Column wdkYudk integer ude;f jynf*h Pef;owfrw S af y;xm;ygonf/ azmfjyrnfh
List ESifh Transport list wdkYudk Array type tjzpf owfrw S x
f m;ygonf/ y½d*k &rfukd atmufyg
twkdif; a&;om;&ygrnf-
program Transport1;
type AType=Array[1..10,1..10] of integer;
var row,col:integer;
list,Tlist:Atype;
procedure InputArray(var list:AType; row,col :integer);
var r,c :integer;
begin
for r:=1 to row do
for c:=1 to col do
uGefysLwmvufpJG 108
begin
write(‘Enter an integer for list =','[',r,c,']');
readln(list[r,c]);
end;
end;
procedure OutputArray(list:Atype;row,col :integer);
var r,c :integer;
begin
writeln;writeln;
for r:=1 to row do
begin
for c:=1 to col do
write(list[r,c]:5);
writeln;
end;
end;
45/ ½dkufxnfh&ef integer *Pef; row ESifh Col wdkYudk ay:ap&ef atmufygtwdkif;
a&;&ygonf-
Write ( 'Enter an integer for list ','[' ,r,c, ']');
53/ Input Array wGif rdrdrS Data ½dkufxnfhay;&ef Input Array ( list, row, Col );
[ka&;&ygrnf/ wpfzef rdrd½dkufxnfhay;aom Data rsm;udk List ESifhazmfjy&ef Output
Array ( list, row, Col ); [ka&;NyD; 4if; List udk row ESifh Col ajymif;vJay; aponfh
Transport list ay:ap&ef Transport ( list , Tlist, row, Col ); [ka&;&ygonf/ xdaYk emuf
tajzudk List ESifh azmfjy&ef Output Array ( Tlist, Col , row ); [ka&;NyD; oufqdkif&m
begin atmufwGif end. ESifhydwfí y½dk*&rfudk tqHk;owf&ygonf/
54/ 4if;y½dk*&rfudk Run vdu k yf gu Enter no. of row & Col = [k ay:vmrnf/
nDrQjcif;aemufwGif (2,2)[k ½dkufjcif;rSm row = 2, Col = 2 owfrSwfjcif;jzpfí Enter
ESdyfygu aemufwpfvdkif;wGif Enter an integer for list [11] [k ay:vmygrnf/ 4if;
row1, Col1 ae&mwGif Data xnfhay;&ef jzpfygonf/ ½dkufxnfhNyD;ygu Enter ESdyfvQif
aemufwpfvikd ;f wGif row1, Col2 ae&mtwGuf [12] ay:vmygrnf/ 4if;aemufwiG v f nf;
1 udkyif ½dkufxnfhay;NyD; Enter ESyd yf gu row2, Col1 ae&mtwGuf [21], row2 Col2
ae&mtwGuf [22] [kay:vmygrnf/ 4if;ae&mrsm;wGif 2 *Pef;udk ½dkufxnfhNyD;? Enter
ESdyfyg/ y½dk*&rf looping NyD;qHk;NyD; Alt + F5 ESdyfMunfhygu tajzudk uGefysLwmwGif
atmufygtwdkif;azmfjyygrnf-
Output Array List
1 1
2 2
Transport list
1 2
1 2
111 Turbo Pascal 7.0
avhusifhcef;(1)
55/ Combination udk Function toHk;jyKí wGufcsufonfh y½dk*&rfudk atmufyg
twdkif; a&;om;avhvmEdkifygonf-
program Combination;
var r,n,ways :integer;
function facto(a:integer) :integer;
var i,f :integer;
begin
f:=1;
for i:=1 to a do
f:=f*i;
facto:=f;
end;
begin {main}
write(‘Enter n and r =’); readln(n,r);
ways:=facto(n) div (facto(r)*facto(n-r));
writeln(‘Total combination =’, ways:5);
end.
avhusifhcef;(2)
56/ String wpfckzefwD;í ½dkufxnfhvdkufonfh pmaMumif;udk pmvHk;BuD;rsm;jzifh azmfjy
aponfh y½dk*&rfudk atmufygtwdkif; a&;om;avhvmEdkifygonf-
program Upper_Case;
var st,st1 :string;
function UpCaseStr(S:string):string;
var i:integer;
begin
for i:=1 to length(S) do
if (S[i]>=’a’) and (S[i]<=’z’) then Dec(S[i],32);
UpCaseStr:=S;
end;
begin
write(‘Enter a sentence = ‘);
readln(st);
st1:=upCaseStr(st);
uGefysLwmvufpJG 112
writeln(‘The result is = ‘,st1);
end.
avhusifhcef;(3)
57/ ½dkufxnfhvdkufonfh udef;*Pef;ta&twGuftwdkif; aygif;v'fudk Funtion udk
tjyeftvSeftoHk;jyKí wGufcsufazmfjyaponfh y½dk*&rfudk atmufygtwdkif; a&;om;
avhvmEdkifygonf-
program recursion;
uses crt;
var no :integer;
function sum(n:integer) :integer;
begin
if n=0 then sum:=0
else sum:=n+sum(n-1);
end;
begin
clrscr;
write(‘Enter total [Link] sequence =’);
readln(no);
writeln(‘The total [Link] value is =’,sum(no));
end.
avhusifhcef;(4)
58/ owfrSwfxm;onfh trnfrsm;udk Funtion toHk;jyKí azmfjyaponfh y½dk*&rfudk
atmufygtwdkif; a&;om;avhvmEdkifygonf-
program nameslist;
uses crt;
type names = packed array[1..20] of char;
var name1,name2,name3: names;
procedure printout (x : names);
var count : integer;
begin
count :=0;
113 Turbo Pascal 7.0
repeat
count := count+1;
write(x[count]);
until count = 20;
writeln;
end;
begin
clrscr;
name1 :=’pascal is ’;
name2 := ‘an excellent ’;
name3 := ‘language. ’;
printout(name1);
printout(name2);
printout(name3);
writeln;
end.
avhusifhcef;(5)
59/ owfrSwfxm;onfh vlem\ trnf? touf? wufa&mufukoonfh&uf? aq;½Hk
qif;Edik rf t
I ajctaersm;udk Funtion toH;k jyKí azmfjyaponfh y½d*k &rfukd atmufygtwdik ;f
a&;om;avhvmEdkifygonf-
program records1;
uses crt;
var patientinformation : record
name :string[30];
age :integer;
dayhere:integer;
releaseready:boolean;
end;
procedure inputinformation;
begin
uGefysLwmvufpJG 114
[Link] := 'mg mg';
[Link] := 30;
[Link] := 5;
[Link] := true;
end;
procedure outputinformation;
begin
writeln ('name = ',[Link]);
writeln ('age = ',[Link]);
writeln ('dayhere = ',[Link]);
writeln ('releaseready = ',[Link]);
end;
{main program}
begin
clrscr;
inputinformation;
outputinformation;
end.
115 Turbo Pascal 7.0
Chapter (7)
Records and File
Record
1/ Record qdkonfrSm Data type csif;wlonfjzpfap? rwlonfjzpfap 4if;ESifh
oufqdkifaom Data tcsuftvufrsm;udk pkaygif;zJGUpnf;xm;jcif;jzifh &&Sdvmaom
tcsut f vuf tpkta0;wpfcu k kd Record [kac:ygonf/ Pascal y½d*k &rfwiG f ½d;k ½d;k omref
Variable wpfckwGif Data udk wpfrsKd;om odrf;EdkifNyD; Array wGif Data trsm;tjym;
odr;f Edik yf gonf/ od&Yk mwGif 4if; Data &Sd Data type rsm;onf wpfrsK;d wpfpm;wnf; jzpf&ygrnf/
Record wpfckwGifrl Data type rsm;onf wpfckESifhwpfck rwlnDbJ pkaygif;wnfaqmuf
xm;jcif;vnf; jzpfEikd yf gonf/
Oyrm-
var x : Real;
var x : Array [ 1..3 ] of integer;
Students Record
Name Age Sex M/F Myan Eng Maths