100 bài t p Turbo Pascal
U BAN NN 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 ưỡ
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 tr ng THCS đang xu h ng d y n t ch n tin h c thay cho ch đườ ướ
t ch n khi c s v t ch t ph c v cho vi c d y h c môn h c y đ c trang b ơ ượ
ngày ng t t h n. R t nhi u h c sinh, ph huynh h c sinh, lãnh đ oc 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 nh m i m , h p d n, thi t th c c a b ế
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 i ượ ư ườ
li u b i d ng cho h c sinh gi i ưỡ 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 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 thuy t 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. Đ 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
i t p, gi i quy t bài toán theo thu t toán kc, đi m đ c và ch a đ c c a thu t ế ượ ư ượ
toán ...
N i dung các bài t p 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 đã 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 KI U D LI U C B N Ơ
KHAIO H NG, BI N, KI U, BI U TH C VÀ CÂU L NH
A. 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 (=, <, >) 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 B 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 uPh m viDung 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 uPh m viDung 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 ki u s th c Single, Double 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 DIVMOD.
3.3. Các hàm s h c s d ng cho ki u s nguyêns 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): 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ách sau đây:
Đ t ký t trong c p d u nháy đ n. Ví d 'A', '0'. ơ
ng m CHR(n) (trong đó n ASCII c a ký t c n bi u di n). Ví d
CHR(65) bi u di n ký t 'A'.
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