
100 bài t p Turbo Pascal ậ
*** **
(Tài li u b i d ng h c sinh gi i môn tin h c ệ ồ ưỡ ọ ỏ ọ
dành cho h c sinh THCS)ọ
Lê Nho Duy t – Phòng GD&ĐT Qu S n ệ ế ơ Trang 1

100 bài t p Turbo Pascal ậ
GI I THI U TÓM T T T P TÀI LI UỚ Ệ Ắ Ậ Ệ
1. S c n thi t:ự ầ ế
Các tr ng THCS đang có xu h ng d y môn t ch n tin h c thay cho ch đườ ướ ạ ự ọ ọ ủ ề
t ch n khi mà c s v t ch t ph c v cho vi c d y h c môn h c này đc trang bự ọ ơ ở ậ ấ ụ ụ ệ ạ ọ ọ ượ ị
ngày càng t t h n. R t nhi u h c sinh, ph huynh h c sinh, lãnh đo các tr ngố ơ ấ ề ọ ụ ọ ạ ườ
mu n b n thân, con mình, h c sinh mình tham gia các k thi h c sinh gi i môn tin h cố ả ọ ỳ ọ ỏ ọ
(K thi tin h c tr , K thi h c sinh gi i l p 9...) b i tính m i m , h p d n, thi t th cỳ ọ ẻ ỳ ọ ỏ ớ ở ớ ẻ ấ ẫ ế ự
c a b môn. L n đu tiên b môn tin h c đc đa vào d y h c t i các tr ngủ ộ ầ ầ ộ ọ ượ ư ạ ọ ạ ườ
THCS nên tài li u b i d ng cho h c sinh gi i ệ ồ ưỡ ọ ỏ dành cho h c sinh THCSọ h u nhầ ư
ch a có. Đáp ng nhu c u b i d ng t i các tr ng, t p tài li u b i d ng h c sinhư ứ ầ ồ ưỡ ạ ườ ậ ệ ồ ưỡ ọ
gi i môn tin h c c p THCS v i tên g i ỏ ọ ấ ớ ọ 100 bài t p Turbo Pascalậ đc b ph nượ ộ ậ
chuyên môn Phòng GD&ĐT Qu S n biên so n.ế ơ ạ
2. N i dung:ộ
T p tài li u đc biên so n theo đnh h ng 10 x 10. N i dung b i d ngậ ệ ượ ạ ị ướ ộ ồ ưỡ
đc chia làm 10 ch ng. M i ch ng g m tóm t t lý thuy t và 10 bài t p xoayượ ươ ỗ ươ ồ ắ ế ậ
quanh n i dung c a ch ng. M i bài t p đc trình bày theo c u trúc:ộ ủ ươ ỗ ậ ượ ấ
a. Đ bài.ề
b. H ng d n, thu t toán.ướ ẫ ậ
c. Mã ch ng trình.ươ
d. Nh n xét: Nh n m nh n i dung m i, quan tr ng c n n m sau khi th c hi n ậ ấ ạ ộ ớ ọ ầ ắ ự ệ
bài t p, gi i quy t bài toán theo thu t toán khác, đi m đc và ch a đc c a thu t ậ ả ế ậ ể ượ ư ượ ủ ậ
toán ...
N i dung các bài t p các ch ng đã đc l a ch n theo h ng k th a, tăng ộ ậ ở ươ ượ ự ọ ướ ế ừ
d n đ khó. Nhi u bài toán c n gi i quy t trong th c t đc đa vào các bài t p ầ ộ ề ầ ả ế ự ế ượ ư ậ
nh m tăng h ng thú h c t p ....ằ ướ ọ ậ
H u h t các bài t p có đ khó v a ph i, phù h p v i n i dung b i d ng ầ ế ậ ộ ừ ả ợ ớ ộ ồ ưỡ ở
c p tr ng. N i dung liên quan v i môn toán và các môn khác t l p 8 tr xu ng. N iấ ườ ộ ớ ừ ớ ở ố ộ
dung b i d ng đc chia thành 10 ch ng nh sau:ồ ưỡ ượ ươ ư
L p 8ớ:
I. Làm quen v i ch ng trình Pascal – Khai báo, s d ng bi n – Các th t c ớ ươ ử ụ ế ủ ụ
vào ra.
II. C u trúc l a ch n: if … then … elseấ ự ọ
Case ... of ...
III. C u trúc l p v i s l n l p đã bi t: For … to … doấ ặ ớ ố ầ ặ ế
IV. C u trúc l p v i s l n l p ch a bi t.ấ ặ ớ ố ầ ặ ư ế
V. D li u ki u m ng (m t chi u).ữ ệ ể ả ộ ề
VI. Ch ng trình con.ươ
Lê Nho Duy t – Phòng GD&ĐT Qu S n ệ ế ơ Trang 2

