Gi¸o tr×nh Turbo pascal
ch¬ng I
Nh÷ng kiÕn thøc c¬ b¶n
1. Ng«n ng÷ lËp tr×nh
a. LËp tr×nh lµ g× ?
LËp tr×nh lµ c¸c thao t¸c ®a ý nghÜ cña con ngêi theo mét tr×nh tù cã hÖ thèng vµo
m¸y tÝnh, yªu cÇu m¸y tÝnh thùc hiÖn.
b. Ng«n ng÷ lËp tr×nh
Lµ c¸c phÇn mÒm mµ nhê ®ã c¸c kü thuËt viªn m« pháng l¹i c¸c thao t¸c trªn ng«n
ng÷ ®ã th«ng qua c¸c qui t¾c qui íc mµ ng«n ng÷ ®Ò ra. Ng«n ng÷ lËp tr×nh cã chøc n¨ng
chuyÓn toµn bé ch¬ng tr×nh sang m· m¸y ®Ó m¸y tÝnh cã thÓ thùc hiÖn vµ ®a ra kÕt qu¶.
2. Bµi to¸n tin häc vµ c¸ch gi¶i quyÕt
a. Bµi to¸n tin häc lµ g×?
Bµi to¸n trong Tin häc kh«ng dïng ®Ó chØ mét bµi to¸n cô thÓ, mµ chØ mét líp c¸c
bµi to¸n cô thÓ thuéc cïng mét lo¹i. Mét bµi to¸n tin häc ®îc cÊu t¹o bëi hai yÕu tè sau:
+ Th«ng tin vµo (Input): Lµ c¸c th«ng tin ta cã.
+ Th«ng tin ra (Output): Lµ c¸c th«ng tin cÇn t×m hoÆc c©u tr¶ lêi cÇn thiÕt
VÝ dô: §Ó gi¶i bµi to¸n tÝnh diÖn tÝch tam gi¸c b»ng c«ng thøc S=a*h/2.
+ Th«ng tin vµo: Lµ c¹nh ®¸y a vµ ®êng cao h
lÖ.
+ Th«ng tin ra : Lµ diÖn tÝch tam gi¸c S hoÆc lµ dßng th«ng b¸o d÷ liÖu kh«ng hîp
b. ThuËt to¸n (algorithm)
ThuËt to¸n lµ mét qu¸ tr×nh gåm mét d·y h÷u h¹n c¸c thao t¸c ®¬n gi¶n ®îc s¾p xÕp
theo mét tr×nh tù x¸c ®Þnh sao cho theo ®ã tõ Input cña bµi to¸n ta sÏ t×m ® îc Output hoÆc
kh¼ng ®Þnh kh«ng cã Output nh bµi to¸n ®ßi hái. ChØ nh÷ng qu¸ tr×nh nh vËy míi cã kh¶
n¨ng chuyÓn giao m¸y tÝnh thùc hiÖn ®îc.
VÝ dô: Trë l¹i bµi to¸n tÝnh diÖn tÝch tam gi¸c, thuËt to¸n nh sau:
+ Bíc 1: Cho gi¸ trÞ cña c¹nh ®¸y a vµ ®êng cao h
+ Bíc 2: KiÓm tra
bíc 3
- NÕu a>0 vµ h>0 th× ®i tÝnh diÖn tÝch theo c«ng thøc S=a*h/2 vµ xuèng
- Ngîc l¹i th«ng b¸o d÷ liÖu kh«ng hîp lÖ vµ quay vÒ bíc 1
+ Bíc 3: In diÖn tÝch S.
c. M« t¶ thuËt to¸n qua s¬ ®å
§Ó m« t¶ mét c¸ch trùc quan h¬n vÒ thuËt to¸n ngêi ta dïng s¬ ®å khèi. Qua s¬ ®å
khèi ngêi lËp tr×nh cã thÓ quan s¸t c¸c bíc cña thuËt to¸n còng nh dßng th«ng tin h×nh
thµnh vµ biÕn ®æi trong qu¸ tr×nh thuËt to¸n lµm viÖc.
__16__
Gi¸o tr×nh Turbo pascal
ViÖc thÓ hiÖn thuËt to¸n ngêi ta qui íc dïng c¸c khèi sau ®Ó thÓ hiÖn.
- ThÓ hiÖn sù b¾t ®Çu vµ kÕt thc ch¬ng tr×nh
- ThÓ hiÖn viÖc nhËp, xuÊt d÷ liÖu.
- Chøa c¸c c«ng thøc,c©u lÖnh tÝnh to¸n
- Chøa c¸c biÓu thøc ®iÒu kiÖn, vµ ®Ó rÏ nh¸nh
ch¬ng tr×nh.
- Dïng ®Ó gäi ch¬ng tr×nh con
DÉn híng ch¬ng tr×nh vµ nèi c¸c khèi trong thuËt
to¸n víi nhau
3. CÊu tróc cña mét ch¬ng tr×nh pascal
Mét ch¬ng tr×nh Pascal bao gåm c¸c thµnh phÇn sau:
PhÇn 1: Tªn ch¬ng tr×nh
Lu«n b¾t ®Çu bëi tõ kho¸ Program
PROGRAM
Tªn_ch¬ng_trinh;
PhÇn 2: Khai b¸o
USES
Tªn_c¸c_Unit; {Khai b¸o th viÖn dïng trong ch¬ng tr×nh}
CONST C¸c h»ng;{Khai b¸o h»ng sö dông trong ch¬ng tr×nh}
TYPE
VAR
C¸c_kiÓu_d÷_liªu_míi;{Khai b¸o kiÓu d÷ liÖu míi}
C¸c_biÕn;{Dïng ®Ó khai b¸o biÕn sö dông trong ch¬ng tr×nh}
PROCEDURE
FUNCTION
C¸c_thñ_tôc;{Khai b¸o c¸c thñ tôc}
C¸c_hµm; {Khai b¸o c¸c hµm}
PhÇn 3: Th©n ch¬ng tr×nh
BEGIN
{B¾t ®Çu ch¬ng tr×nh}
{ C¸c c©u lÖnh }
END. {KÕt thóc ch¬ng tr×nh}
4. C¸c bíc so¹n th¶o vµ ch¹y mét ch¬ng tr×nh Pascal c¬ b¶n
__17__
Gi¸o tr×nh Turbo pascal
Bíc 1: Khëi ®éng Pascal
TÖp ®Ó ch¹y ch¬ng tr×nh Pascal lµ tÖp TURBO.EXE. Muèn khëi ®éng Pascal ta ph¶i
ch¹y tÖp nµy.
Gi¶ sö trong æ C: cã th môc TP trong th môc TP cã tÖp Turbo.exe. Khëi ®éng ch¬ng
tr×nh Pascal ta gâ lÖnh nh sau:
C:\TP\TURBO
Bíc 2: So¹n th¶o ch¬ng tr×nh
Sau khi ch¬ng tr×nh Pascal khëi ®éng, ta tiÕn hµnh so¹n th¶o ch¬ng tr×nh theo cÊu
tróc nh phÇn 3. Sau khi so¹n th¶o xong ta Ên phÝm F2 ®Ó ghi v¨n b¶n ch¬ng tr×nh vµo m¸y.
NÕu muèn më ch¬ng tr×nh ®· cã trong m¸y ta dïng phÝm F3.
Bíc 3: Biªn dÞch vµ ch¹y ch¬ng tr×nh
Khi hoµn tÊt ch¬ng tr×nh ta Ên phÝm F9 ®Ó dÞch ch¬ng tr×nh, Pascal sÏ th«ng b¸o cho ta
nh÷ng lçi có ph¸p nÕu trong ch¬ng tr×nh cã, tiÕn hµnh söa ch÷a c¸c lçi cho ch¬ng tr×nh hoµn
chØnh.
tr×nh.
Khi ch¬ng tr×nh ®· ®îc biªn dÞch xong ta Ên tæ hîp phÝm CTRL + F9 ®Ó ch¹y ch¬ng
Bíc 4: Tho¸t khái Pascal
§Ó tho¸t khái Pascal ta Ên tæ hîp phÝm ALT + X
ch¬ng II
c¸c kh¸i niÖm c¬ b¶n
I. Mét sè qui íc trong ng«n ng÷
1. Bé kÝ tù
Turbo Pascal ®îc x©y dùng víi bé kÝ tù sau:
- C¸c ch÷ c¸i: 26 ch÷ c¸i hoa (A,B,......,Z)
26 ch÷ thêng (a,b,......z)
__18__
Gi¸o tr×nh Turbo pascal
- C¸c ch÷ sè thËp ph©n: 0,1,2,3,4,5,6,7,8,9
- C¸c dÊu to¸n häc th«ng dông: + -
* / > >= < <= = ( )....
- DÊu g¹ch nèi _
- C¸c kÝ hiÖu ®Æc biÖt:
; . {} [ ] : % & @ $ # ^ ! ‘ “ ?
2. Tõ kho¸ (Key word)
Tõ kho¸ lµ c¸c tõ dµnh riªng cho Turbo Pascal, mçi tõ cã mét chøc n¨ng nhÊt ®Þnh.
Khi sö dông ph¶i dïng ®óng víi có ph¸p.
Mét sè tõ kho¸:
BEGIN
CONST
VAR
END PROCEDURE
FUNCTION PROGRAM
TYPE
FOR
IF
THEN
vvv......
3. Tªn hay danh hiÖu (Indentifier)
Tªn lµ mét d·y kÝ tù ®îc t¹o thµnh tõ c¸c ch÷ c¸i, ch÷ sè vµ dÊu g¹ch nèi. Tªn thêng dïng ®Ó ®Æt tªn cho c¸c ®¹i lîng trong ch¬ng tr×nh nh tªn biÕn, h»ng, tªn kiÓu d÷ liÖu
míi vv....
KÝ tù ®Çu tiªn cña tªn kh«ng ®îc lµ ch÷ sè.Tªn cã ®é dµi tuú ý nhng chØ cã 63 kÝ tù
®Çu tiªn lµ cã ý nghÜa, tªn kh«ng ®îc trïng víi tªn cña tõ kho¸.
* Tªn chuÈn: lµ tªn do Turbo Pascal ®Þnh nghÜa tríc dïng chØ c¸c hµm, h»ng, biÕn,
thñ tôc th viÖn cña turbo Pascal.
* Tªn do ngêi lËp tr×nh ®Æt: §Æt tuú ý nhng ph¶i tu©n thñ theo nguyªn t¾c cña Pascal
nh tªn biÕn, tªn ch¬ng tr×nh, tªn kiÓu d÷ liÖu míi.....
4. Dßng chó thÝch
Trong qu¸ tr×nh so¹n th¶o ch¬ng tr×nh ®Ó lµm s¸ng tá nh÷ng ®o¹n ch¬ng tr×nh,
nh÷ng dßng lÖnh cô thÓ hoÆc mét c«ng viÖc nµo ®ã, ngêi lËp tr×nh thêng ®a thªm vµo ch¬ng tr×nh dßng chó thÝch, lêi gi¶i thÝch ®Ó lµ s¸ng tá vÊn ®Ò cÇn nªu. Dßng chó thÝch ®îc ®Æt
trong hai dÊu ngoÆc sau {}
VÝ dô: PROGRAM
TG; {Khai b¸o tªn ch¬ng tr×nh tÝnh diÖn tÝch tam gi¸c}
5. DÊu chÊm phÈy
DÊu chÊm phÈy “ ; ” th êng n»m sau c¸c c©u lÖnh nh»m ng¨n c¸ch gi÷a c¸c c©u
lÖnh víi nhau, kh«ng lªn hiÓu dÊu “ ; ” dïng ®Ó kÕt thóc mét c©u lÖnh.
II. C¸c kiÓu d÷ liÖu
1. KiÓu logic (Boolean)
- ChØ cã hai gi¸ trÞ: TRUE (®óng), FALSE (sai).
- Quy íc: FALS < TRUE.
- C¸c phÐp to¸n: AND, OR, XOR, NOT.
- T¸c dông cña c¸c phÐp to¸n thÓ hiÖn qua b¶ng:
P
Q
NOT P
P AND Q
P OR Q
__19__
P XOR Q
Gi¸o tr×nh Turbo pascal
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
FALSE
TRUE
FALSE
FALSE
FALSE
Trong ®ã P vµ Q lµ hai gi¸ trÞ kiÓu Boolean.
2. KiÓu sè nguyªn
- Cã n¨m kiÓu sè nguyªn ®îc tæng kÕt qua b¶ng sau:
Tªn
MiÒn gi¸ trÞ
Yªu cÇu bé nhí
Shortint
-128 ®Õn 127
1 bytes
Integer
-32768 ®Õn 32767
2 bytes
Longint
- 2147483648 ®Õn 2147483647
4 bytes
Byte
0 ®Õn 255
1 byte
Word
0 ®Õn 65535
2 bytes
- C¸c phÐp tÝnh:
+
céng
/
chia
-
trõ
DIV
chia lÊy phÇn nguyªn
*
nh©n
MOD chia lÊy sè d cña hai sè nguyªn
VÝ dô: 5/2=2.50
5 DIV 2=2
5 MOD 2=1
Chó ý:
- Khi viÕt c¸c sè nguyªn ph¶i tu©n theo c¸c quy ®Þnh: kh«ng cã kho¶ng trèng gi÷a
c¸c sè, dÊu + hay - (nÕu cã) ph¶i ®Æt ngay trícch÷ sè ®Çu tiªn, kh«ng ®îc sö dông dÊu
chÊm thËp ph©n.
- Khi thùc hiÖn c¸c phÐp tÝnh trªn sè nguyªn, ph¶i hÕt søc thËn träng xem c¸c phÐp
to¸n ®ã cã cho kÕt qu¶ vît qu¸ ph¹m vi biÓu diÔn cña sè nguyªn hay kh«ng. VÝ dô khai
b¸o a, b lµ d÷ liÖu kiÓu Integer. Khi ®ã hai c©u lÖnh sau:
a:=80;
b:=(a*1245)Div 200;
cho kÕt qu¶ sai v× a*1245 = 99600 vît qu¸ ph¹m vi cña Integer.
3. KiÓu sè thùc
- Cã n¨m kiÓu sè thùc, ®îc tæng kÕt qua b¶ng sau:
Tªn
Single
Ph¹m vi biÓu diÔn
Yªu cÇu bé nhí
1.5*10-45 ®Õn 3.4*1038
4 bytes
__20__
Gi¸o tr×nh Turbo pascal
Real
2.9*10-39 ®Õn 1.7*1038
6 bytes
Double
5.0*10-324 ®Õn 1.7*10308
8 bytes
Extended
3.4*10-4932 ®Õn 1.1*104932
10 bytes
Comp
-9.2*1018 ®Õn 9.2*1018
8 bytes
Gi¶i thÝch: Ph¹m vi biÓu diÔn cña bèn kiÓu ®Çu ®îc hiÓu nh sau: m¸y cã thÓ lu tr÷ ®îc mét
sè kiÓu Single cã gi¸ trÞ tuyÖt ®èi trong kho¶ng tõ 1.5*10 -45 ®Õn 3.4*1038. Sè cã trÞ tuyÖt ®èi
<1.5*10-45 ®îc xem b»ng 0, sè cã trÞ tuyÖt ®èi > 3.4*10 38 kh«ng biÓu diÔn ®îc. Ph¹m vi biÓu
diÔn cña c¸c kiÓu cßn l¹i ®îc hiÓu t¬ng tù.
®éng.
C¸c gi¸ trÞ thùc ®îc biÓu diÔn theo hai c¸ch: d¹ng dÊu phÈy tÜnh vµ d¹ng dÊu phÈy
- C¸ch viÕt sè thùc theo d¹ng dÊu phÈy tÜnh: viÕt d¹ng thËp ph©n b×nh thêng.
VÝ dô: 2.25, 5.0, -25.56812, 0.0256
- C¸ch viÕt sè thùc theo d¹ng dÊu phÈy ®éng: sè ®îc t¸ch thµnh hai phÇn lµ ®Þnh trÞ
vµ bËc. PhÇn ®Þnh trÞ lµ mét sè nguyªn hay sè thùc viÕt díi d¹ng dÊu phÈy tÜnh. PhÇn bËc
lµ mét sè nguyªn. Hai phÇn c¸ch nhau bëi ch÷ E hay e.
VÝ dô:
123.456E-4
: biÓu diÔn sè 0.0123456
0.12E+5
: biÓu diÔn sè 12000.0
-52.4e2
: biÓu diÔn sè –5240.0
C¸c ký tù biÓu diÔn mét sè thùc ph¶i viÕt liÒn nhau.
- C¸c phÐp to¸n ®èi víi sè thùc: + (céng), - (trõ), * (nh©n), / (chia). Kh«ng tån t¹i c¸c
phÐp to¸n DIV, MOD cho kiÓu sè thùc.
Chó ý: Trong mode th«ng thêng, Turbo Pascal chØ lµm viÖc víi kiÓu Real, khi ®ã nÕu
sö dông c¸c kiÓu thùc kh¸c m¸y sÏ b¸o lçi.
VÝ dô:
Var R: Double;
Begin
R:=12.12;
Write(R);
End.
Khi biªn dÞch m¸y sÏ b¸o lçi: Error 116: Must be in 8087 Mode to compile this.
Muèn dïng c¸c kiÓu Single, Double, Extended, Comp cã thÓ chän mét trong hai
c¸ch sau:
C¸ch 1:
Dïng bé coprocessor lµm to¸n cã sè hiÖu 80x87 (8087, 80287, 80387)
C¸ch 2:
Dïng th viÖn cña Turbo Pascal ®Ó xö lý c¸c sè thùc vµ bËt phÇn mÒm
gi¶ lËp 80x87. Râ rµng c¸ch lµm nµy sÏ chËm vµ hiÖu qu¶ thÊp h¬n so víi c¸ch dïng
coprocessor nhng cã u ®iÓm lµ ta cã thÓ dïng c¸ch nµy trªn tÊt c¶ c¸c may PC mµ phÇn
lín chóng ®Òu kh«ng cã 80x87.
__21__
Gi¸o tr×nh Turbo pascal
4. KiÓu kÝ tù (Char)
- Mét gi¸ trÞ kiÓu Char chiÕm 1 byte vµ biÓu diÔn ®îc mét ký tù th«ng qua b¶ng m·
ASCII. M· cña mét ký tù chÝnh lµ sè ký tù cña nã trong b¶ng m·. vÝ dô: m· (hay sè thø tù)
cña A lµ 65. Cã tÊt c¶ 256 ký tù ®¸nh sè tõ 0255. VËy cã 256 gi¸ trÞ kiÓu Char. Trong b¶ng
m· ASCII c¸c ký tù tõ 031 lµ c¸c ký tù ®iÒu khiÓn kh«ng in ra ®îc vµ dïng ®Ó ®iÒu khiÓn
qu¸ tr×nh vµo ra trªn ¸cc thiÕt bÞ ngo¹i vi. VÝ dô: Khi m¸y nhËn ®îc ký tù cã m· lµ 7 (Beep)
nã sÏ ph¸t ra 1 tiÕng chu«ng.
- §Ó biÓu diÔn 1 ký tù cã thÓ dïng 1 trong 3 c¸ch: §Æt ký tù trong 2 dÊu nh¸y ®¬n,
dïng hµm Chr(n), dïng #n( trong ®ã n lµ m· cña ký tù cÇn biÓu diÔn).
VÝ dô: §Ó biÓu diÔn ký tù A ta cã thÓ dïng 3 c¸ch: ‘A ’, Chr(65), #65.
- KiÓu ký tù chØ cã phÐp to¸n so s¸nh, sù so s¸nh dùa vµo m· cña ký tù.
VÝ dô: ‘A’ < ’a’ (v× 65 < 97)
- Hµm Upcase(ch): cho ra ký tù hoa t¬ng øng víi ký tù ch.
VÝ dô: Upcase(‘a’) = ‘A’ vµ Upcase(‘B’)= ‘B’
5. KiÓu x©u kÝ tù (String)
Mét gi¸ trÞ kiÓu String lµ mét ký tù bÊt kú ®Æt trong 2 dÇu nh¸y ®¬n. Sè ký tù cña d·y
kh«ng qu¸ 255 ký tù. X©u kh«ng cã ký tù nµo gäi lµ x©u rçng.
VÝ dô: ‘Ho va Ten’ lµ x©u gåm 9 ký tù.
‘’ ®©y lµ x©u rçng
III. Khai b¸o h»ng, biÕn, biÓu thøc c©u lÖnh
1. Khai b¸o h»ng
H»ng lµ ®¹i lîng cã gi¸ trÞ x¸c ®Þnh vµ kh«ng thay ®æi trong suèt qu¸ tr×nh ch¬ng
tr×nh thùc hiÖn. H»ng ®îc khai b¸o b»ng tõ kho¸ CONST nh sau:
CONST
Tªn h»ng = gi¸ trÞ h»ng;
Hay
CONST
Tªn h»ng = biÓu thøc h»ng;
VÝ dô:
CONST
Max = 150;
{h»ng nguyªn}
L = False;
{h»ng logic}
A = (5*4)/3; {h»ng thùc }
Ch = ‘Y’;
{h»ng ký tù}
Chóng ta sö dông c¸c h»ng ®Ó ch¬ng tr×nh ®îc râ rµng vµ dÔ söa ®æi.
2. Khai b¸o biÕn
__22__
Gi¸o tr×nh Turbo pascal
BiÕn (variable) lµ ®¹i lîng mµ trÞ cña nã cã thÓ thay ®æi khi thùc hiÖn ch¬ng tr×nh.
BiÕn lµ tªn cña mét vïng bé nhí lu tr÷ d÷ liÖu, mçi biÕn ph¶i thuéc vÒ mét kiÓu d÷ liÖu nhÊt
®Þnh. Vïng bé nhí cña biÕn kiÓu Integer chØ chøa ®îc c¸c gi¸ trÞ Integer.
BiÕn ®îc khai b¸o b»ng tõ kho¸ VAR nh sau:
VAR
Tªn biÕn: KiÓu d÷ liÖu cña biÕn;
NhiÒu biÕn cã cïng kiÓu cã thÓ ®îc khai b¸o cïng nhau b»ng c¸ch viÕt tªn c¸c biÕn
®Æt c¸ch nhau dÊu phÈy.
VÝ dô:
VAR
x,y,z:Real; chän:Char;Thoat:Boolean;
i,j:integer; ten:String[7];
Chó ý:
- BiÕn String khai b¸o tèi ®a lµ: String[255]. Mét biÕn String ®îc cÊp mét sè byte
b»ng ®é dµi cña nã céng thªm 1. Byte ®Çu tiªn dïng ®Ó ghi sè ký tù ®ang ® îc lu tr÷, mçi
byte cßn l¹i chøa mét ký tù.
- Cã thÓ võa khai b¸o võa khëi ®Çu (g¸n gi¸ trÞ) cho c¸c biÕn theo c¸ch sau:
Const x = 25.0;
Y:Real = -5.26;
Ho_ten:String[25]=’Lª Hung’;
Trong vÝ dô trªn chó ý ph©n biÖt x vµ y: x lµ h»ng thùc, y lµ biÕn thùc. Trong ch¬ng
tr×nh cã thÓ thay ®æi gi¸ trÞ cña y mµ kh«ng thay ®æi gi¸ trÞ cña x.
3. BiÓu thøc
Mét biÓu thøc ®îc t¹o bëi c¸c phÐp to¸n vµ c¸c to¸n h¹ng dïng ®Ó thÓ hiÖn mét
c«ng thøc to¸n häc. To¸n h¹ng cã thÓ lµ h»ng, hµm, biÕn.
VÝ dô: Sau khi cã khai b¸o:
Const Max = 120;
Var x: Integer;
Ta cã thÓ viÕt biÓu thøc sau: 5+ Max * Exp(x);
trong ®ã + vµ * lµ hai phÐp to¸n, c¸c h»ng sè 5, Max, Exp(x) lµ c¸c to¸n h¹ng.
gi¶n.
Chó ý: Mét h»ng, mét biÕn, mét hµm còng ®îc xem lµ biÓu thøc, ®ã lµ biÓu thøc ®¬n
C¸c phÐp to¸n trong biÓu thøc ®îc s¾p xÕp theo thø tù u tiªn sau:
(not).
- C¸c phÐp to¸n mét ng«i ®îc u tiªn thø nhÊt: dÊu d¬ng (+), dÊu ©m (-), phÐp phñ ®Þnh
- C¸c phÐp to¸n nh©n chia: phÐp nh©n (*), phÐp chia (/), lÊy phÇn nguyªn (div), lÊy
phÇn d (mod), phÐp vµ (and).
__23__
Gi¸o tr×nh Turbo pascal
- C¸c phÐp céng trõ: céng (+), trõ (-), phÐp hoÆc (or) .
- C¸c phÐp so s¸nh: <, <=, >, >=, =, <>.
Chó ý:
- BiÓu thøc trong ngoÆc nÕu cã sÏ ®îc thùc hiÖn tríc khi xÐt ®Õn c¸c phÐp
to¸n ë c¹nh dÊu ngoÆc.
- NÕu cïng mét thø tù u tiªn th× to¸n tö ®îc thùc hiÖn tõ tr¸i qua ph¶i.
VÝ dô:
a) 3+5*3=18, (3+5)*3=24, 5/2*3=7.5
b) (5+2>4) and not (true or (5-3=8))
c) (-b+sqrt(d))/2*a cã nghÜa lµ b
2
d
a
4. C©u lÖnh
Díi phÇn khai b¸o d÷ liÖu lµ phÇn lÖnh cña ch¬ng tr×nh. PhÇn nµy x¸c ®Þnh c¸c c«ng
viÖc mµ ch¬ng tr×nh ph¶i thùc hiÖn ®Ó xö lý c¸c d÷ liÖu ®· ®îc khai b¸o. C©u lÖnh ®îc chia ra
lµm hai lo¹i:
- C©u lÖnh ®¬n gi¶n:
LÖnh g¸n ( := )
LÖnh NhËp – XuÊt ( READ, WRITE )
Gäi Thñ tôc
LÖnh nh¶y ( GOTO)
- C©u lÖnh cã cÊu tróc:
LÖnh ghÐp ( BEGIN…..END )
LÖnh lùa chän (IF, CASE)
LÖnh lÆp (FOR, REPEAT, WHILE)
5. C©u lÖnh g¸n
LÖnh g¸n dïng ®Ó g¸n gi¸ trÞ cña mét biÓu thøc cho mé biÕn. LÖnh g¸n cã d¹ng:
BiÕn:= biÓu thøc;
Sù thùc hiÖn: ®Çu tiªn m¸y tÝnh trÞ cña biÓu thøc vÕ ph¶i sau ®ã nã g¸n gi¸ trÞ tÝnh ® îc cho biÕn ë vÕ tr¸i.
Chó ý:
- VÕ tr¸i cña phÐp g¸n chØ vµ chØ cã thÓ lµ biÕn mµ th«i. VÝ dô viÕt x+y:=7 lµ sai v× vÕ
tr¸i phÐp g¸n lµ mét biÓu thøc chø kh«ng ph¶i lµ biÕn.
- KiÓu cña biÓu thøc ph¶i trïng víi kiÓu cña biÕn, trõ trêng hîp mét biÕn thùc cã thÓ
nhËn gi¸ trÞ nguyªn.
VÝ dô: Sau khi ®· khai b¸o:
Var
__24__
Gi¸o tr×nh Turbo pascal
c1, c2: char; i,j: integer; x,y: real;
th× cã thÓ thùc hiÖn c¸c phÐp g¸n sau:
c1:= ‘B’; c2:=chr(7);
i:= (23+6)*2 mod 3;
j:= round(20/3);
x:=0.5; y:=1;
6. LÖnh in d÷ liÖu ra mµn h×nh
LÖnh nµy cho phÐp ch¬ng tr×nh in lªn mµn h×nh c¸c d÷ liÖu, kÕt qu¶ hay c¸c th«ng b¸o
cÇn thiÕt.
Có ph¸p:
WRITE ( BiÓu thøc 1,...., BiÓu thøc thø n );
(1)
WRITELN( BiÓu thøc 1,...., BiÓu thøc thø n);
(2)
WRITELN;
(3)
D¹ng (1): in lªn mµn h×nh gi¸ trÞ c¸c biÓu thøc t¹i vÞ trÝ hiÖn hµnh cña con trá theo thø
tù viÕt trong lÖnh vµ sau lÖnh nµy con trá ë vÞ trÝ sau gi¸ trÞ cña biÓu thøc thø n.
D¹ng (2): in lªn mµn h×nh gi¸ trÞ c¸c biÓu thøc t¹i vÞ trÝ hiÖn hµnh cña con trá theo thø
tù viÕt trong lÖnh vµ sau ®ã ®a con trá vÒ ®Çu dßng míi.
D¹ng (3): ®a con trá vÒ ®Çu dßng míi.
VÝ dô:
Var A,B: Byte;
BEGIN
A:=2; B:=4;
Write( ‘ Day la ket qua cua phep nhan A voi B:’,A*B);
Writeln(‘******’);
Write(‘---------------------------------------------- ‘);
END.
KÕt qu¶ trªn mµn h×nh sau khi ch¹y ch¬ng tr×nh:
Day la ket qua cua phep nhan A voi B: 8 ******
----------------------------------------------------------Cã hai d¹ng viÕt trong thñ tôc WRITE vµ WRITELN lµ viÕt cã quy c¸ch vµ viÕt kh«ng
cã quy c¸ch. Chóng sÏ ®îc xÐt cô thÓ víi tõng kiÓu d÷ liÖu.
a)VÝ dô vÒ d¹ng viÕt kh«ng quy c¸ch:
USES Crt;
Var
I: Integer; R: Real; Ch: Char; B: Boolean;
__25__
Gi¸o tr×nh Turbo pascal
BEGIN
I:= 123; R:=123.456; Ch:=’D’; B:=2<5;
Writeln(I);
{1}
Writeln(R)
{2}
Writeln(3.14)
{3}
Writeln(20*2.5)
{4}
Writeln;
Writeln(Ch);
{5}
Writeln(B);
{6}
Writeln(#7);
{7}
END.
C¸ch viÕt kh«ng quy c¸ch sÏ c¨n lÒ theo bªn tr¸i.
- Sè nguyªn ®îc viÕt ra víi sè chç ®óng b»ng sè ch÷ sè g¸n vµo, kÓ tõ vÞ trÝ bªn
tr¸i. LÖnh {1} in ra: 123.
- Sè thùc ®îc viÕt ra víi tr×nh tù sau: mét dÊu c¸ch, mét sè phÇn nguyªn, dÊu chÊm,
10 chç phÇn thËp ph©n, ch÷ E, dÊu cña phÇn mò, hai sè biÓu diÔn gi¸ trÞ phÇn mò. C¸c
lÖnh {2}, {3},{4} in ra c¸c sè 1.2345600000E+02, 3.1400000000E+00, 5.0000000000E+01.
- KiÓu ký tù in b×nh thêng, mét ký tù chiÕm mét chç. LÖnh {5} in ra: D.
- KiÓu Boolean ®îc viÕt ra tõ TRUE hay FALSE. LÖnh {6} in ra: TRUE.
- LÖnh {7}: chu«ng kªu.
b) VÝ dô vÒ d¹ng viÕt cã quy c¸ch
Var
I: integer; R: Real; Ch: Char; B: Boolean;
BEGIN
I:=123; R:=123.456; Ch:=’D’; B:=2<5; Z:=543621.342;
Writeln(I:8);
{1}
Writeln(-23564:8);
{2}
Writeln(R:12:6);
{3}
Writeln(35.123456789:12:6);
{4}
Writeln(R:12);
{5}
Writeln(Ch:5);
{6}
Writeln(‘ABC’:5);
{7}
Writeln(B:7);
{8}
Writeln(Z:1:2);
{9}
END.
__26__
Gi¸o tr×nh Turbo pascal
C¸ch viÕt quy c¸c sÏ c¨n theo lÒ ph¶i, nÕu thõa chç th× phÇn bªn tr¸i bá tr¾ng.
- LÖnh {1}, {2} dµnh 8 ký tù trªn mµn h×nh ®Ó in c¸c sè nguyªn.
- LÖnh{3},{4} dµnh 12 ký tù trªn mµn h×nh ®Ó in c¸c sè thùc víi 6 sè lÎ phÇn thËp
ph©n, kÕt qu¶ in 123.456000, 35.123457 ( phÇn thËp ph©n > 6 chç nªn ®îc lµm trßn).
- LÖnh {5} in gi¸ trÞ cña R víi sè chç 12 díi d¹ng mò: 1.23456E+02.
- LÖnh {6}, {7} dµnh 5 chç ®Ó in ch÷ D vµ x©u ký tù ABC.
- LÖnh {8} dµnh 7 ký tù ®Ó in TRUE.
- Trong lÖnh in mét sè thùc Write(Z:m:n) nÕu m n , nÕu ®é dµi cña sè lín h¬n m th× sè bÞ c¾t.
Chó ý: V× dÊu ‘ ®îc dïng ®Ó ®¸nh dÊu ký tù, do ®ã khi muèn viÕt nã ta viÕt hai lÇn
dÊu ‘. VÝ dô: Write(‘ Dung quen toi!’);
SÏ cho kÕt qua trªn mµn h×nh:
Dung quen toi!
7. LÖnh nhËp d÷ liÖu
READLN(BiÕn 1,......., BiÕn thø n);
READLN;
(1)
(2)
D¹ng (1): Khi thùc hiÖn lÖnh nµy, m¸y tÝnh sÏ dõng l¹i ®îi ngêi sö dông da vµo (tõ
bµn phÝm) ®ñ n d÷ liÖu cho n biÕn t¬ng øng.
D¹ng (2): dïng ®Ó t¹m dõng ch¬ng tr×nh, muèn ch¹y tiÕp th× nhÊn Enter.
Chó ý:
- C¸c biÕn ë ®©y thuéc kiÓu nguyªn, thùc, ký tù hay x©u ký tù. Do ®ã chØ cã thÓ n¹p
tõ bµn phÝm c¸c gi¸ trÞ sè vµ ký tù. SÏ lµ mét ý ®å sai nÕu ta ®Þnh n¹p vµo gi¸ trÞ TRUE hay
FALSE cho mét biÕn Boolean.
- D÷ liÖu gâ vµo tõ bµn phÝm t¬ng øng víi biÕn 1, biÕn 2,…., biÕn thø n vµ ® îc t¸ch
riªng b»ng mét hay vµi dÊu c¸ch. Sau khi d÷ liÖu ®îc vµo ta Ên phÝm Enter ®Ó m¸y thùc
hiÖn lÖnh. C¸c d÷ liÖu vµo ph¶i phï hîp víi kiÓu t¬ng øng.
8. Mét sè hµm c¬ b¶n trong Turbo Pascal
SQRT(x): Hµm c¨n bËc hai cña x
SQR(x): Hµm b×nh ph¬ng cña mét sè nguyªn hay thùc
ABS(x): Hµm trÞ tuyÖt ®èi cña x
SIN(x): TÝnh gi¸ trÞ sin(x) víi x lµ radian
COS (x): TÝnh gi¸ trÞ Cos(x) víi x lµ radian
ARCTAN(x): Hµm tÝnh gi¸ trÞ Arctg(x)
LN(x): Hµm L«ga c¬ sè e=2.718
EXP(x): Hµm tÝnh ex
TRUNC(x): C¾t bá phÇn lÎ thËp ph©n cña x nÕu cã
__27__
Gi¸o tr×nh Turbo pascal
ROUND(x):Cho sè nguyªn gÇn x nhÊt
PRED(x): Cho gi¸ trÞ ®i tríc x . VÝ dô: PRED(1) cho gi¸ trÞ 0
SUCC(x): cho gi¸ trÞ ®i sau x.
VÝ dô: SUCC(1) cho gi¸ trÞ 2
ORD(ch): Cho sè thø tù cña ký tù ch trong b¶ng m·.
CHR(n): Tr¶ vÒ ký tù cã sè thø tù n trong b¶ng m·.
ODD(n): Cho kÕt qu¶ true nÕu n lÎ, False nÕu ngîc l¹i
ch¬ng II
cÊu tróc ®iÒu kiÖn
I. C©u lÖnh ghÐp
LÖnh ghÐp lµ mét nhãm lÖnh ®îc ®Æt gi÷a hai tõ kho¸ BEGIN vµ END; nh»m thùc
hiÖn mét c«ng viÖc c¬ b¶n nµo ®ã. LÖnh ghÐp thêng xuÊt hiÖn trong c¸c cÊu tróc ch¬ng
__28__
Gi¸o tr×nh Turbo pascal
tr×nh nh c©u lÖnh ®iÒu kiÖn, cÊu tróc lÆp...Khi thùc hiÖn kÖnh ghÐp thùc hiÖn tuÇn tù tõng
c©u lÖnh mét theo thø tù tõ trªn xuèng.
D¹ng tæng qu¸t cña lÖnh ghÐp:
BEGIN
;
;
;
......................
;
END;
II. C©u lÖnh ®iÒu kiÖn IF.....THEN
a. C©u lÖnh ®iÒu kiÖn cã hai d¹ng nh sau:
C©u lÖnh ®iÒu kiÖn thiÕu:
IF <§iÒu kiÖn logic> THEN
;
C©u lÖnh ®iÒu kiÖn ®ñ:
IF <§iÒu kiÖn logic> THEN
ELSE ;
b. Ho¹t ®éng:
Khi gÆp lÖnh nµy ch¬ng tr×nh sÏ ®i kiÓm tra ®iÒu kiÖn logic, nÕu ®iÒu kiÖn logic lµ ®óng
sÏ ®i thùc hiÖn vµ bá qua , nÕu sai sÏ ®i thùc hiÖn vµ bá qua . Trong ®ã , cã thÓ lµ mét c©u lÖnh
ghÐp.
c. S¬ ®å thuËt to¸n cho c©u lÖnh ®iÒu kiÖn ®ñ:
§
C«ng viÖc 1
§iÒu KiÖn
logic
S
C«ng viÖc 2
__29__
Gi¸o tr×nh Turbo pascal
d. Mét sè vÝ dô
VÝ dô 1: ViÕt ch¬ng tr×nh gi¶i vµ biÖn luËn ph¬ng tr×nh bËc nhÊt ax+b=0
Bíc 1: Ph©n tÝch bµi to¸n
§Ó gi¶ ®îc ph¬ng trinh bËc nhÊt mét Èn tríc hÕt ta cÇn nh÷ng th«ng tin sau:
- BiÕt ®îc hÖ sè a vµ b
- Sau ®ã kiÓm tra ®iÒu kiÖn cña ph¬ng tr×nh
+ NÕu a= 0
NÕu b=0 th× ph¬ng tr×nh v« sè nghiÖm
Ngîc l¹i nÕu b<>0 th× ph¬ng tr×nh v« nghiÖm
+ Ngîc l¹i nÕu a<>0 th× ph¬ng tr×nh cã nghiÖm x=-b/a
Bíc 2: S¬ ®å thuËt to¸n
BEGIN
NhËp a,b
§
a=0
S
b=0
PT v« nghiÖm
§
S
PT cã nghiÖm -b/a
PT v« sè nghiÖm
END.
Bíc 3: Ch¬ng tr×nh
Program PT_bac_nhat;
Var
a,b: real;
BEGIN
Write('Nhap vao he so a=');Readln(a);
Write('Nhap vao he so b=');Readln(b);
IF a=0 THEN
IF b=0 THEN
Writeln('Phuong trinh vo so nghiem')
ELSE
Writeln('Phuong trinh vo nghiem)
__30__
Gi¸o tr×nh Turbo pascal
ELSE Writeln('Phuong trinh co nghiem x=',-b/a:6:2);
Readln;
END.
VÝ dô 2: T×m sè lín nhÊt trong ba sè nhËp vµo tõ bµn phÝm.
B¹n ®äc tù thùc hiÖn l¹i c¸c bíc 1 vµ bíc 2.
Bíc 3: Ch¬ng tr×nh
Program so_lon_nhat;
Var
a,b,c,max:real;
BEGIN
Write('Nhap so a=');Readln(a);
Write('Nhap so b=');Readln(b);
Write('Nhap so c=');Readln(c);
Max:=a;
IF Max OF
TËp h»ng 1: ;
TËp h»ng 2: ;
..............................................
TËp h»ng n-1: ;
TËp h»ng n: ;
ELSE
;
END;
- TËp h»ng bao gåm c¸c h»ng cô thÓ hoÆc c¸c ®o¹n h»ng:
vÝ dô nh
3:;
__31__
Gi¸o tr×nh Turbo pascal
1..10:;{tËp h»ng lµ mét tËp c¸c sè nguyªn tõ 1 ®Õn 10}
‘a’..’z’: ;{tËp h»ng lµ tËp c¸c kÝ tù tõ a ®Õn z}
- Gi¸ trÞ cña biÓu thøc vµ gi¸ trÞ trong c¸c tËp h»ng ph¶i cã cïng kiÓu vµ ph¶i lµ kiÓu
v« híng ®Õm ®îc (nh nguyªn, logic, kÝ tù, liÖt kª).
b. Ho¹t ®éng:
Khi gÆp lÖnh nµy ch¬ng tr×nh sÏ lÊy gi¸ trÞ cña biÓu thøc ®em so s¸nh víi gi¸ trÞ chøa
trong c¸c tËp h»ng, nÕu gi¸ trÞ cña biÓu thøc trïng víi gi¸ trÞ chøa trong mét c¸c tËp h»ng
th× sÏ ®i thùc hiÖn c«ng viÖc t¬ng øng víi tËp h»ng ®ã vµ bá qua tÊt c¶ c¸c c«ng viÖc kh¸c.
NÕu trong trêng hîp kh«ng cã gi¸ trÞ cña tËp h»ng nµo trïng víi gi¸ trÞ cña biÓu thøc th× ®i
thùc hiÖn , trong trêng hîp kh«ng cã ELSE th× ch¬ng tr×nh tho¸t khái cÊu
tróc nµy vµ ®i thùc hiÖn c¸c c«ng viÖc tiÕp theo sau cÊu tróc.
c. Mét sè vÝ dô:
VÝ dô 1: NhËp vµo mét sè tõ 1 ®Õn 5 in ra mµn h×nh sè ®ã b»ng ch÷, vÝ dô nhËp vµo
sè 2 in ra mµn h×nh “sè hai”
* Ch¬ng tr×nh
Program Vidu;
Var
a: integer;
Begin
Write('Nhap vao so a=');readln(a);
CASE a OF
1:Writeln('so do la so mot');
2:Writeln('so do la so hai');
3:Writeln('so do la so ba');
4:Writeln('so do la so bon');
5:Writeln('so do la so nam');
end;
Readln;
End.
VÝ dô 2: ViÕt ch¬ng tr×nh nhËp vµo mét ®iÓm kiÓm tra cña mét häc sinh tõ bµn phÝm
(®iÓm lµ sè nguyªn tõ 0 ®Õn 10), in ra mµn h×nh kÕt qu¶ xÕp lo¹i cña häc sinh ®ã.
* Ch¬ng tr×nh
Program Vidu;
Var
a: integer;
Begin
Write('Nhap vao diem cua hoc sinh=');readln(a);
__32__
Gi¸o tr×nh Turbo pascal
CASE a OF
0..4:Writeln('Ban xep loai yeu');
5,6:Writeln('Ban xep loai trung binh');
7,8:Writeln('Ban xep loai kha');
9,10:Writeln('Ban xep loai gioi');
end;
Readln;
End.
Bµi tËp
Bµi 1: LËp tr×nh nhËp vµo tõ bµn phÝm 3 sè, t×m sè lín nhÊt trong 3 sè ®ã.
Bµi 2: LËp tr×nh gi¶i ph¬ng tr×nh bËc hai ax2 + bx +c = 0 víi a, b, c nhËp tõ bµn phÝm.
Bµi 3: Cho 3 sè thùc d¬ng. KiÓm tra xem chóng cã t¹o nªn 3 c¹nh cña mét tam gi¸c hay
kh«ng? NÕu ®óng, h·y tÝnh diÖn tÝch tam gi¸c.
Bµi 4: LËp tr×nh nhËp vµo tõ bµn phÝm 4 sè, t×m sè lín nhÊt trong 4 sè ®ã.
Bµi 5: LËp tr×nh nhËp vµo tõ bµn phÝm 3 sè, in ba sè ®ã ra mµn h×nh theo thø tù t¨ng dÇn.
Bµi 6: T×m a víi a cho trø¬c.
Bµi 7: TÝnh sè ngµy cña th¸ng, n¨m bÊt kú cho tríc theo thuËt gi¶i :
- NÕu lµ th¸ng 4,6,9,11 th× sè ngµy lµ 30
- NÕu lµ th¸ng 1,3,5,7,8,10,12 th× sè ngµy lµ 31
- NÕu lµ th¸ng 2
+ NÕu sè n¨m chia hÕt cho 4 th× th¸ng 2 cã 29 ngµy, cßn l¹i th¸ng 2 cã 28 ngµy.
Bµi 8: LËp tr×nh gi¶i biÖn luËn bÊt ph¬ng tr×nh bËc hai
ax2 + bx + c>0 víi a,b,c ®îc nhËp tõ bµn phÝm.
Bµi 9: LËp tr×nh gi¶i biÖn luËn hÖ ph¬ng tr×nh:
ax + by =c
dx + ey = f
Víi a,b,c,d,e,f nhËp tõ bµn phÝm.
Bµi 10: Cho ba sè thùc a,b,c. KiÓm tra xem bÊt ®¼ng thøc sau xem cã ®óng kh«ng ?
a < b y
= y- x + 1 trong trêng hîp cßn l¹i
Bµi 13: Cho hai sè thùc a vµ b. h·y thay a = 0 nÕu a b
Bµi 14: Cho ba sè thùc x, y, z. h·y chØ ra c¸c sè thuéc kho¶ng (3, 5)
Bµi 15: Cho hai sè thùc x vµ y. h·y thay sè bÐ trong chóng b»ng trung b×nh céng cña
chóng vµ sè cßn l¹i bëi tÝch cña chóng.
Bµi 16: Cho ba sè thùc x, y, z . h·y thay tÊt c¶ c¸c sè ©m b»ng b×nh ph¬ng cña nã.
Bµi 17: Cho ba sè thùc a, b, c ®«i 1 kh¸c nhau mµ cã tæng bÐ h¬n mét th× thay sè bÐ nhÊt
trong chóng b»ng trung b×nh céng cña chóng, ngîc l¹i sè nhá h¬n trong hai sè a vµ
b thay b»ng trung b×nh céng cña hai sè cßn l¹i.
Bµi 18: Víi 4 sè thùc a,b,c,d. NÕu a b c d th× thay mäi sè b»ng d; NÕu a >b>c>d th×
c¸c sè kh«ng thay ®æi , ngîc l¹i thay mçi sè b»ng b×nh ph¬ng cña nã.
Bµi 19: Cho hai sè thùc x vµ y. nÕu x vµ y ®Òu ©m th× thay mç sè b»ng trÞ tuyÖt ®èi cña
chóng. NÕu chØ mét trong hai sè ©m th× t¨ng mçi sè lªn 0.5. NÕu c¶ hai sè ®Òu
kh«ng ©m vµ kh«ng cã sè nµo thuéc kho¶ng [1,2] th× thay mçi sè b»ng 10 lÇn chÝnh
nã. c¸c trêng hîp ngîc l¹i hai sè kh«ng thay ®æi.
Bµi 20: Cho c¸c sè thùc a,b,c,d,s,t,u, trong ®ã t vµ s kh«ng ®ång thêi b»ng 0. BiÕt r»ng hai
®iÓm (a,b) vµ (c,d) kh«ng n»m trªn ®êng th¼ng l: sx + ty + u=0 . H·y x¸c ®Þnh xem
hai ®iÓm (a,b) vµ (c,d) cã cïng n»m trªn mét phÇn mÆt ph¼ng mµ chia bëi ®êng
th¼ng l hay kh«ng?
Bµi 21: Trªn mÆt ph¼ng cho 4 ®iÓm A, B, C, D x¸c ®Þnh bëi täa ®é A(a,b), B(c,d), C(e,f),
D(g,h). KiÓm tra xem hai ®iÓm A vµ B cã n»m trªn ®êng th¼ng ®i qua C vµ D
kh«ng?. NÕu c¶ hai ®iÓm A vµ B kh«ng n»m trªn ®êng th¼ng CD th× chóng cã n»m ë
hai nöa mÆt ph¼ng kh¸c nhau chia bëi CD hay kh«ng?
Bµi 22: Trªn mÆt ph¼ng cho 4 ®iÓm A, B, C, D x¸c ®Þnh bëi täa ®é A(a,b), B(c,d), C(e,f),
D(g,h). KiÓm tra xem ®iÓm D cã n»m trong tam gi¸c t¹o bëi 3 ®iÓm A,B,C kh«ng,
nÕu n»m trong th× n»m trªn c¹nh hay ë trong h¼n tam gi¸c.
Bµi 23: Cho mét sè nguyªn kh«ng ©m a. H·y x¸c ®Þnh xem phÇn d cña phÐp chia a cho sè
d¬ng b cã ph¶i lµ r hoÆc t hay kh«ng.
Bµi 24: Cho sè tù nhiªn n ( n > 99). H·y t×m ch÷ sè hµng ®¬n vÞ cña n.
Bµi 25: Cho sè tù nhiªn n (n<=99). KiÓm tra xem n 2 cã b»ng tæng c¸c lËp ph¬ng c¸c ch÷ sè
cña n hay kh«ng.
Bµi 26: Cho sè tù nhiªn n (n <= 1000).
a/ Sè tù nhiªn n cã bao nhiªu ch÷ sè.
b/ T×m tæng c¸c ch÷ sè cña n
c/ T×m ch÷ sè cuèi cïng cña n
d/ T×m ch÷ sè ®Çu tiªn cña n.
e/ Víi n>=10. H·y t×m ch÷ sè hµng chôc cña n.
__34__
Gi¸o tr×nh Turbo pascal
Bµi 27: Cho hai sè nguyªn m vµ n (1<=m<=12; 0<=n<60) cho biÕt thêi gian t¹i thêi ®iÓm “
m giê n phót”. H·y x¸c ®Þnh thêi gian bÐ nhÊt, mµ sau kho¶ng thêi gian ®ã hai kim
®ång hå sÏ :
a/ Trïng nhau
b/ Vu«ng gãc víi nhau.
Bµi 28: Cho bµn cê quèc tÕ 8 x 8 « vu«ng , mç « x¸c ®Þnh bëi mét cÆp sè nguyªn d¬ng bÐ
h¬n hay b»ng 8(i,j) trong ®ã i lµ chØ sè dßng, j lµ chØ sè cét cña « ®ã. Cho hai « bÊt
kú (i,j) vµ (k,l).
a/ X¸c ®Þnh xem 2 « ®ã cã cïng mµu hay kh«ng?
b/ Trªn « (i,j) ®Æt mét con hËu. h·y kiÓm tra xem « (k,l) cã bÞ con hËu ®ã khèng chÕ
hay kh«ng?
c/ T¬ng tù nh c©u b/ nhng thay hËu b»ng tîng.
d/ T¬ng tù nh c©u b/ nhng thay hËu b»ng m·.
e/ Cã thÓ ®i tõ « (i,j) tíi « (k,l) b»ng hai níc ®i liªn tiÕp cña con xe hay kh«ng?
f/ T¬ng tù nh c©u e nhng thay xe b»ng m·.
__35__
- Xem thêm -