
100 bài t p Turbo Pascal ậ
U BAN NHÂN DÂN HUY N QU S NỶ Ệ Ế Ơ
PHÒNG GIÁO D C VÀ ĐÀO T OỤ Ạ
*** **
(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 Giáo d c & Đào t o huy n Qu S n ệ ụ ạ ệ ế ơ Trang 1
Qu S n, tháng 11 năm 2010ế ơ

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.ươ
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 :ề ị
Lê Nho Duy t – Phòng Giáo d c & Đào t o huy n Qu S n ệ ụ ạ ệ ế ơ Trang 2

100 bài t p Turbo Pascal ậ
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 Giáo d c & Đào t o huy n 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
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:ể ố ự
Lê Nho Duy t – Phòng Giáo d c & Đào t o huy n Qu S n ệ ụ ạ ệ ế ơ Trang 4

100 bài t p Turbo Pascal ậ
Tên ki uểPh m viạDung l ngượ
Single 1.5×10-45 → 3.4×10+38 4 byte
Real 2.9×10-39 → 1.7×10+38 6 byte
Double 5.0×10-324 → 1.7×10+308 8 byte
Extended 3.4×10-4932 → 1.1×10+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 .ị ế ố ẻ
INC(n): Tăng n thêm 1 đ n v (n:=n+1).ơ ị
DEC(n): Gi m n đi 1 đ n v (n:=n-1).ả ơ ị
4. Ki u ký tể ự
- T khoá: ừCHAR.
- Kích th c: 1 byte. ướ
- Đ bi u di n m t ký t , ta có th s d ng m t trong s các cách sau đây:ể ể ễ ộ ự ể ử ụ ộ ố
•Đ t ký t trong c p d u nháy đ n. Ví d 'A', '0'.ặ ự ặ ấ ơ ụ
•Dùng hàm CHR(n) (trong đó n là mã ASCII c a ký t c n bi u di n). Ví dủ ự ầ ể ễ ụ
CHR(65) bi u di n ký t 'A'.ễ ễ ự
•Dùng ký hi u #n (trong đó n là mã ASCII c a ký t c n bi u di n). Ví d #65.ệ ủ ự ầ ể ễ ụ
- Các phép toán: =, >, >=, <, <=,<>.
* Các hàm trên ki u ký t :ể ự
- UPCASE(ch): Tr v ký t in hoa t ng ng v i ký t ch. Ví d : UPCASE('a') = 'A'.ả ề ự ươ ứ ớ ự ụ
Lê Nho Duy t – Phòng Giáo d c & Đào t o huy n Qu S n ệ ụ ạ ệ ế ơ Trang 5