100 bài t p Turbo Pascal ậ
VII. Chuyên đ: Tính chia h t- S nguyên t .ề ế ố ố
VIII. Chuyên đ dãy con.ề
IX. Chuyên đ ch s - h c s .ề ữ ố ệ ơ ố
X. Chuyên đ đa th c.ề ứ
3. Đ ngh :ề ị
Ch c ch n t p tài li u c n hi u ch nh, b sung đ có th đa vào s d ng. R tắ ắ ậ ệ ầ ệ ỉ ổ ể ể ư ử ụ ấ
mong H i đng th m đnh cho y ki n c th v :ộ ồ ẩ ị ế ụ ể ề
- Nh ng hi u ch nh v c u trúc c a t p tài li u.ữ ệ ỉ ề ấ ủ ậ ệ
- Nh ng n i dung c n b sung thêm, nh ng n i dung c n gi m b t cho phù h p v i ữ ộ ầ ổ ữ ộ ầ ả ớ ợ ớ
th c t b i d ng t i các đn v tr ng.ự ế ồ ưỡ ạ ơ ị ườ
- Đ xu t các bài t p hay h n đ thay th cho các bài t p đã có t p tài li u. Các bài ề ấ ậ ơ ể ế ậ ở ậ ệ
t p mà t p tài li u còn thi u.ậ ậ ệ ế
Lê Nho Duy t – Phòng GD&ĐT Qu S n ệ ế ơ Trang 3

100 bài t p Turbo Pascal ậ
CH NG IƯƠ
CÁC KI U D LI U C B NỂ Ữ Ệ Ơ Ả
KHAI BÁO H NG, BI N, KI U, BI U TH C VÀ CÂU L NHẰ Ế Ể Ể Ứ Ệ
A. LÝ THUY T:Ế
I. CÁC KI U D LI U C B NỂ Ữ Ệ Ơ Ả
1. Ki u logicể
- T khóa: ừBOOLEAN
- mi n giá tr : ề ị (TRUE, FALSE).
- Các phép toán: phép so sánh (=, <, >) và các phép toán logic: AND, OR, XOR,
NOT.
Trong Pascal, khi so sánh các giá tr boolean ta tuân theo qui t c: FALSE <ị ắ
TRUE.
Gi s A và B là hai giá tr ki u Boolean. K t qu c a các phép toán đc thả ử ị ể ế ả ủ ượ ể
hi n qua b ng d i đây:ệ ả ướ
A B A AND B A OR B A XOR B NOT A
TRUE TRUE TRUE TRUE FALSE FALSE
TRUE FALSE FALSE TRUE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE TRUE
2. Ki u s nguyênể ố
2.1. Các ki u s nguyênể ố
Tên ki uểPh m viạDung l ngượ
Shortint -128 127 1 byte
Byte 0 255 1 byte
Integer -32768 32767 2 byte
Word 0 65535 2 byte
Lê Nho Duy t – Phòng GD&ĐT Qu S n ệ ế ơ Trang 4

100 bài t p Turbo Pascal ậ
LongInt -2147483648 2147483647 4 byte
2.2. Các phép toán trên ki u s nguyênể ố
2.2.1. Các phép toán s h c:ố ọ
+, -, *, / (phép chia cho ra k t qu là s th c).ế ả ố ự
Phép chia l y ph n nguyên: ấ ầ DIV (Ví d : 34 DIV 5 = 6).ụ
Phép chia l y s d : ấ ố ư MOD (Ví d : 34 MOD 5 = 4).ụ
3. Ki u s th cể ố ự
3.1. Các ki u s th c:ể ố ự
Tên ki uểPh m viạDung l ngượ
Single 1.510-45 3.410+38 4 byte
Real 2.910-39 1.710+38 6 byte
Double 5.010-324 1.710+308 8 byte
Extended 3.410-4932 1.110+4932 10 byte
Chú ý: Các ki u s th c Single, Double và Extended yêu c u ph i s d ng chung v iể ố ự ầ ả ử ụ ớ
b đng x lý s ho c ph i biên dich ch ng trình v i ch th ộ ồ ử ố ặ ả ươ ớ ỉ ị {$N+} đ liên k t bể ế ộ
gi l p s .ả ậ ố
3.2. Các phép toán trên ki u s th c:ể ố ự +, -, *, /
Chú ý: Trên ki u s th c không t n t i các phép toán DIV và MOD.ể ố ự ồ ạ
3.3. Các hàm s h c s d ng cho ki u s nguyên và s th c:ố ọ ử ụ ể ố ố ự
SQR(x): Tr v xả ề 2
SQRT(x): Tr v căn b c hai c a x (xả ề ậ ủ 0)
ABS(x): Tr v |x|ả ề
SIN(x): Tr v sin(x) theo radianả ề
COS(x): Tr v cos(x) theo radianả ề
ARCTAN(x): Tr v arctang(x) theo radianả ề
TRUNC(x): Tr v s nguyên g n v i x nh t nh ng bé h n x.ả ề ố ầ ớ ấ ư ơ
INT(x): Tr v ph n nguyên c a xả ề ầ ủ
FRAC(x): Tr v ph n th p phân c a xả ề ầ ậ ủ
ROUND(x): Làm tròn s nguyên xố
PRED(n): Tr v giá tr đng tr c nả ề ị ứ ướ
SUCC(n): Tr v giá tr đng sau nả ề ị ứ
ODD(n): Cho giá tr TRUE n u n là s l .ị ế ố ẻ
Lê Nho Duy t – Phòng GD&ĐT Qu S n ệ ế ơ Trang 5

