You are on page 1of 71

100 bi tp Turbo Pascal

*** **

(Ti liu bi dng hc sinh gii mn tin hc


dnh cho hc sinh THCS)

GII THIU TM TT TP TI LIU


Trang 1

100 bi tp Turbo Pascal

1. S cn thit:
Cc trng THCS ang c xu hng dy mn t chn tin hc thay cho ch t
chn khi m c s vt cht phc v cho vic dy hc mn hc ny c trang b ngy
cng tt hn. Rt nhiu hc sinh, ph huynh hc sinh, lnh o cc trng mun bn
thn, con mnh, hc sinh mnh tham gia cc k thi hc sinh gii mn tin hc (K thi tin
hc tr, K thi hc sinh gii lp 9...) bi tnh mi m, hp dn, thit thc ca b mn.
Ln u tin b mn tin hc c a vo dy hc ti cc trng THCS nn ti liu bi
dng cho hc sinh gii dnh cho hc sinh THCS hu nh cha c. p ng nhu cu
bi dng ti cc trng, tp ti liu bi dng hc sinh gii mn tin hc cp THCS vi
tn gi 100 bi tp Turbo Pascal c b phn chuyn mn Phng GD&T Qu Sn
bin son.
2. Ni dung:
Tp ti liu c bin son theo nh hng 10 x 10. Ni dung bi dng c
chia lm 10 chng. Mi chng gm tm tt l thuyt v 10 bi tp xoay quanh ni
dung ca chng. Mi bi tp c trnh by theo cu trc:
a. bi.
b. Hng dn, thut ton.
c. M chng trnh.
d. Nhn xt: Nhn mnh ni dung mi, quan trng cn nm sau khi thc hin bi
tp, gii quyt bi ton theo thut ton khc, im c v cha c ca thut ton ...
Ni dung cc bi tp cc chng c la chn theo hng k tha, tng dn
kh. Nhiu bi ton cn gii quyt trong thc t c a vo cc bi tp nhm tng
hng th hc tp ....
Hu ht cc bi tp c kh va phi, ph hp vi ni dung bi dng cp
trng. Ni dung lin quan vi mn ton v cc mn khc t lp 8 tr xung. Ni dung
bi dng c chia thnh 10 chng nh sau:
Lp 8:
I. Lm quen vi chng trnh Pascal Khai bo, s dng bin Cc th tc vo
ra.
II. Cu trc la chn: if then else
Case ... of ...
III. Cu trc lp vi s ln lp bit: For to do
IV. Cu trc lp vi s ln lp cha bit.
V. D liu kiu mng (mt chiu).
VI. Chng trnh con.
VII. Chuyn : Tnh chia ht- S nguyn t.
VIII. Chuyn dy con.
IX. Chuyn ch s - h c s.
X. Chuyn a thc.
3. ngh:
Chc chn tp ti liu cn hiu chnh, b sung c th a vo s dng. Rt
mong Hi ng thm nh cho y kin c th v:
- Nhng hiu chnh v cu trc ca tp ti liu.
Trang 2

100 bi tp Turbo Pascal

- Nhng ni dung cn b sung thm, nhng ni dung cn gim bt cho ph hp vi thc


t bi dng ti cc n v trng.
- xut cc bi tp hay hn thay th cho cc bi tp c tp ti liu. Cc bi tp
m tp ti liu cn thiu.

CHNG I
Trang 3

100 bi tp Turbo Pascal

CC KIU D LIU C BN
KHAI BO HNG, BIN, KIU, BIU THC V CU LNH
A. L THUYT:
I. CC KIU D LIU C BN
1. Kiu logic
- T kha: BOOLEAN
- min gi tr: (TRUE, FALSE).
- Cc php ton: php so snh (=, <, >) v cc php ton logic: AND, OR, XOR,
NOT.
Trong Pascal, khi so snh cc gi tr boolean ta tun theo qui tc: FALSE <
TRUE.
Gi s A v B l hai gi tr kiu Boolean. Kt qu ca cc php ton c th hin
qua bng di y:
A
TRUE
TRUE
FALSE
FALSE

B
TRUE
FALSE
TRUE
FALSE

A AND B
TRUE
FALSE
FALSE
FALSE

A OR B
TRUE
TRUE
TRUE
FALSE

A XOR B
FALSE
TRUE
TRUE
FALSE

NOT A
FALSE
FALSE
TRUE
TRUE

2. Kiu s nguyn
2.1. Cc kiu s nguyn
Tn kiu
Shortint
Byte
Integer
Word
LongInt

Phm vi
-128 127
0 255
-32768 32767
0 65535
-2147483648 2147483647

Dung lng
1 byte
1 byte
2 byte
2 byte
4 byte

2.2. Cc php ton trn kiu s nguyn


2.2.1. Cc php ton s hc:
+, -, *, / (php chia cho ra kt qu l s thc).
Php chia ly phn nguyn: DIV (V d : 34 DIV 5 = 6).
Php chia ly s d: MOD (V d: 34 MOD 5 = 4).
3. Kiu s thc
3.1. Cc kiu s thc:
Tn kiu
Single
Trang 4

Phm vi
1.510-45 3.410+38

Dung lng
4 byte

100 bi tp Turbo Pascal

Real
Double
Extended

2.910-39 1.710+38
5.010-324 1.710+308
3.410-4932 1.110+4932

6 byte
8 byte
10 byte

Ch : Cc kiu s thc Single, Double v Extended yu cu phi s dng chung vi b


ng x l s hoc phi bin dich chng trnh vi ch th {$N+} lin kt b gi lp
s.
3.2. Cc php ton trn kiu s thc: +, -, *, /
Ch : Trn kiu s thc khng tn ti cc php ton DIV v MOD.
3.3. Cc hm s hc s dng cho kiu s nguyn v s thc:
SQR(x):
Tr v x2
SQRT(x):
Tr v cn bc hai ca x (x0)
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 nguyn gn vi x nht nhng b hn x.
INT(x):
Tr v phn nguyn ca x
FRAC(x):
Tr v phn thp phn ca x
ROUND(x):
Lm trn s nguyn x
PRED(n):
Tr v gi tr ng trc n
SUCC(n):
Tr v gi tr ng sau n
ODD(n):
Cho gi tr TRUE nu n l s l.
INC(n):
Tng n thm 1 n v (n:=n+1).
DEC(n):
Gim n i 1 n v (n:=n-1).
4. Kiu k t
- T kho: CHAR.
- Kch thc: 1 byte.
- biu din mt k t, ta c th s dng mt trong s cc cch sau y:
t k t trong cp du nhy n. V d 'A', '0'.
Dng hm CHR(n) (trong n l m ASCII ca k t cn biu din). V d
CHR(65) biu din k t 'A'.
Dng k hiu #n (trong n l m ASCII ca k t cn biu din). V d #65.
- Cc php ton: =, >, >=, <, <=,<>.
* Cc hm trn kiu k t:
- UPCASE(ch): Tr v k t in hoa tng ng vi k t ch. V d: UPCASE('a') = 'A'.
- ORD(ch): Tr v s th t trong bng m ASCII ca k t ch. V d ORD('A')=65.

Trang 5

100 bi tp Turbo Pascal

- CHR(n): Tr v k t tng ng trong bng m ASCII c s th t l n. V d:


CHR(65)='A'.
- PRED(ch): cho k t ng trc k t ch. V d: PRED('B')='A'.
- SUCC(ch): cho k t ng sau k t ch. V d: SUCC('A')='B'.
II. KHAI BO HNG
- Hng l mt i lng c gi tr khng thay i trong sut chng trnh.
- C php:
CONST
<Tn hng> = <Gi tr>;
III. KHAI BO BIN
- Bin l mt i lng m gi tr ca n c th thay i trong qu trnh thc hin
chng trnh.
- C php:
VAR <Tn bin>[,<Tn bin 2>,...] : <Kiu d liu>;
V d:
VAR
x, y: Real; {Khai bo hai bin x, y c kiu l Real}
a, b: Integer; {Khai bo hai bin a, b c kiu integer}
Ch : Ta c th va khai bo bin, va gn gi tr khi u cho bin bng cch s
dng c php nh sau:
CONST
<Tn bin>: <Kiu> = <Gi tr>;
V d:
CONST
x:integer = 5;
Vi khai bo bin x nh trn, trong chng trnh gi tr ca bin x c th thay i. (iu
ny khng ng nu chng ta khai bo x l hng).
IV. BIU THC
Biu thc (expression) l cng thc tnh ton m trong bao gm cc php ton,
cc hng, cc bin, cc hm v cc du ngoc n.
V d:
(x +y)/(5-2*x)
biu thc s hc
(x+4)*2 = (8+y)
biu thc logic
Trong mt biu thc, th t u tin ca cc php ton c lit k theo th t sau:
Li gi hm.
Du ngoc ()
Php ton mt ngi (NOT, -).
Php ton *, /, DIV, MOD, AND.
Php ton +, -, OR, XOR
Php ton so snh =, <, >, <=, >=, <>, IN
V. CU LNH
Trang 6

100 bi tp Turbo Pascal

6.1. Cu lnh n gin


- Cu lnh gn (:=): <Tn bin>:=<Biu thc>;
- Cc lnh xut nhp d liu: READ/READLN, WRITE/WRITELN.
- Li gi hm, th tc.
6.2. Cu lnh c cu trc
- Cu lnh ghp: BEGIN ... END;
- Cc cu trc iu khin: IF.., CASE..., FOR..., REPEAT..., WHILE...
6.3. Cc lnh xut nhp d liu
6.3.1. Lnh xut d liu
xut d liu ra mn hnh, ta s dng ba dng sau:
(1)
WRITE(<tham s 1> [, <tham s 2>,...]);
(2)
WRITELN(<tham s 1> [, <tham s 2>,...]);
(3)
WRITELN;
Cc th tc trn c chc nng nh sau:
(1) Sau khi xut gi tr ca cc tham s ra mn hnh th con tr khng xung dng.
(2) Sau khi xut gi tr ca cc tham s ra mn hnh th con tr xung u dng tip
theo.
(3) Xung dng.
Cc tham s c th l cc hng, bin, biu thc. Nu c nhiu tham s trong cu
lnh th cc tham s phi c phn cch nhau bi du phy.
Khi s dng lnh WRITE/WRITELN, ta c hai cch vit: khng qui cch v c
qui cch:
- Vit khng qui cch: d liu xut ra s c canh l pha bn tri. Nu d liu l s
thc th s c in ra di dng biu din khoa hc.
V d:
WRITELN(x); WRITE(sin(3*x));
- Vit c qui cch: d liu xut ra s c canh l pha bn phi.
V d:
WRITELN(x:5); WRITE(sin(13*x):5:2);
Cu lnh
Kt qu trn mn hnh
Writeln('Hello');
Hello
Writeln('Hello':10);
Hello
Writeln(500);
500
Writeln(500:5);
500
Writeln(123.457)
1.2345700000E+02
Writeln(123.45:8:2)
123.46
6.3.2. Nhp d liu

Trang 7

100 bi tp Turbo Pascal

nhp d liu t bn phm vo cc bin c kiu d liu chun (tr cc bin kiu
BOOLEAN), ta s dng c php sau y:
READLN(<bin 1> [,<bin 2>,...,<bin n>]);
Ch : Khi gp cu lnh READLN; (khng c tham s), chng trnh s dng li ch
ngi s dng nhn phm ENTER mi chy tip.
6.4. Cc hm v th tc thng dng trong nhp xut d liu
Hm KEYPRESSED: Hm tr v gi tr TRUE nu nh c mt phm bt k c
nhn, nu khng hm cho gi tr l FALSE.
Hm READKEY: Hm c chc nng c mt k t t b m bn phm.
Th tc GOTOXY(X,Y:Integer): Di chuyn con tr n ct X dng Y.
Th tc CLRSCR: Xo mn hnh v a con tr v gc trn bn tri mn hnh.
Th tc CLREOL: Xa cc k t t v tr con tr n ht dng.
Th tc DELLINE: Xo dng ti v tr con tr v dn cc dng pha di ln.
Th tc TEXTCOLOR(color:Byte): Thit lp mu cho cc k t. Trong color
[0,15].
Th tc TEXTBACKGROUND(color:Byte): Thit lp mu nn cho mn hnh.
B. BI TP:
Bi tp 1.1:
Vit chng trnh tnh chu vi v din tch ca hnh ch nht c chiu di hai cnh
l a, b (c nhp t bn phm).
a. Hng dn:
- Nhp hai cnh vo hai bin a, b.
- Chu vi hnh ch nht bng 2*(a+b); Din tch hnh ch nht bng a*b.
b. M chng trnh:
Program Chu_nhat;
uses crt;
Var a, b, S, CV: real;
Begin
Write('Nhap chieu dai:'); readln(a);
Write('Nhap chieu rong:'); readln(b);
S := a*b;
CV := (a+b)*2;
Writeln('Dien tich hinh chu nhat la:',S);
Writeln('Chu vi hinh chu nhat la:',CV:10:2);
readln
end.

Trang 8

100 bi tp Turbo Pascal

c. Nhn xt: Lnh write cho php in ra mn hnh mt hoc nhiu mc. C th nh
dng c s in ra bng cch qui nh khong dnh cho phn nguyn, khong
dnh cho phn thp phn.
Bi tp 1.2:
Vit chng trnh tnh chu vi, din tch hnh vung c cnh a (c nhp t bn
phm).
a. Hng dn:
- Nhp cnh vo bin canh.
- Chu vi hnh vung bng 4*canh; Din tch hnh vung bng canh*canh.
b. M chng trnh:
Program HINH_VUONG;
uses crt;
Var canh: real;
Begin
clrscr;
Write('Nhap do dai canh:');readln(canh);
Writeln('Chu vi hinh vuong la:',4*canh:10:2);
Writeln('Dien tich hinh vuong
la:',canh*canh:10:2);
readln
end.
c. Nhn xt: Bi tp 1.2 tit kim c hai bin l CV v S v lnh write cho php in
mt biu thc. Trong lp trnh vic tit kim bin l cn thit nhng i lc gy kh hiu
khi c, kim tra chng trnh.
Bi tp 1.3:
Vit chng trnh tnh chu vi v din tch hnh trn c bn knh r (c nhp t
bn phm).
a. Hng dn:
- Nhp bn knh vo bin r.
- Chu vi ng trn bng 2**r.
- Din tch hnh trn bng *r*r.
b. M chng trnh:
Program HINH_TRON;
uses crt;
Var r: real;
Begin
clrscr;
Write('Nhap ban kinh:'); readln(r);
Writeln('Chu vi duong tron la:',2*pi*r:10:2);
Writeln('Dien tich hinh tron la:',pi*r*r:10:2);
readln
end.

Trang 9

100 bi tp Turbo Pascal

c. Nhn xt: pi l hng s. Mt hng s c th c ngi dng khai bo hoc do Pascal


t to. Pi l hng do Pascal t to nn ngi dng khng cn khai bo.
Bi tp 1.4:
Vit chng trnh tnh din tch ca tam gic c ba cnh l a,b,c (c nhp t
bn phm)
a. Hng dn:
- Nhp ba cnh ca tam gic vo ba bin a,b,c.
- Na chu vi ca tam gic p = (a+b+c)/2.
- Din tch ca tam gic: s = p ( p a )( p b)( p c ) .
b. M chng trnh:
Program TAM_GIAC;
uses crt;
Var a,b,c,p,S: real;
Begin
clrscr;
Write('Nhap canh a:');readln(a);
Write('Nhap canh b:');readln(b);
Write('Nhap canh c:');readln(c);
p:=(a+b+c)/2;
S:= sqrt(p*(p-a)*(p-b)*(p-c));
Write('Dien tich tam giac la:',s:10:2);
readln
end.
b. Nhn xt: y ta li hai ln dng bin trung gian p, s chng trnh sng sa,
d theo di. sqrt l hm c sn ca turbo pascal. N cho php tnh cn bc hai ca
mt s khng m.
Bi tp 1.5:
Vit chng trnh cho php tnh trung bnh cng ca bn s.
a. Hng dn:
- Nhp bn s vo bn bin a, b, c, d
- Trung bnh cng ca a, b, c, d bng (a + b + c + d)/4.
b. M chng trnh:
Program TB_Cong_4_So;
uses crt;
Var a, b, c, d: real;
Begin
Clrscr;
Write('Nhap so thu
Write('Nhap so thu
Write('Nhap so thu
Write('Nhap so thu
Trang 10

nhat:');readln(a);
hai:');readln(b);
ba:');readln(c);
tu:');readln(d);

100 bi tp Turbo Pascal

Writeln('Trung binh cong: ',(a+b+c+d)/4):10:2);


Readln
end.
Bi tp 1.6:
Vit chng trnh cho php tnh trung bnh cng ca bn s vi iu kin ch
c s dng hai bin.
a. Hng dn:
- Dng mt bin S c gi tr ban u bng 0.
- Dng mt bin nhp s.
- Sau khi nhp mt s cng ngay vo bin S.
b. M chng trnh:
Program TB_Cong_4_So;
uses crt;
Var s,a: real;
Begin
Clrscr;
S:=0;
Write('Nhap so thu nhat:');readln(a); S:=S+a;
Write('Nhap so thu hai:');readln(a); S:= S+a;
Write('Nhap so thu ba:');readln(a); S:=S+a;
Write('Nhap so thu tu:');readln(a); S:=S+a;
Writeln('Trung binh cong: ',S/4:10:2);
readln
end.
b. Nhn xt: Cu lnh gn S:= S+a thc hin vic cng thm a vo bin S. Thc cht
l thc hin cc bc: ly gi tr ca S cng vi a ri ghi vo li bin S. y ta
cng s dng bin a nh l mt bin tm cha tm thi gi tr c nhp t
bn phm.
Bi tp 1.7:
Vit chng trnh cho php tnh trung bnh nhn ca bn s vi iu kin ch
c s dng hai bin.
a. Hng dn:
- Dng mt bin S c gi tr ban u bng 1.
- Dng mt bin nhp s.
- Sau khi nhp mt s nhn ngay vo bin S.
- Trung bnh nhn bn s l cn bc 4 tch ca chng (Dng hai ln cn bc hai).
b. M chng trnh:
Program TB_nhan;
uses crt;
Var a, S: real;
Begin
clrscr;
Trang 11

100 bi tp Turbo Pascal

S:=1;
Write('Nhap so thu nhat: '); readln(a); S:=S*a;
Write('Nhap so thu hai: '); readln(a); S:=S*a;
Write('Nhap so thu ba: '); readln(a); S:=S*a;
Write('Nhap so thu tu: '); readln(a); S:=S*a;
Write('Trung binh nhan cua bon so
la:',sqrt(sqrt(s)));
readln
End.
b. Nhn xt: Ta dng hai ln khai phng ly cn bc 4 ca mt s. cng
dn gi tr vo mt bin th bin c gi tr ban u l 0. nhn dn gi tr ban
u vo bin th bin cn c gi tr ban u l 1.
Bi tp 1.8:
Vit chng trnh nhp hai s, i gi tr hai s ri in ra hai s.
a. Hng dn:
- Dng cc bin a, b lu hai s c nhp t bn phm;
- Gn cho bin tam gi tr ca a.
- Gn gi tr ca b cho a. (Sau lnh ny a c gi tr ca b).
- Gn gi tr ca tm cho cho b (Sau lnh ny b c gi tr ca tam = a).
b. M chng trnh:
Program Doi_Gia_Tri;
uses crt;
var a, b, tam:real;
Begin
clrscr;
write('nhap a: '); readln(a);
write('nhap b: '); readln(b);
writeln('Truoc khi doi a =',a,' va b= ',b);
readln;
tam:=a;
a:=b;
b:=tam;
writeln('Sau khi doi a =',a,' va b= ',b);
readln
end.
Nhn xt: Nu thc hin hai lnh a:= b; b:=a i gi tr hai bin th sau hai lnh ny
hai bin c gi tr bng nhau v bng b. Thc cht sau lnh th nht hai bin c gi
tr bng nhau v bng b ri! Trong thc t i ch s du hai bnh cho nhau ta phi
dng thm mt bnh ph.
Bi tp 1.9
Gii bi tp 1.8 m ch c s dng hai bin (Tc khng c dng thm bin
tm).
a. Hng dn:
- Cng thm b vo a. (Gi tr hai bin sau lnh ny l: a+b, b)
Trang 12

100 bi tp Turbo Pascal

- Gn b bng tng tr i b (Sau lnh ny b c gi tr bng a);


- Gn gi tr a bng tng tr i b mi (Sau lnh ny a c gi tr bng b).
b. M chng trnh:
Program Doi_Gia_Tri;
uses crt;
var a, b:real;
Begin
clrscr;
write('nhap a: '); readln(a);
write('nhap b: '); readln(b);
writeln('Truoc khi doi a =',a,' va b= ',b);
readln;
a:=a+b;
b:=a-b;
a:=a-b;
writeln('Sau khi doi a =',a,' va b= ',b);
readln
end.
Nhn xt:Ging sang du gia hai bnh nhng khng ging hon ton!!!K thut
i gi tr bin cho nhau s c s dng nhiu trong phn sp xp.
Bi tp 1.10:
Vit chng trnh cho bit ch s hng trm, hng chc, hng n v ca mt s
c ba ch s. V d khi nhp s 357 th my in ra:
- Ch s hng trm: 3.
- Ch s hng chc: 5.
- Ch s hng n v: 7.
a. Hng dn:
S dng hm mov ly s d. Khi chia cho 10 ly s d ta c ch s hng
n v. S dng DIV ly phn nguyn. Khi chia cho 10 ly phn nguyn ta b
i ch s hng n v s c ba ch s cn s c hai ch s.
b. M chng trnh:
Program CHU_SO;
uses crt;
var n:integer;
begin
clrscr;
write('Nhap so n: ');readln(n);
writeln('Chu so hang don vi: ',n mod 10);
n:=n div 10;
writeln('Chu so hang chuc: ',n mod 10);
n:=n div 10;
writeln('Chu so hang tram: ',n mod 10);
readln
end.
Trang 13

100 bi tp Turbo Pascal

c. Nhn xt:
Hy sa chng trnh c kt qu l hng trm, hng chc, hng n v.
M chng trnh:
Program CHU_SO;
uses crt;
var n:integer;
begin
clrscr;
write('Nhap so n: ');readln(n);
writeln('Chu so hang trm: ',n div 100);
n:=n mov 100;
writeln('Chu so hang chuc: ',n div 10);
n:=n div 10;
writeln('Chu so hang tram: ',n);
readln
end.

Trang 14

100 bi tp Turbo Pascal

CHNG II
CU LNH C CU TRC R NHNH
A. L THUYT
I. CU LNH R NHNH
1.1. Lnh IF
C php:
(1)
IF B THEN S;
(2)
IF B THEN S1 ELSE S2;
S thc hin:
(1)

(2)

S1

...

S2

...

Ch : Khi s dng cu lnh IF th ng trc t kho ELSE khng c c du chm


phy (;).
1.2. Lnh CASE
C php:
Dng 1
Dng 2
CASE B OF
CASE B OF
Const 1: S1;
Const 1: S1;
Const 2: S2;
Const 2: S2;
...
...
Const n: Sn;
Const n: Sn;
END;
ELSE Sn+1;
END;
Trong :
B: Biu thc kiu v hng m c nh kiu nguyn, kiu logic, kiu k t,
kiu lit k.
Trang 15

100 bi tp Turbo Pascal

Const i: Hng th i, c th l mt gi tr hng, cc gi tr hng (phn cch nhau


bi du phy) hoc cc on hng (dng hai du chm phn cch gia gi tr
u v gi tr cui).
Gi tr ca biu thc v gi tr ca tp hng i (i=1n) phi c cng kiu.
Khi gp lnh CASE, chng trnh s kim tra:
- Nu gi tr ca biu thc B nm trong tp hng const i th my s thc hin lnh S i
tng ng.
- Ngc li:
+ i vi dng 1: Khng lm g c.
+ i vi dng 2: thc hin lnh Sn+1.
B. BI TP:
Bi tp 2.1:
Vit chng trnh in ra s ln hn trong hai s (c nhp t bn phm).
a. Hng dn:
- Nhp hai s vo hai bin a, b.
- Nu a > b th in a. Nu a <= b th in b.
- Hoc: Nu a > b th in a. Ngc li th in b.
b. M chng trnh:

Program SO_SANH1;
uses crt;
var a,b: real;
begin
clrscr;
write('nhap so thu nhat: '); readln(a);
write('nhap so thu hai: '); readln(b);
if a> b then writeln(' So lon la:',a);
if a<= b then writeln(' So lon la:',b:10:2);
readln
end.
Hoc:
Program SO_SANH2;
uses crt;
var a,b: real;
begin
clrscr;
write('nhap so thu nhat: '); readln(a);
write('nhap so thu hai: '); readln(b);
if a> b then writeln(' So lon la:',a:10:2)
else writeln(' So lon la:',b:10:2);
readln
end.

Trang 16

100 bi tp Turbo Pascal

c. Nhn xt: Khi hai s bng nhau th mi s c xem l s ln. Hy sa chng trnh
khc phc yu im ny.
Ni chung nn s dng lnh if then else v chng trnh sng sa, d hiu
hn. Tuy nhin trong vi trng hp s dng cc lnh if then ri li d din t hn.
Hy xem v d sau:
Bi tp 2.2:
Vit chng trnh in ra s ln nht trong bn s nhp t bn phm.
a. Hng dn:
Nu a b v a c v a d th a l s ln nht.
Tng t nh th xt cc trng hp cn li tm s ln nht.
b. M chng trnh:
Program So_Lon_Nhat_1;
Uses crt;
Var a,b,c,d: real;
Begin
Clrscr;
Write('Nhap so thu nhat:');readln(a);
Write('Nhap so thu hai:');readln(b);
Write('Nhap so thu ba:');readln(c);
Write('Nhap so thu tu:');readln(d);
if (a>=b) and (a>=c) and (a>= d) then
writeln('So lon nhat la:',a:10:2);
if (b>=a) and (b>=c) and (b>= d) then
writeln('So lon nhat la:',b:10:2);
if (c>=a) and (c>=b) and (c>= d) then
writeln('So lon nhat la:',c:10:2);
if (d>=a) and (d>=b) and (d>= c) then
writeln('So lon nhat la:',d:10:2);
readln
end.
c. Nhn xt: Hy s dng cu trc if then else gii bi tp trn.
kh ca bi ton s tng ln nhiu nu thm yu cu c thng bo khi hai s, ba s,
bn s bng nhau.
Bi tp 2.3:
Vit chng trnh in ra s ln nht trong bn s nhp t bn phm vi iu kin
ch c dng hai bin.
a. Hng dn:
S dng mt bin max v mt bin a cha s va nhp. Cho max bng s u
tin. Sau khi nhp mt s thc hin so snh nu s va nhp ln hn max th lu s va
nhp vo max. Sau khi nhp xong ta c max l s ln nht
(Gii thut ny gi l k thut lnh canh cn hiu r s dng sau ny).
b. M chng trnh:
Trang 17

100 bi tp Turbo Pascal

Program So_Lon_Nhat_2;
Uses crt;
Var a,max: real;
Begin
Clrscr;
Write('Nhap so thu
Write('Nhap so thu
then Max:=a;
Write('Nhap so thu
then Max:=a;
Write('Nhap so thu
then Max:=a;
Write('So lon nhat
readln
end.

nhat:');readln(a);Max:=a;
hai:');readln(a);if a>=Max
ba:');readln(a);if a>=Max
tu:');readln(a);if a>=Max
la:',Max:10:2);

Bi tp 2. 4
Vit chng trnh xt xem mt tam gic c l tam gic u hay khng khi bit ba
cnh ca tam gic.
a. Hng dn:
- Nhp ba cnh ca tam gic vo ba bin a,b,c.
- Nu a = b v b = c th tam gic l tam gic u v ngc li tam gic khng l
tam gic u.
b. M chng trnh:
Program Tam_giac_deu;
uses crt;
var a,b,c: real;
begin
clrscr;
write('Nhap a = '); readln(a);
write('Nhap b = '); readln(b);
write('Nhap c = '); readln(c);
if (a = b) and (b = c) then writeln('La tam
giac deu')
else
writeln('Khong phai la tam giac deu');
readln
end.
Bi tp 2. 5
Vit chng trnh xt xem mt tam gic c l tam gic cn hay khng khi bit ba
cnh ca tam gic.
a.Hng dn:
- Nhp ba cnh ca tam gic vo ba bin a,b,c.
Trang 18

100 bi tp Turbo Pascal

Nu a = b hoc b = c hoc a = c th tam gic l tam gic cn v ngc li tam gic


khng l tam gic cn.
b.M chng trnh:
Program Tam_giac_can;
uses crt;
var a,b,c: real;
begin
clrscr;
write('Nhap a = '); readln(a);
write('Nhap b = '); readln(b);
write('Nhap c = '); readln(c);
if (a = b) or (b = c) or (a = c) then
writeln('La tam giac can')
else
writeln('Khong phai la tam giac can');
readln
end.
Bi tp 2. 6
Vit chng trnh xt xem mt tam gic c l tam gic vung hay khng khi bit
ba cnh ca tam gic.
a.Hng dn:
- Nhp ba cnh ca tam gic vo ba bin a,b,c.
- Nu a2 = b2 + c2 hoc b2 = c2 + a2 hoc c2 = a2+b2 th tam gic l tam gic vung v
ngc li tam gic khng l tam gic vung.
b.M chng trnh:
Program Tam_giac_can;
uses crt;
var a,b,c: real;
begin
clrscr;
write('Nhap a = '); readln(a);
write('Nhap b = '); readln(b);
write('Nhap c = '); readln(c);
if (a*a = b*b+c*c) or (b*b = c*c+a*a) or (c*c=
a*a+b*b) then writeln('La tam giac vuong')
else
writeln('Khong phai la tam giac vuong');
readln
end.

Bi tp 2.7:

Trang 19

100 bi tp Turbo Pascal

Vit chng trnh gii phng trnh ax + b = 0 (Cc h s a, b c nhp t bn


phm).
a.Hng dn:

b
a

Nu a 0 th phng trnh c nghim x =

Nu a = 0 v b = 0 th phng trnh c v s nghim


Nu a = 0 v b 0 th phng trnh v nghim

Hoc:
- Nu a = 0 th xt b. Nu b = 0 th phng trnh c v s nghim ngc li (b 0)
th phng trnh v nghim ngc li (a 0) phng trnh c nghim x =

b
.
a

a. M chng trnh:
Program Phuong_trinh_2;
uses crt;
var a,b:real;
begin
clrscr;
Writeln('
CHUONG TRINH GIAI PT ax + b =
0');
Write('Nhap he so a = ');readln(a);
Write('Nhap he so b = ');readln(b);
if (a<>0) then writeln('phuong trinh',a:10:2,'x
+ ',b:10:2,'= 0',' co nghiem x =;',-b/a:10:2);
if (a=0) and (b=0) then writeln('Phuong trinh co
vo so nghiem');
if (a=0) and (b<>0) then writeln('Phuong trinh
vo nghiem');
readln
end.
Hoc:
Program Phuong_trinh_2;
uses crt;
var a,b:real;
begin
clrscr;
Writeln('
CHUONG TRINH GIAI PT ax + b =
0');
Write('Nhap he so a = ');readln(a);
Write('Nhap he so b = ');readln(b);
if (a<>0) then writeln('phuong trinh',a:10:2,'x
+ ',b:10:2,'= 0',' co nghiem x =;',-b/a:10:2)
Trang 20

100 bi tp Turbo Pascal

else
if (b=0) then writeln('Phuong trinh co vo so
nghiem')
else
writeln('Phuong trinh vo nghiem');
readln
end.

Bi tp 2.8: (HSG lp 8 -TP Hu 2006-2007)


Ba bn An, Bnh v Cng cng tham gia mt tr chi nh sau: Mi bn nm
trong tay mt ng xu, mi ng xu c hai trng thi : sp v nga. Theo hiu lnh, c
ba bn cng a ng xu ca mnh ra pha trc. Nu c ba ng xu cng sp hoc cng
nga th cha pht hin ngi thua cuc (ha nhau). Nu mt bn c trng thi ng xu
khc vi hai bn kia( ngha l ng xu ca bn y sp cn hai ngi kia nga v ngc
li ng xu ca bn y nga th hai ngi kia sp) th bn thng cuc. Hy vit
chng trnh m phng tr chi trn.
Thut ton:
- m phng trng thi sp, nga ca ng xu ta dng hm Random(1) hoc
dng Random(n) mod 2 vi n > 2.
- Xt tm trng hp xy ra tm ngi thng cuc.
Ci t:
Program Sap_ngua;
uses crt;
Var A, B, C: byte;
Begin
clrscr;
Writeln('Go phim de xem ket qua: ');
A:=Random(10); A:=A mod 2;
B:=Random(10); B:=B mod 2;
C:=Random(10); C:=C mod 2;
Write('Ket qua: ',a,b,c);
if (A=0) and (B=0) and (C=0) then Write(' Hoa');
if (A=0) and (B=0) and (C=1) then Write(' C Thang');
if (A=0) and (B=1) and (C=0) then Write(' B Thang');
if (A=0) and (B=1) and (C=1) then Write(' A Thang');
if (A=1) and (B=0) and (C=0) then Write(' A Thang');
if (A=1) and (B=0) and (C=1) then Write(' B Thang');
if (A=1) and (B=1) and (C=0) then Write(' C Thang');
if (A=1) and (B=1) and (C=1) then Write(' Hoa');
Readln;
Readln
End.

Trang 21

100 bi tp Turbo Pascal

Bi tp 2.9:
Vit chng trnh dch cc ngy trong tun sang ting anh
2
3
4
5
6
7
8
Monday Tuesday Wednesday Thursday Friday
Saturday Sunday
a.
b.

Hng dn:
Dng bin a kiu byte cha th (2 n 8)
Trng hp a = 2: Monday
Trng hp a = 3: Thursday
...
Trng hp a = 8: Sunday
Ngoi ra khng cn th no.
M chng trnh:
Program dich;
uses crt;
Var thu:byte;
begin
clrscr;
write('nhap thu can dich 28: '); readln(thu);
case thu of
2: Write('--> Monday');
3: Write('--> Tuesday');
4: Write('--> Wednesday');
5: Write('--> Thursday');
6: Write('--> Friday');
7: Write('--> Saturday');
8: Write('--> Sunday');
else
Write(' Khong co thu nay');
end;
readln
end.

Bi tp 2.10
Vit chng trnh cho php tnh din tch cc hnh: Hnh vung; Hnh ch nht;
Hnh trn; Tam gic; Hnh thang. Ngi dng chn hnh cn tnh din tch t bng chn,
sau khai bo cc thng s lin quan v nhn c din tch ca hnh:
MOI BAN CHON HINH CAN TINH DIEN TICH
1. Hnh vung.
2. Hnh ch nht.
3. Hnh trn.
4. Tam gic.
5. Hnh thang.
Trang 22

100 bi tp Turbo Pascal

Mun tnh din tch tam gic, ngi dng g 4 v khai bo ng cao, y. Chng trnh
tnh v thng din tch n ngi dng.
a. Hng dn:
- Dng cu trc chn Case chon of vi chon c kiu Char to bng chn.
- Dng 3 bin a,b,c lu cc thng s ca hnh; Bin S lu din tch ca hnh.
- Thc hin chung cu thng bo din tch (Nm ngoi Case . . . of) gn
chong trnh.
b. M chng trnh:
Program Dien_Tich_cac_hinh;
uses crt;
var chon: byte;
a,b,c,S: real;
Begin
clrscr;
writeln('CHUONG TRINH TINH DIEN TICH CAC HINH');
Writeln('
------------');
writeln('1.
DIEN TICH HINH TAM GIAC');
writeln('2.
DIEN TICH HINH VUONG');
writeln('3.
DIEN TICH HINH CHU NHAT');
writeln('4.
DIEN TICH HINH THANG');
writeln('5.
DIEN TICH HINH TRON');
write('Moi ban chon hinh can tinh dien tich:
');readln(chon);
case chon of
1 : Begin
Write('Cho biet canh day: '); readln(a);
Write('Cho biet chieu cao: '); readln(b);
S:=(a*b)/2;
end;
2:Begin
Write('Cho biet chieu dai canh: ');
readln(a);
S:=a*a;
end;
3:Begin
Write('Cho biet chieu dai: '); readln(a);
Write('Cho biet chieu rong: '); readln(b);
S:=a*b;
end;
4:Begin
Write('Cho biet day lon: '); readln(a);
Write('Cho biet day nho: '); readln(b);
Write('Cho biet chieu cao: ');
readln(c);
S:=(a+b)*c/2;
End;
Trang 23

100 bi tp Turbo Pascal

5:Begin

end.

Write('Cho biet ban kinh: '); readln(a);


S:=a*a*pi;

End;
else
Writeln('Chon sai roi!!!');
end;
Writeln('Dien tich cua hinh la: ',S:8:2);
readln

c. Nhn xt: Vi mi trng hp tha Case bin chn of thc hin mt lnh. V th,
mun thc hin nhiu lnh ta cn ghp nhiu lnh thnh mt lnh ghp.

Trang 24

100 bi tp Turbo Pascal

CHNG III
CU LNH C CU TRC LP XC NH
A. L THUYT:
II. CU LNH LP
2.1. Vng lp xc nh
C hai dng sau:

Dng tin
FOR <bin m>:=<gi tr Min> TO <gi tr Max> DO S;

Dng li
FOR <bin m>:=<gi tr Max> DOWNTO <gi tr Min> DO S;
S thc hin vng lp FOR:
Dng tin

Dng li

Bin m:=Min

Bin m:=Max

Bin m<=Max

+
S;
INC(Bin m);

Bin m>=Max

Thot

S;
DEC(Bin m);

Thot

Ch : Khi s dng cu lnh lp FOR cn ch cc im sau:


Khng nn tu tin thay i gi tr ca bin m bn trong vng lp FOR v lm
nh vy c th s khng kim sot c bin m.
Gi tr Max v Min trong cu lnh FOR s c xc nh ngay khi vo u vng
lp. Do cho d trong vng lp ta c thay i gi tr ca n th s ln lp cng
khng thay i.
B. BI TP
Bi tp 3.1:
Vit chng trnh in ra cc s l nh hn hoc bng n (Vi n c nhp).
a. Hng dn:
- Cho bin i chy t 1 n n.
- Nu i chn ( i chia 2 d 0) th in ra s n.
Trang 25

100 bi tp Turbo Pascal

b. M chng trnh:
Program In_So_Le;
Uses crt;
var i,n: integer;
Begin
Clrscr;
Write('Nhap so n ='); readln(n);
For i:=1 to n do if i mod 2 =1 then
Write(i:3,',');
readln
end.
Bi tp 3.2:
Vit chng trnh in ra cc s l nh hn hoc bng n ( Vi n c nhp). Sao
cho 15 s l c in trn mt dng.
a. Hng dn:
- Cho j =0.
- Cho bin i chy t 1 n n.
- Nu i chn ( i chia 2 d 0) th in ra s n v tng dem ln 1
- Nu dem chia ht cho 15 th thc hin xung dng (Dng Writeln).
b. M chng trnh:
Program In_So_Le;
Uses crt;
var Dem,i,n: integer;
Begin
Clrscr;
Write('Nhap so n ='); readln(n);
Dem:= 0;
For i:=1 to n do if i mod 2 =1 then
Begin
Write(i:3,',');
Dem:= Dem + 1;
if Dem mod 15 = 0 then Writeln;
end;
readln
end.
c. Nhn xt: Lnh writeln khng c tham s cho php xung hng.
Nu c nhn xt trong 30 s th c 15 s l, ta c th khng cn thm bin m m ch
cn kim tra bin i xung hng.
Bi tp 3.3:
Vit chng trnh in ra tng cc s l nh hn hoc bng n ( Vi n c nhp).
Trang 26

100 bi tp Turbo Pascal

a. Hng dn:
- Cho S = 0.
- Cho bin i chy t 1 n n.
- Nu i chn ( i chia 2 d 0) th cng thm i vo S.
- In ra S.
b. M chng trnh:
Program In_So_Le;
Uses crt;
var S,i,n: integer;
Begin
Clrscr;
Write('Nhap so n ='); readln(n);
S:= 0;
For i:=1 to n do if i mod 2 =1 then S:= S+i;
Writeln('Tong cac so le nho hon ',n,' la: ',S);
readln
end.
c. Nhn xt: Ta dng bin S cng dn nn n c khi to gi tr u bng 0.
Bi tp 3.4:
Vit chng trnh in ra tt c cc c ca mt s n (Vi n c nhp t bn phm)
a. Hng dn:
- Cho bin i chy t 1 n n. Nu n chia ht cho i th in ra i.
b. M chng trnh:
Program Tim_uoc;
uses crt;
Var n, i: integer;
Begin
clrscr;
Write('Nhap so n ='); readln(n);
For i:=1 to n do if n mod i = 0 then
write(i:3,',');
readln
end.
c. Nhn xt: Chng trnh trn c hai im yu:
- In d mt du phy cui dy cc c.
- Khi n = 0 th khng in mt s no trong khi mi s u l c ca 0.
Hy tm cch khc phc yu im ny.
Bi tp 3.5:
Mt s c tng cc c nh hn n bng chnh n c gi l s hon chnh.
V d: 6 c cc c nh hn n l 1, 2, 3. Tng l 1 + 2 + 3 = 6.

Trang 27

100 bi tp Turbo Pascal

Vit chng trnh xt xem mt s n c nhp t bn phm c phi l s hon


chnh khng.
a. Hng dn:
- Dng bin n lu s cn xt.
- Bin S c gi tr ban u bng 0.
- Cho i chy t 1 n n-1. nu i l c ca n th cng thm i vo S.
- Nu S = n th S l s hon chnh.
b. M chng trnh:
Program So_Hoan_Chinh;
uses crt;
var n, i, s: integer;
begin
write('nhap so n: ');readln(n);
s:=0;
for i:= 1 to n -1 do if n mod i = 0 then s:=s+i;
if s = n then write(n, ' la so hoan chinh')
else writeln(n, ' khong phai la so hoan chinh');
readln
end.
Bi tp 3.6:
Vit chng trnh tm cc s hon chnh nh hn n (Vi n c nhp t bn
phm).
a. Hng dn:
Cho bin i chy t 1 n n. Xt i. Nu n l s hon chnh th in ra.
b. M chng trnh:
Program Tim_uoc_2;
uses crt;
Var S, n, i,j: longint;
Begin
clrscr;
Write('Nhap so n ='); readln(n);
For i:=1 to n do
Begin
S:=0;
For j:=1 to i do if i mod j = 0 then S:=S+j;
if S = 2*i then write(i:6,',');
end;
readln
end.
c. Nhn xt: y ta s dng hai vng lp lng nhau.

Trang 28

100 bi tp Turbo Pascal

Bi tp 3.7
In bng cu chng n (Vi n nhp t bn phm)
a.Hng dn :
b. M chng trnh:
Program Cuu_Chuong_1;
uses crt;
var n, i : integer;
begin
clrscr;
write('Nhap n: '); readln(n);
for i:= 1 to 9 do writeln(n,' x ', i, ' = ',
n*i);
readln
end.
Bi tp 3.8
Ln lt in cc bng cu chng.
a.Hng dn :
- Cho bin i chy t 2 n 9
- In bng cu chng i.
b. M chng trnh:
Program Cuu_Chuong_1;
uses crt;
var i,j : integer;
begin
clrscr;
for i:= 2 to 9 do
Begin
Writeln('Bang cuu chuong ',i);
For j := 1 to 9 do writeln(i,' x ', j, ' = ',
j*i);
readln
end;
readln
end.
c. Nhn xt: Chng trnh ny in bng cu chng dc (Ht bng ny n bng khc
tnh t trn xung). Hy sa chng trnh in theo kiu ngang thng thy.
Bi tp 3.9
Vit chng trnh xt xem mt s n c phi l s nguyn t khng?
a.Hng dn:
- Nu n khng chia ht mi s i c gi tr t 2 n n - 1 th n l s nguyn t.
- S dng bin ok c kiu boolean v c gi tr ban u l true.

Trang 29

100 bi tp Turbo Pascal

- Cho bin i chy t 2 n n 1. Xt n mod i. Nu bng 0 th gn ok = false.


Ngc li vn nguyn ok.
b.M chng trnh:
Program Nguyen_to_1;
uses crt;
var n, i: integer;
ok: boolean;
begin
ok:=true;
write('Nhap n: ');readln(n);
for i:= 2 to n - 1 do if n mod i = 0 then
ok :=false;
if ok then write(n,' la so nguyen to')
else write(n, ' khong la so nguyen to');
readln
end.
c. Nhn xt: y ta s dng bin c kiu logic (ng, sai). Ch cn mt ln n mod i =
0 th sau khi thc hin xong vng lp ok c gi tr l false.
Bi tp 3.10
Vit chng trnh in ra tt c cc s nguyn t b hn hoc bng n?
a. Hng dn:
- Cho i chy t 2 n n.
- Xt i. Nu n l s nguyn t th in n ra.
b. M chng trnh:
Program Nguyen_to_1;
uses crt;
var n, i, j: integer;
ok: boolean;
begin
clrscr;
write('Nhap n: '); readln(n);
for i := 2 to n do
begin
ok:=true;
for j:= 2 to i - 1 do if i mod j = 0 then
ok :=false;
if ok then write(i,';')
end;
readln
end.

Trang 30

100 bi tp Turbo Pascal

CHNG IV
CU TRC LP KHNG XC NH
A. L THUYT
Dng REPEAT
Repeat
S;
Until B;

Dng WHILE
While B Do S;

ngha:
Dng REPEAT: Lp li cng vic S cho n khi biu thc B=TRUE th dng.
Trc Repeat c th B cha c xc nh nhng khi thc hin S th B xc nh.
Dng WHILE: Trong khi biu thc B=TRUE th tip tc thc hin cng vic S.
Trc While cn c cc lnh B c xc nh.
Yu cu quan trng: Trong S phi c mt lnh lm thay i d liu lin quan n
iu kin B.
B. BI TP
Bi tp 4.1:
Vit chng trnh in ra cc s l nh hn hoc bng s nguyn dng n ( Vi n
c nhp). Yu cu nhp li nu n <=0
a. Hng dn:
- S dng kin thc s l u tin bng 1. S l sau bng s trc cng vi 2.
- Cho bin i c gi tr ban u bng 1.
- Dng vng lp while do vi iu kin i < n v cng vic bn trong l in i v
tng i ln 2.
b. M chng trnh:
Program In_So_Le;
uses crt;
var i,n:integer;
begin
clrscr;
Repeat
write('Nhap so n: ');readln(n);
until n>0;
i:=1;
while i<=n do
begin
write(i:3,', ');
i:=i+2;
end;
readln
end.

Trang 31

100 bi tp Turbo Pascal

Nhn xt:
- Mi vng lp For ... to ... do u c th thay th bng vng lp while ... do.
- on m:
Repeat
write('Nhap so n: ');readln(n);
until n>0;
Dng kim tra, khng ch iu kin ca d liu vo.
- Trong vng lp while nht thit phi c mt cu lnh lm thay i iu kin lp.
y l i:=i+2. Nu khng c s dn n trng hp lp v hn. Chng trnh chy mi
m khng c li ra (Khng thot ra khi vng lp c).
Bi tp 4.2:
Vit chng trnh tnh n! vi n! c nh ngha nh sau:
- n! = 1 vi n = 0
- n! = 1.2.3...n (Tch ca n s t 1 n n).
Yu cu: S dng vng lp vi s ln cha bit trc:
a. Hng dn:
- C th vit li: n! = n.(n-1)... 3.2.1.
- Lp gt = gt*n; n = n-1 vi iu kin n>0.
b. M chng trnh:
Program Giai_Thua_while;
uses crt;
var n, gt:longint;
begin
clrscr;
Repeat
write('Nhap so n: ');readln(n);
until n>0;
gt:=1;
while n>0 do
begin
gt:=gt*n;
n:=n-1;
end;
writeln('Giai thua cua n la: ',gt);
readln
end.
c. Nhn xt: Tit kim c mt bin i chy nhng lm thay i n nn khi xut ra ch
c th xut mt cu chung chung Giai thua cua n la:
Bi tp 4.3:
Vit chng trnh tnh n!! (giai tha kp) vi n!! c nh ngha nh sau:
- n!! = 1 vi n = 0
- n!! = 1.3.5..n vi n l.
Trang 32

100 bi tp Turbo Pascal

- n!! = 2.4.6..n vi n chn.


Yu cu: S dng vng lp vi s ln cha bit trc:
a. Hng dn:
- Hai s chn lin tip hn km nhau 2. Hai s l lin tip cng vy.
- Thc hin tnh nh giai tha n nhng vi bc nhy l 2.
b. M chng trnh:
Program Giai_thua_kep;
uses crt;
var n,gt:longint;
begin
Repeat
write('Nhap so n: ');readln(n);
until n>0;
gt:=1;
while n>0 do
begin
gt:=gt*n;
n:=n-2;
end;
write('Giai thua la: ',gt);
readln
end.

c. Nhn xt:
- Vi thut ton trn ta khng cn xt n l chn hay l.
Bi tp 4.4:
Vit chng trnh cho php tnh tng ca nhiu s (Cha bit bao nhiu s). Nhp
s 0 kt thc qu trnh nhp.
a. Hng dn:
b. M chng trnh:
Program Tong_Repeat;
uses crt;
var i: byte;
so, tong: real;
begin
write('NHAP CAC SO - NHAP 0 DE NGUNG ');
readln;
repeat
clrscr;
write('Nhap so thu ',i,': ');
readln(so); tong:=tong+so; i:=i+1;
until so=0;
write('Tong la: ',tong:6:1);
readln
end.

Trang 33

100 bi tp Turbo Pascal

Bi tp 4.5
Vit chng trnh tm c chung ln nht (UCLN) ca hai s vi yu cu s dng
thut ton Euclid.
Thut ton Euclid: Nu a chia ht cho b (a chia b d 0) th UCLN(a,b) bng b
Nu a chia b d r th UCLN(a,b) = UCLN(b,r)
a.Hng dn:
- Nhp a, b v gn r = a mod b.
- Lp vi iu kin r <> 0: b = r, a = b, r = a mod b.
b.M chng trnh:
Program UCLN;
uses crt;
var a,b,r:byte;
begin
clrscr;
writeln('CHUONG TRINH TIM UCLN CUA HAI SO');
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
r:=a mod b;
while r<> 0 do
begin
b:=r;
a:=b;
r:=a mod b;
end;
write('UCLN cua hai so la: ',b);
readln
end.
Bi tp 4.6
Dy Fibonacy c hai phn t u l 1, 1. Cc phn t sau bng tng hai phn t
ng ngay trc n: 1, 1, 2, 3, 5, 8, 13, 21, ...
Vit chng trnh in ra dy Fibonacy c phn t ln nht nh hn n?
a.Hng dn:
- Cn hai bin F_1 v F c gi tr u l 1, 1.
- Thc hin lp cho n khi F >= n.
- Do yu cu ch in cc s b hn n nn khi in cn thm mt lnh kim tra.
b.M chng trnh:
Program Fi_Bo_na_xi;
Var n, F_2,F_1, F: Longint;
Begin
Write('Nhap n: ');Readln(n);
F_1:=1; F_2:=1;
Write(F_2,';',F_1,';');
Repeat
F:=F_2+F_1;
Trang 34

100 bi tp Turbo Pascal

if F< n then Write(F,';');


F_2:=F_1; F_1:=F;
Until F>n;
Readln;
End.
Nhn xt: Gia Repeat ... until c th cha nhiu lnh m khng cn ghp.
Hy pht trin bi tp theo hng ch in mt phn t trong dy ln nht nhng b hn n
hoc theo hng phn t th k ca dy.

Trang 35

100 bi tp Turbo Pascal

CHNG V
D LIU KIU MNG (Mt chiu)
A. L THUYT
I. KHAI BO MNG
C php:
VAR
<Bin mng> : ARRAY [ch s] OF <Kiu d liu>;
V d:
VAR
M: Array[1..100] of Integer;
C: Array[A..Z] of byte;
Trong ch s c kiu v hng m c (nh: nguyn, k t ...)
II. QUN L MT MNG:
- qun ly mt dy cn hai bin nguyn v mt bin mng. Mt bin kiu nguyn
lu s phn t ca dy, mt bin nguyn khc lu ch s v mt bin mng lu
gi tr cc phn t ca dy.
- truy cp n phn t th k trong mng mt chiu A, ta s dng c php:
A[k].
- C th s dng cc th tc READ(LN)/WRITE(LN) i vi cc phn t ca
bin kiu mng.
B. BI TP
Bi tp 5.1
Vit chng trnh cho php nhp n s v in ra theo th t ngc li. V d nhp 3,
5, 7 th in ra 7, 5, 3.
a.Hng dn:
- Dng bin n lu lng s cn nhp.
- Dng mng lu cc s va nhp.
- Cho i chy t n v 1 in cc s va nhp.
b.M chng trnh:
Program mang_1;
uses crt;
var n, i: integer;
M: array[1..100] of real;
Begin
write('Nhap so n: ');readln(n);
for i:=1 to n do
Begin
write('M[',i,']='); readln(M[i]);
end;
for i:= n downto 1 do write(m[i], ,);
readln
end.
Trang 36

100 bi tp Turbo Pascal

Bi tp 5.2
Vit chng trnh nhp dy n s v in ra tng cc s l trong dy s va nhp.
a. Hng dn:
Thc hin cng dn cc s l bng lnh:
if M[i] mod 2 =1 then tong:=tong+M[i]
b. M chng trnh:
Program Mang_Tong_Le;
uses crt;
var i,n:byte;
M:array[1..100] of integer;
tong:longint;
begin
write('Nhap so phan tu cua day: ');readln(n);
for i:=1 to n do
begin
write('M[',i,']'); readln(M[i]);
end;
tong:=0;
for i:=1 to n do if M[i] mod 2 =1 then
tong:=tong+M[i];
write('Tong cac so le trong day la: ',tong);
readln
end.
c. Nhn xt: Vi yu cu ca bi ton th khng cn s dng bin mng vn gii c.
Hy th nh.
Bi tp 5.3
Vit chng trnh nhp n s, xo s th k trong n s va nhp.In ra n-1 s cn li.
n= 10 (Nhp 10 phn t)
V d: Nhp 2, 3, 4, 5, 6, 8, 7, 6, 5, 4.
k= 8 (Xo phn t th 8).
In ra: 2, 3, 4, 5, 6, 8, 7, 5, 4.
a. Hng dn:
Xo phn t k bng cch ghi phn t th k+1 ln n.
b. M chng trnh:
Program Xoa_mang;
uses crt;
var m:array[1..100] of integer;
n,i,k:byte;
begin
Write('So phan tu cua day: ');readln(n);
for i:=1 to n do
Begin
write('M[',i,']=');
Trang 37

100 bi tp Turbo Pascal

readln(M[i]);

end;
write('Nhap phan tu can xoa: ');readln(k);
for i:=k to n-1 do m[i]:=m[i+1];
for i:=1 to n-1 do write(m[i],', ');
readln
end.
c. Nhn xt: Vi yu cu ca bi tp trn ch cn kim tra ch s khi in (VD nu i = 8 th
khng in). Tuy nhin trong khi s dng mng lu d liu gii ton, nhiu khi ta c
nhu cu xa bt hoc chn thm phn t vo dy.
Bi tp 5.4
Vit chng trnh cho php nhp mt dy gm n s nguyn. Nhp thm mt s v
chn thm vo dy sau phn t k.
a. Hng dn:
- Di cc phn t t v tr k v sau mt bc.
- Nhp gi tr cn chn vo v tr k.
b. M chng trnh:
Program Mang_chen;
uses crt;
var M: array[1..100] of integer;
i,n,k:integer;
begin
clrscr;
write('Nhap : ');readln(n);
for i:=1 to n do
begin
write('M[',i,']='); readln(M[i]);
end;
write('Vi tri chen: ');readln(k);
for i:=n+1 downto k+1 do M[i]:=M[i-1];
write('Nhap so can chen: '); readln(M[k]);
for i:=1 to n+1 do write(M[i],', ');
readln
end.
Bi tp 5.5
Vit chng trnh cho php nhp n s v cho bit s nh nht trong cc s va
nhp l s th my.
a.Hng dn:
- Dng bin n lu lng s cn nhp.
- Dng mng lu cc s va nhp.
- Cho Min = M[1], j = 1 (Xem phn t u tin l b nht)

Trang 38

100 bi tp Turbo Pascal

So snh Min vi n-1 s cn li. Trong qu trnh so snh nu Min > M[i] th gn
Min = M[i], j=i v tip tc so snh .
b.M chng trnh:
Program TIM_NHO_NHAT;
uses crt;
var n,i,nhonhat:integer;
m: array[1..100] of real;
min:real;
begin
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('M[',i,']='); readln(m[i]);
end;
min:=m[1];
nhonhat:=1;
for i:=2 to n do if m[i] < min then
begin
min:=m[i]; nhonhat:=i;
end;
writeln('phan tu nho nhat la phan tu
thu',nhonhat);
readln
end.
Bi tp 5.6
Vit chng trnh cho php nhp n s sp xp v in ra cc s nhp theo th t
tng dn.
a. Hng dn:
b. M chng trnh:
Program Sap_xep_mang;
Var M: array[1..10] of integer;
i,j,n: byte;
tam: integer;
Begin
Write('Nhap so phan tu n:');Readln(n);
For i:=1 to n do
Begin Write('M[',i,']='); Readln(M[i]); End;
For i:=1 to n-1 do
For j:=i+1 to n do if M[j] <=M[i] then
Begin Tam:= M[i]; M[i]:=M[j]; M[j]:=tam; End;
Write('Sau khi sap xep: ');
For i:=1 to n do Write(M[i],';');
Readln;
Trang 39

100 bi tp Turbo Pascal

End.
Bi tp 5.7:
Vit chng trnh in dy n s fibonacy.
a.Hng dn:
- S dng mng M cha dy n s fibonacy. To lp hai phn t u tin l 1, 1.
- Cho i chy t 3 n n. M [i] = M[i-1]+M[i-2].
- In n phn t u tin ca mng.
b.M chng trnh:
Program Fibonacy_mang;
uses crt;
var i,n: integer;
m:array[1..100] of longint;
begin
write('Nhap so phan tu can in:'); readln(n);
m[1]:=1;
m[2]:=1;
for i:=3 to n do m[i]:=m[i-1]+m[i-2];
for i:=1 to n do write(m[i],' ,');
readln
end.
Bi tp 5.8
Vit chng trnh in ra mn hnh tam gic Pascal. V d, vi n=4 s in ra hnh sau:
1
1
1
2
1
1
3
3
1
1
4
6
4
1
... Hng th n c xc nh t hng n-1:
- Phn t u tin v phn t cui cng u bng 1.
- Phn t th 2 l tng ca phn t th nht v th 2 ca hng n-1
- Phn t th k ca hng th n l tng ca phn t th k-1 v k ca hng th n-1.
Thut ton:
Bc 1: Khi to mt mng mt chiu n phn t c gi tr 0.
Bc 2: Khi to gi tr cho hng th nht M[1,1] = 1.
Bc 3: - i vi hng th i tnh gi tr phn t t phn t th i + 1 xung phn t th 2:
M[j]:=M[j] + M[j-1]
- In ra hng th i.
Chng trnh:
Program Tam_giac_Pascal_mot_chieu;
Var n,i,j: integer;
M: array[1..10] of integer;
Begin
Trang 40

100 bi tp Turbo Pascal

Write('Nhap n: '); Readln(n);


For i:= 1 to n do M[i]:=0;
M[1]:=1;
For i:=1 to n do
Begin
For j:=i+ 1 downto 2 do M[j]:=M[j]+M[j-1];
For j:=1 to i+ 1 do Write(M[j]:3);
Writeln;
End;
Readln
End.
Bi tp 5.9
Vit chng trnh cho php nhp.
a. Hng dn:
b. M chng trnh:
Bi tp 5.10
Vit chng trnh cho php nhp.
a. Hng dn:
b. M chng trnh:

Trang 41

100 bi tp Turbo Pascal

CHNG VI
CHNG TRNH CON: TH TC V HM
A. L THUYT
I. KHI NIM V CHNG TRNH CON
Chng trnh con (CTC) l mt on chng trnh thc hin trn vn hay mt
chc nng no . Trong Turbo Pascal, c 2 dng CTC:
Th tc (PROCEDURE): Dng thc hin mt hay nhiu nhim v no .
Hm (FUNCTION): Tr v mt gi tr no (c kiu v hng, kiu string).
Hm c th s dng trong cc biu thc.
Ngoi ra, trong Pascal cn cho php cc CTC lng vo nhau.
II. CU TRC CHUNG CA MT CHNG TRNH C S DNG CTC
PROGRAM Tn_chng_trnh;
USES CRT;
CONST ............;
VAR
............;
PROCEDURE THUTUC[(Cc tham s)];
[Khai bo Const, Var]
BEGIN
..............
END;
FUNCTION HAM[(Cc tham s)]:<Kiu d liu>;
[Khai bo Const, Var]
BEGIN
..............
HAM:=<Gi tr>;
END;
BEGIN {Chng trnh chnh}
...................
THUTUC[(...)];
...................
A:= HAM[(...)];
...................
END.

Trang 42

100 bi tp Turbo Pascal

Ch : Trong qu trnh xy dng CTC, khi no th nn dng th tc/hm?


Dng hm
Dng th tc
- Kt qu ca bi ton tr v 1 gi tr duy - Kt qu ca bi ton khng tr v gi tr
nht (kiu v hng, kiu string).
no hoc tr v nhiu gi tr hoc tr v
- Li gi CTC cn nm trong cc biu kiu d liu c cu trc (Array, Record,
thc tnh ton.
File).
- Li gi CTC khng nm trong cc biu
thc tnh ton.
B. BI TP
Bi tp 6.1:
Vit chng trnh gii phng trnh bc hai vi yu cu s dng cc chng trnh
con gii quyt cc trng hp xy ra ca delta.
a. Hng dn:
b. M chng trnh:
Program Giai_PT_bac_hai;
uses crt;
var a,b,c,delta:real;
{----------------------}
Procedure delta_duong;
begin
write('Phuong trinh co hai nghiem x1=',(b+sqrt(delta))/(2*a),'x2=',(-b+sqrt(delta))/(2*a));
end;
{---------------------}
Procedure delta_khong;
begin
write('Phuong trinh co nghiem kep x=',-b/(2*a):3:1);
end;
{--------------------}
Procedure delta_am;
begin
writeln('Phuong trinh vo nghiem');
end;
{Chuong trinh chinh}
Begin
clrscr;
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
write('Nhap c: ');readln(c);
delta:=b*b-4*a*c;
if delta>0 then delta_duong
else if delta = 0 then delta_khong
else delta_am;
readln
end.

Trang 43

100 bi tp Turbo Pascal

c. Nhn xt: Chng trnh con cho php chia nh cng vic nhm n gin ho. Ngoi
ra mt cng vic no lp li nhiu ln trong chng trnh nn dng CTC v khi m
chng trnh s gn, d theo di, g ri hn.
Bi tp 6.2:
Vit chng trnh cho php nhp hai s vo hai bin, thc hin i gi tr ca hai
bin cho nhau. Yu cu dng chng trnh con thc hin chc nng i gi tr.
a. Hng dn:
b. M chng trnh:
Program CTC_1;
uses crt;
var a,b: real;
{----CTC doi gia tri----}
Procedure swap(var x,y:real);
var tam:real;
begin
tam:=x; x:=y; y:=tam;
end;
{-----Ket thuc CTC-----}
begin
clrscr;
write('Nhap so a: ');readln(a);
write('Nhap so b: ');readln(b);
swap(a,b);
write('Sau khi doi a =',a:3:1);
write('Sau khi doi b =',b:3:1);
readln
end.
b. Nhn xt:
- Nu b t var khai bo var x,y:real th chng trnh vn khng bo li nhng
chc nng i gi tr ca hai bin khng thc hin c.
Bi tp 6.3:
Tm s ln th nh trong n s c nhp t bn phm.
V d: Nhp cc s 10; 10; 9; 9; 8 th c s ln nh l 9.
Gii thut:
- Nhp 2 s, Xc nh gi tr cho hai bin Max, Nhi.
- Ln lt nhp cc s. Vi mi s c nhp xt:
- Nu So > Max th gn Nhi = Max, Max = So.
- Nu Nhi < So < Max th gn Nhi = So.
Program So_lon_nhi;
Var n,i,so, nhi,max,tam:integer;
Procedure swap(var x,y:real);
Trang 44

100 bi tp Turbo Pascal

var tam:real;
begin
tam:=x;
x:=y;
y:=tam;
end;
Begin
Write('Nhap n: ');Readln(n);
Write('nhap so:');Readln(max);
Write('nhap so: ');Readln(nhi);
if nhi > Max then swap(Max,nhi)
For i:= 3 to n do
Begin
Write('Nhap so: ');Readln(so);
if (so>nhi) and (so<max) then nhi:=so;
if so>max then
Begin
nhi:=max;
Max:=so;
End;
End;
Write('So thu nhi la: ',nhi);
Readln
End.
Bi tp 6.3:
Vit chng trnh tnh giai tha ca s n (Vit l n!). Vi yu cu:
- Nu ngi dng nhp s n < 0 th yu cu nhp li.
- S dng chng trnh con tnh giai tha ca mt s.
n! = 1 nu n = 0;
n! = 1.2.3.4.5...n (Tch ca n tha s).
a. Hng dn:
b. M chng trnh:
Program CTC_2;
uses crt;
var n:integer;x:longint;
Procedure Giai_Thua(var GT:longint; n:byte);
begin
GT:=1;
while n>0 do
begin
GT:=GT*n;
n:=n-1;
end;
end;
Trang 45

100 bi tp Turbo Pascal

begin
repeat
clrscr;
write('Nhap so n: ');readln(n);
if n < 0 then begin write('Nhap so n>=0');readln;
end;
until n>=0;
Giai_Thua(x,n);
writeln('Giai thua cua ',n,'la:',x);
readln
end.
Nhn xt: Lnh n:= n-1 lm thay i gi tr ca n nhng khi ra khi chng trnh con n
c gi tr khng i so vi trc khi gi chng trnh con.
Bi tp 6.4:
Vit chng trnh tnh n! vi yu cu s dng hm tnh giai tha.
a. Hng dn:
b. M chng trnh:
Program Giai_thua_Ham;
uses crt;
var n: longint;
Function Giai_Thua(n:longint):longint;
Var GT:Longint;
begin
GT:=1;
while n > 0 do
begin
GT:=GT * n;
n:=n-1;
end;
Giai_thua:=GT;
end;
begin
clrscr;
write('Nhap n: '); readln(n);
write(n,'!=',Giai_thua(n));
readln
end.
Nhn xt: Hy so snh s khc nhau khi Giai_thua c vit di hai dng Function v
Procedure.
- Khi dng Procedure cn mt bin (ton cc) lu gia gi tr ca n!. Bin ny c
truyn cho tham bin trong Procedure. Sau khi gi n cn lnh in n!
- Khi dng Function, c th s dng n nh l mt biu thc.
Trang 46

100 bi tp Turbo Pascal

Bi tp 6.5:
Vit chng trnh cho php thc hin rt gn phn s.
a. Hng dn:
- Tm UCLN ca t s v mu s.
- Chia t v mu ca phn s cho UCLN va tm c.
b. M chng trnh:
Program Rut_gon_phan_so;
uses crt;
var tu,mau:integer;
Function UCLN(a,b:integer):integer;
var r: integer;
begin
r:= a mod b;
while r <> 0 do
begin
a:= b;
b:= r;
r:=a mod b;
end;
UCLN:=b;
end;
begin
clrscr;
write('Nhap tu: '); readln(tu);
write('Nhap mau: '); readln(mau);
write('Ket qua rut gon: ',tu,'/',mau,'=',tu div
UCLN(tu,mau),'/',mau div UCLN(tu,mau));
readln
end.
Bi tp 6.6:
Vit chng trnh cho php trn hai dy s A v B cng c s phn t l k
c dy s C theo yu cu sau:
A = a1, a2 ... ak
B = b1, b2 ... bk
c C = a1, b1, a2, b2 ... ak, bk.
a. Hng dn:
b. M chng trnh:
Program Tron_day;
uses crt;
type kieu_mang = array[1..100] of integer;
var A, B, C: Kieu_mang;
Trang 47

100 bi tp Turbo Pascal

n,i,j: integer;
Procedure Nhap_Mang(Var X: Kieu_mang; n:byte);
var i:integer;
begin
for i:=1 to n do
begin
write('M[',i,']=');readln(X[i]);
end;
end;
Procedure In_Mang(X:kieu_mang; n:byte);
var i: byte;
begin
for i:=1 to n do write(x[i],', ');
end;
{-----------}
begin
clrscr;
write('Nhap so phan tu cua day: ');read(n);
Nhap_mang(A,n);
Nhap_mang(B,n);
i:=1;
j:=1;
while i<= n do
begin
C[j]:= A[i];
C[j+1]:=B[i];
j:=j+2;
i:=i+1;
end;
in_mang(C,2*n);
readln
end.
Bi tp 6.7:
Vit chng trnh in ra cc s nguyn t nh hn n vi yu cu dng hm kim
tra mt s c phi l s nguyn t hay khng.
a. Hng dn:
b. M chng trnh:
Program In_so_nguyen_to;
uses crt;
var n, i: integer;
{------Ham kiem tra-------}
Function kiem_tra(n:integer):boolean;
var i: integer;
Trang 48

100 bi tp Turbo Pascal

begin
kiem_tra:=true;
for i:=2 to n-1 do if (n mod i) = 0 then
kiem_tra:=false;
end;
{------CTC----------------}
begin
clrscr;
write('Nhap n: '); readln(n);
for i:=2 to n do if kiem_tra(i) then write(i:3,
', ');
readln;
end.
Bi tp 6.8:
Vit chng trnh cho php sp xp mt dy s vi yu cu s dng cc chng
trnh con: Nhp mng, in mng, i gi tr ca hai s.
a. Hng dn:
b. M chng trnh:
Program Sap_xep_day;
uses crt;
type kieu_mang =array[1..100] of integer;
Var A: kieu_mang;
n,i,j:byte;
{---------------------}
Procedure Nhap_mang(var M:Kieu_Mang;n:byte);
Var i:byte;
begin
for i:=1 to n do
begin
write('M[',i,']=');readln(M[i]);
end;
end;
{---------------------}
Procedure In_mang(var M:Kieu_Mang;n:byte);
Var i:byte;
begin
for i:=1 to n do write(M[i]:3,', ')
end;
{---------------------}
Procedure swap(var a,b:integer);
var tam:integer;
begin
tam:=b;
Trang 49

100 bi tp Turbo Pascal

b:=a;
a:=tam;
end;
{---------------------}
Begin
Clrscr;
write('Cho biet so phan tu cua day:
');readln(n);
nhap_mang(A,n);
for i:=1 to n-1 do
for j:= i to n do if A[i]>A[j] then
swap(A[i],A[j]);
In_mang(A,n);
readln
end.

Trang 50

100 bi tp Turbo Pascal

CHNG VII
CHUYN CHIA HT S NGUYN T.
A. L THUYT:
-:
-:
.
-:
B. BI TON:
Bi tp 7.1 :
Nhp vo mt s nguyn dng n. Hy in ra s nguyn t nh nht ln hn n.
VD: Nhp n = 10. Kt qu in ra s 11.
Gii thut :
- Gn i := n ;
- Thc hin cho n khi i l nguyn t vic tng i ln 1.
Program Nguyen_to;
Var n,i:integer;
Function NT(n:integer):Boolean;
Var ok: Boolean;
i: integer;
Begin
ok:=true;
for i:=2 to n-1 do
if (n mod i)= 0 then ok:=ok and false;
if n < 2 then NT:=false else NT:=ok;
End;
Begin
Write('Nhap n: ');Readln(n);
i:=n;
Repeat i:=i+1;
Until NT(i);
Write('So nguyen to nho nhat lon hon ',n, 'la: ',i);
Readln
End.
Bi tp 7.2 :
Nhp vo t bn phm s t nhin n (n<1000). Hy phn tch n thnh tch cc
tha s nguyn t.
VD: Nhp vo n = 9 c 9 = 3.3
Thut ton:
Gn i := 2;
Khi n > 1 th lp:
Nu n chia ht cho i th in ra i v gn li n:= n div i. Ngc li tng i ln 1.
Trang 51

100 bi tp Turbo Pascal

Program Phan_tich;
var n,i: integer;
Begin
Write('Nhap so can phan tich: ');Readln(n);
i:=2;
Write('Ket qua phan tich:');
Write(n,'=');
While n>1 do
Begin
if n mod i = 0 then Begin Write(i,'.'); n:= n div i End
else i:=i+1;
End;
Readln
End.
Nhn xt: Ci t trn in d mt du nhn cui. Hy chnh sa b du nhn tha
ny.
Bi tp 7.3:
Tm cc s t nhin nh hn hoc bng n m sau khi lm php phn tch ra tha
s nguyn t c nhiu nhn t nht.
V d n=9 . Cc s c nhiu nhn t nht sau khi lm php phn tch l: 8 = 2.2.2
Thut ton:
Ci t:
Program Phan_tich_nguyen_to_2;
Var n, Max, so, i:byte;
Function PTNT(n:integer):byte;
Var i,p:byte;
Begin
i:=2;
p:=0;
While n>1 do if (n mod i)=0 then Begin p:=p+1; n:=n div
i end else i:=i+1;
PTNT:=p;
End;
Procedure PT(n:integer);
Var i:byte;
Begin
i:=2;
While n>1 do
if (n mod i)=0 then
Begin Write(i,'.'); n:=n div i end else i:=i+1;
End;
Begin
Trang 52

100 bi tp Turbo Pascal

Write('Nhap so n: ');Readln(n);
Max:=0;
For i:= 1 to n do if PTNT(i)>=Max then Begin
Max:=PTNT(i); So:=i End;
Write('So ',So,' co nhieu uoc nhat,',so,' = ');
PT(So);
Readln
End.
Bi tp 7.4:
Vit chng trnh cho php phn tch mt s ra tha s nguyn t v ghi kt qu
di dng tch cc ly tha. V d: 300 = 2^2.3.5^2
Thut ton:
Dng mt mng lu ly tha. Mng ny c gi tr cc phn t ban u u bng 0.
Nu n chia ht cho i th tng M[i] ln 1.
Khi in kim tra: Nu M[i] >0 th in i^M[i].
Ci t:
Program Phan_tich;
Var M: array[1..1000] of byte;
i: byte;
n: integer;
Begin
For i:=1 to 1000 do M[i]:=0;
Write('Nhap so n: ');Readln(n);
i:=2;
While n>1 do if (n mod i = 0) then begin M[i]:=M[i]+1;
n:=n div i End
else i:=i+1;
For i:=1 to 1000 do if M[i]>0 then Begin If M[i]>1 then
Write(i,'^',M[i],'.') else Write(i,'.') End;
Readln;
End.
Bi tp 7.5
Mi s t nhin u c th vit c di dng tng ca hai s nguyn t. Vit
chng trnh thc hin tch mt s t nhin thnh tng ca hai s nguyn t.
Thut ton:
Ci t:
Program Tong_nguyen_to;
Var i,n:integer;
Function NT(n:integer):Boolean;
Var ok: Boolean;
i:integer;
Begin
Trang 53

100 bi tp Turbo Pascal

ok:=true;
For i:=2 to n-1 do if (n mod i) = 0 then ok:=ok and
false;
if n>=2 then NT:=ok else NT:=false;
End;
Begin
Write('Nhap so n: ');Readln(n);
For i:=2 to n div 2 do if (NT(i) and NT(n-i)) then
Writeln(n,' = ',i,' + ',n-i);
Readln
End.
Nhn xt: Hy m rng bi ton theo hng
- Xt xem trong on [n1...n2] s no cho php tch thnh tng hai s nguyn t nhiu
trng hp nht.
- Tch mt s thnh tng ba s nguyn t.
Bi tp 7.6: (Tin hc tr ton quc ln I - 1995)
Hai s t nhin A, B c coi l hu ngh nu nh s ny bng tng cc c s
ca s kia v ngc li. Lp trnh tm v chiu ln mn hnh cc cp s hu ngh trong
phm vi t 1 n 10000. (Lu : s 1 c coi l c s ca mi s cn mi s khng
c coi l c s ca chnh n).
Thut ton:
Ci t:
Program Cap_so_huu_nghi;
Var a,b,n,i:integer;
Function TU(a:integer):integer;
Var Tg,i:integer;
Begin
Tg:=0;
For i:=1 to a-1 do if (a mod i = 0) then Tg:=Tg + i;
TU:=Tg;
End;
Begin
Write('Nhap so n: ');Readln(n);
For a:=1 to n do Begin b:=TU(a); if TU(b)=a then
Writeln(a,'-',b) end;
Readln;
End.
Nhn xt: Cc s hon chnh lun l hu ngh ca chnh n.

Trang 54

100 bi tp Turbo Pascal

CHNG VIII
CHUYN DY CON.
A. L THUYT:
- Dy con l dy cc phn t lin tc thuc mt dy c trc (dy m) tha mn mt tnh
cht no .
- qun l mt dy con cn mt ch s (ni bt u dy con) v di ca dy.
- Mt cch qun l khc l ch s u v chr s cui.
- xy dng mt dy con cn:
- Xy dng gi tr ban u.
- Duyt qua cc phn t ca dy, Nu:
- Tha iu kin, tng di thm 1 ngc li:
- Nu dy con ang xt cn lu th: Lu li di, ch s u dy, Xc nh li
di, ch s u ca dy mi.
- Nu dy con ang xt khng cn lu th: Xc nh li di, ch s u ca dy
mi.
- duyt qua tt c cc dy con ca mt dy gm n s ta dng thut ton vt cn sau:
For i:= 1 to n
For j:= 1 to n-i+1 Xt dy con bt u t v tr th i c di j.
B. BI TP:
Bi tp 1: Cho dy s gm n s. Tm dy con ln nht cc phn t tng (gim) dn.
Gii thut:
S dng k thut xy dng dy con.
Ci t:
Program Day_con1;
Var M: array[1..100] of integer;
i,n, dau,ldau, dai,Max: integer;
Begin
Write('Nhap so n: '); Readln(n);
For i:=1 to n do
Begin Write('[',i,']='); Readln(M[i]); End;
{Khoi tao gia tri dau}
i:=0;
Max:=1;
dau:=1;
dai:=1;
ldau:=1;
While i<=n do
Begin
i:=i+1;
if M[i+1]>=M[i] then dai:=dai+1 else
if dai> Max then Begin Max:=dai; ldau:=dau; dai:=0
End
else Begin dau:=i+1; dai:=1 End;
Trang 55

100 bi tp Turbo Pascal

End.

End;
Write('Xau con dai:',max,' bat dau tu: ',ldau);
Readln

Nhn xt: Bi ton trn c th s dng gii thut vt cn dy con gii. Sau y l ci
t:
Program Day_con1b;
Type KM= array[1..100] of integer;
Var M:KM;
i,j,n, dau,ldau, dai,Max: integer;
Function KT(A:KM;m,l:byte):boolean;
Var ok:Boolean;
i:byte;
Begin
ok:=True;
For i:=m to m+l-1 do if A[i]>A[i+1] then ok:=ok and
false;
KT:=ok;
End;
Begin
Write('Nhap so nc: '); Readln(n); Max:=0;
For i:=1 to n do Begin Write('[',i,']=');
Readln(M[i]); End;
For i:= 1 to n-1 do
For j:=1 to n-i+1 do
if KT(M,i,j) then
if j+1> Max then Begin ldau:=i; Max:=j+1
End;
Write('Xau con dai:',max,' bat dau tu: ',ldau);
Readln
End.
Bi tp 2: Cho dy s gm n s. Tm dy con ln nht cc phn t c cng du, (an
du).
Gii thut:
Thc hin ging nhu bi 1, ch thay iu kin l M[i+1]*M[i] >0
Ci t:
Program Day_con2;
Var M: array[1..100] of integer;
i,n, dau,ldau, dai,Max: integer;
Begin
Write('Nhap so nc: '); Readln(n);
Trang 56

100 bi tp Turbo Pascal

For i:=1 to n do Begin Write('[',i,']=');


Readln(M[i]); End;
i:=0;
Max:=1;
dau:=1;
dai:=1;
ldau:=1;
While i<=n do
Begin
i:=i+1;
if M[i+1]*M[i]>0 then dai:=dai+1 else
if dai> Max then Begin Max:=dai; ldau:=dau; dai:=0
End
else Begin dau:=i+1; dai:=1 End;
End;
Write('Xau con dai:',max,' bat dau tu: ',ldau);
Readln
End.
Nhn xt: Hy thc hin bi tp trn bng k thut vt cn dy con.
Bi tp 3: Cho dy gm n s. Tm dy con ln nht n iu (lin tc tng, gim hoc
gim, tng).
Gii thut:
- Dy ang du nu M[i]*M[i+1] < 0.
Ci t:
Ging bi tp 2
Nhn xt:
Bi tp 4: Cho dy s gm n s nguyn. Tm dy con c tng ln nht
Gii thut:
- S dng k thut vt cn cc dy con, dng hm tnh tng dy con kim tra.
Ci t:
Program Day_con1b;
Type KM= array[1..100] of integer;
Var M:KM;
i,j,n,ldau, dai,Max: integer;
Function TONG(A:KM;m,l:byte):Integer;
Var Tam,i:integer;
Begin
Tam:=0;
For i:=m to m+l do Tam:=Tam + A[i];
TONG:=Tam;
End;
Trang 57

100 bi tp Turbo Pascal

Begin
Write('Nhap so nc: '); Readln(n);
For i:=1 to n do Begin Write('[',i,']='); Readln(M[i]); End;
Max:=M[1];dai:=1;ldau:=1;
For i:= 1 to n do
For j:=0 to n-i+1 do
if TONG(M,i,j)> Max then
Begin ldau:=i; Max:=Tong(M,i,j) ; dai:=j+1 End;
Write('Xau con co tong:',max,' bat dau tu: ',ldau, ' dai: ',dai);
Readln
End.
Nhn xt:

Trang 58

100 bi tp Turbo Pascal

CHNG IX
CHUYN CH S, H C S.
A. L THUYT:
- Trong h c s 10: S A = an.a2a1a0 = a0 + 10a1 + +10nan nn:
ly s a0 = A mod 10; xa ch s a0 ta dng A:=A div 10.
(Tng t: ly hai s tn cng a1a0 = A mod 100; xa hai ch s a1 a0 ta dng
A:=A div 100.
- Thut ton vt cn: xt tt c cc trng hp ca s A ta xt an = 1..9; an-1.a2a1a0
=0..9
- H c s 2: Nu nh h thp phn dng 10 ch s ghi s th h c s 2 ch dng hai
ch s l 0 v 1 ghi s.
- i mt s t c s 2 sang c s 10:
- i mt s t c s 10 sang c s 2:
- H c s bt k:
- Vn cng, tr, nhn, ly tha s ln (hoc kt qu c s ln) c xem xt ring
mt chuyn (sau khi c trang b d liu kiu string).
B. BI TON:
Bi tp 8.1:
Gi abcd l mt s c 4 ch s. Hy lp chng trnh tm tt c cc s c 4
ch s tha mn biu thc: abcd=(ab + cd)2
V d: s 2025=(20 + 25)2.
Thut ton:
Kim tra tt c cc s c bn ch s theo cc cch sau;
- Tch ly hai s u, hai s sau ca s c bn ch s kim tra.
- Kim tra cc trng hp c th ca mi ch s.
Cch 1:
Program
Tach_so;
Var haisodau, haisocuoi, i : integer;
Begin
Writeln( cac so thoa man dieu kien gom co);
For i:=1000 to 9999 do
Begin
haisodau:=i Div 100;{lay 2 so dau tien ab}
haisocuoi:=i mod 100;{lay 2 so cuoi cd}
If i=SQR(haisodau + haisocuoi) then write(i:5);
End;
Readln;
End.
Cch 2:
Program
Xet_so;
Var a,b,c,d : integer;
Trang 59

100 bi tp Turbo Pascal

Begin
Writeln( cac so thoa man dieu kien gom co);
For a:=1 to 9 do
For b:=0 to 9 do
For c:=0 to 9 do
For d:=0 to 9 do
If i=(1000*a + 100*b + 10*c+ d) = SQRT(10*a+b + 10*c+d)
then write(i:5);
Readln;
End.
Bi tp 8.2:
Vit chng trnh cho nhp hai s t nhin N v k. Hy cho bit ch s th k tnh
t tri sang phi trong s N l s my? nu k ln hn di ca N hoc k bng 0 th
thng bo khng tm c.
V d 1: Vi N v k c nhp: N = 65932, k = 4
Kt qu tm c l 3.
V d 2: Vi N v k c nhp: N = 65932, k = 10
Kt qu tm c l -1 ( k ln hn di s N).
Program Chu_so_thu_k;
Var M: array[1..10] of integer;
so: Longint;
i,k:integer;
Begin
Write('Nhap so: ');Readln(so); so:=abs(so);
Write('Nhap k: ');Readln(k);
i:=0;
While so>0 do
begin
i:=i+1;
M[i]:=so mod 10;
so:=so div 10;
end;
Write('Chu so thu ',k,'la: ',M[i-k+1]);
Readln
End.
Nhn xt : Nu bi ton yu cu tm ch s th k tnh t phi sang tri th n gin hn
nhiu. Lc ta ch cn xa k-1 ch s cui. Ri ly ch s cui.
Bi tp 8.2:
Mt s c gi l s bc thang nu biu din thp phn ca n c nhiu hn mt
ch s ng thi theo chiu t tri qua phi, ch s ng sau khng nh hn ch s
ng trc. Vit chng trnh in ra cc s bc thang trong on [n1, n2] vi n1, n2 c
nhp t bn phm.

Trang 60

100 bi tp Turbo Pascal

Program So_bac_thang;
Var i,n1,n2: integer;
Function BT(n:integer):Boolean;
Var ok: boolean;
so:byte;
Begin
ok:=true;
While n>=10 do
Begin
so:=n mod 10;
n:=n div 10;
if so < (n mod 10) then ok:=ok and false;
End;
BT:=ok;
End;
Begin
Write('Nhap so n1: ');Readln(n1);
Write('Nhap so n2: ');Readln(n2);
For i:= n1 to n2 do if BT(i) then Write(i:4);
Readln
End.
Bi tp 8.3:
Vit chng trnh cho php i mt s t c s 10 sang c s bt k.
Thut ton:
- Dng mng CS lu cc ch s.
- Lp khi n <> vic: Chia n cho s ly phn d. Ly phn d lm ch s ly v lu
ch s. Gn n = n div s.
- Ch ch s ly sau s nm trc.
Program Doi_co_so;
Var n,s: longint;
Function D10_CS(n:longint;s:byte):string;
Var CS: array[0..100] of char;
i: integer;
ch:Char;
Tam:string;
Begin
{Khoi tao cac chu so 0 den 9}
i:=0;
ch:='0';
while i<=9 do
Begin
CS[i]:=Ch;
Trang 61

100 bi tp Turbo Pascal

inc(i);
inc(ch);
End;
{Khoi tao cac chu so A den Z}
i:=10;
ch:='A';
While ch<'Z' do
Begin
CS[i]:=ch;
inc(i);
inc(ch);
End;
tam:='';
While n<>0 do
Begin
tam:= CS[n mod s]+ Tam;
n:=n div s;
End;
D10_CS:=Tam;
End;
Begin
Write('Nhap n:');Readln(n);
Write('Doi sang co so: ');Readln(s);
Write(D10_CS(n,s));
Readln
End.
Bi tp 8.4:
Vit chng trnh cho php i mt s t c s bt k sang c s 10.
Thut ton:
- Dng mng CS1 lu gi tr ca cc ch s <10 v mng CS2 lu gi tr ca
cc ch s ln hn 10.
- Lp li cho n khi n= vic: Ly ch s u tin ca n lm ch s xc nh gi
tr ca ch s, Gn Tong:=Tong*C s + Gi tr tng ng ca ch s; Xa ch
s u tin ca n.
Program Doi_co_so;
Var n: String;
s:byte;
Function DCS_10(st:String;s:byte):longint;
Var CS1: array['0'..'9'] of byte;
CS2: array['A'..'Z'] of byte;
ch:Char;
i:byte;
Trang 62

100 bi tp Turbo Pascal

Tam:longint;
Begin
i:=0;
ch:='0';
while i<=9 do
Begin
CS1[ch]:=i;
inc(i);
inc(ch);
End;
i:=10;
ch:='A';
While ch<'Z' do
Begin
CS2[ch]:=i;
inc(i);
inc(ch);
End;
Tam:=0;
While st<>'' do
Begin
ch:=st[1];
if (ch>='0') and (ch<='9') then Tam:=Tam*s+CS1[ch]
else Tam:=Tam*s+CS2[ch];
Delete(st,1,1);
End;
DCS_10:=Tam;
End;
Begin
Write('Nhap n:');Readln(n);
Write('Co so cua so vua nhap: ');Readln(s);
Write(DCS_10(n,s));
Readln
End.
Bi tp 8.5: (Vnh Phc 2009-2010)
Nm 1973, nh Ton hc Neil Sloan a ra khi nim bn ca mt s nguyn
khng m N nh sau:
Nu N c mt ch s th bn ca N bng 0.
Nu N c t 2 ch s tr ln th bn ca N bng bn ca s nguyn l tch
cc ch s ca N cng 1.
Cho N, tm s b hn N c bn ln nht (0 N 2.000.000.000).
V d
Trang 63

100 bi tp Turbo Pascal

Persist persist
.inp
.out
100
77

Gii thch
Doben(77)=Doben(49)+1=Doben(36)+1+1=Doben(1
8)+1+1+1=Doben(8)+1+1+1+1=0+1+1+1+1=4

Gii thut:
- tm bn mt s cn mt hm tnh tch cc ch s ca n TICH(n).
- Cho d = 0. Lp li iu kin n >9 vic: Tng d ln 1 thay n = TICH(n).
Program Do_ben;
uses crt;
Var n,d,i,j,max:longint;
Function TICH(n:Longint):Longint;
Var tam:integer;
Begin
if n=0 then tam:=0 else tam:=1;
While n<> 0 do
Begin
Tam:=tam*(n mod 10);
n:=n div 10;
End;
TICH:=Tam;
End;
Begin
clrscr;
Write('Nhap n:');Readln(n);
Max:=0;
For i:=1 to n do
Begin
d:=0;
j:=i;
gotoxy(1,2);
Write('Dang duyet den so: ',i);
While j>9 do
Begin
d:=d+1;
j:=TICH(j);
End;
if d>=Max then
Begin
max:=d;
gotoxy(1,3);
Writeln('So co do ben lon nhat dang la ',i,' do
ben la:',d);
End;
Trang 64

100 bi tp Turbo Pascal

End;
Gotoxy(1,4);
Writeln('Da duyet xong');
Readln
End.

Trang 65

100 bi tp Turbo Pascal

CHNG X
CHUYN A THC (Mt bin).
A. L THUYT:
- lu tr mt a thc ta ch cn lu cc h s (bng mt mng)v bc ca a
thc.
- Cc php ton i vi mt a thc gm cng, tr, nhn, chia hai a thc.
- Vic tnh gi tr a thc ti mt gi tr ca bin c thc hin thng qua lc
hooc n hoc tnh trc tip.
B. BI TP:
Bi tp 10.1:
Vit chng trnh cho php cng hai a thc. Kt qu in ra dng:
anx^n + ... + a1x + a0
Gii thut:
- Dng hai mng A, B lu h s ca hai a thc. C th dng mng th ba C hoc
dng li mt trong hai mng A, B lu h s ca a thc tng.
- Khi in kt qu cn kim tra h s in du cho ng.
Ci t:
Program Cong_da_thuc;
uses crt;
Type KM = array[0..10] of integer;
Var A,B: KM;
n: byte;
Procedure NhapDT(Var A: KM; n:byte);
Var i: byte;
Begin
For i:=n downto 0 do
Begin Write('M[',i,']='); Read(A[i]); End;
End;
Procedure CONG(Var A:KM;B:KM;n:byte);
Var i: byte;
Begin
For i:= 0 to n do A[i]:=A[i]+B[i];
End;
Procedure INDT(A:KM;n:byte);
Var i: byte;
Begin
if A[n] <> 0 then Write(A[n],'x^',n);
For i:=n-1 downto 0 do
if A[i] <> 0 then
if A[i] < 0 then write(A[i],'x^',i) else
Write('+',A[i],'x^',i);
End;
Trang 66

100 bi tp Turbo Pascal

Begin

clrscr;
Write('Nhap bac n: ');Readln(n);
Writeln('Nhap da thuc A: '); NhapDT(A,n);
Writeln('Nhap da thuc B: '); NhapDT(B,n);
clrscr;
Indt(A,n); Writeln;
Indt(B,n); Writeln;
Cong(A,B,n);
Writeln('Da thuc tong: ');
Indt(A,n);
Readln;
Readln

End.
Nhn xt:

Bi tp 10.2:
Vit chng trnh cho php tnh gi tr ca a thc A(x) ti gi tr x = x0.
Gii thut:
- Dng chng trnh con tnh xn.
Ci t:
Program Gia_tri_cua_da_thuc;
Var n,i: integer;
x,a,s:real;
Function XMU(x:real; n:integer):real;
Var i: integer;
Mu: real;
Begin
Mu:=1;
For i:=1 to n do Mu:=Mu*x;
XMU:=Mu;
End;
Begin
Write('Nhap bac cua da thuc n = '); Readln(n);
Write('Tinh f(x) tai x = ');Readln(x);
S:=0;
For i:=n downto 0 do
Begin
Write('a',i,'= '); Readln(a);
S:=S+a*XMU(x,i);
End;
Writeln('F(',x:5:2,')= ',S:5:2);
Readln;
End.

Trang 67

100 bi tp Turbo Pascal

Nhn xt:
Bi tp 10.3:
Vit chng trnh tnh gi tr ca a thc A(x) vi iu kin khng dng bin
mng.
Vit chng trnh tnh gi tr ca a thc f(x) = anxn + ... +a1x + a0 ti x = x0.
Thut ton: f(x) = anxn + ... +a1x + a0
= a0 + x(a1 + x(a2 + ... x(an-1 + x(an))...))
Lp li vic: c v cng h s ri nhn vi x t h s an n h s a0.
Chng trnh:
Program Gia_tri_da_thuc;
Var S,a,x: real;
n,i: byte;
Begin
Write('Nhap bac cua da thuc. n = '); Readln(n);
Write('Tinh f(x) tai x = ');Readln(x);
S:=0;
For i:= n downto 0 do
Begin
Write('a',i,'=');Readln(a);
S:=(S+a)*x;
End;
Write('f(',x:3:1,')=',S:5:1);
Readln
End.
Nhn xt:
Bi tp 10.4:
Vit chng trnh cho php nhn hai a thc sp xp.
Thut ton: Tch a thc A bc m vi a thc B bc n l a thc C bc m + n. Trong
: C[m] = Tng ca cc tch A[i] * A[j] sao cho i+j = m.
Program Nhan_da_thuc;
Var m,n,i,j:byte;
A, B, C: array[0..10] of real;
Begin
Write(' Nhap bac cua da thuc A: ');
Readln(m);
For i:= m downto 0 do
Begin
Write('A[',i,']= '); Readln(A[i]);
End;
Write(' Nhap bac cua da thuc B: ');
Readln(n);
For i:= n downto 0 do
Begin
Write('B[',i,']= '); Readln(B[i]);
Trang 68

100 bi tp Turbo Pascal

End;
For i:=0 to m+n do C[i]:=0;
For i:=0 to m do
For j:=0 to n do C[i+j]:=C[i+j]+A[i]*B[j];
For i:= m+n downto 0 do if C[i]<>0 then
Write(C[i]:3:1,'x^',i,' + ');
Readln
End.
Nhn xt:
Bi tp 10.5:
Vit chng trnh cho php chia hai a thc tm a thc thng v a thc d.
Gii thut:
Ci t:
Program Chia_da_thuc;
uses crt;
Type KM = array[0..10] of real;
Var A,B,C,AB,D: KM;
i,n,cs,bc: byte;
Procedure NhapDT(Var A: KM; n:byte);
Var i: byte;
Begin
For i:=n downto 0 do
Begin Write('M[',i,']='); Read(A[i]); End;
End;
Function BAC(A:KM;n:integer):Byte;
Var i:Byte;
Begin
i:=n;
While (A[i]=0) and (i> 0) do i:=i-1;
BAC:=i;
End;
Procedure TRU(Var A:KM;B:KM;n:byte);
Var i: byte;
Begin
For i:= 0 to n do A[i]:=A[i]-B[i];
End;
Procedure NHAN(Var C:KM;A,B:KM; Var n:byte);
Var i,j:byte;
TAM:KM;
Begin
n:=Bac(A,n)+Bac(B,n);
For i:= 0 to 2*n do TAM[i]:=0;
For i:= 0 to n do
For j:=0 to n do TAM[i+j]:=TAM[i+j]+A[i]*B[j];
For i:=0 to 2*n do C[i]:=TAM[i];
Trang 69

100 bi tp Turbo Pascal

End;
Procedure INDT(A:KM;n:byte);
Var i: byte;
Begin
if A[n] <> 0 then Write(A[n]:3:1,'x^',n);
For i:=n-1 downto 0 do
if A[i] <> 0 then
if A[i] < 0 then write(A[i]:3:1,'x^',i) else
Write('+',A[i]:3:1,'x^',i);
End;
Procedure DT_BAC(Var A:KM;Bac:byte;gt:real);
Var i:byte;
Begin
For i:=1 to n do A[i]:=0;
A[Bac]:=gt;
End;
Begin
clrscr;
Write('Nhap bac cua da thuc bi chia: ');Readln(n);
Writeln('Nhap da thuc A: '); NhapDT(A,n);
Writeln('Nhap da thuc B: '); NhapDT(B,n);
clrscr;
Write('Da thuc bi chia: ');Indt(A,n); Writeln;
Write('Da thuc chia: ');Indt(B,n); Writeln;
bc:=Bac(A,n)-Bac(B,n); {Luu bac cua da thuc C}
For i:=1 to bc do C[i]:=0;
While BAC(A,n) >= BAC(B,n) do
Begin
cs:=BAC(A,n)-BAC(B,n);
C[cs]:=A[Bac(A,n)]/B[Bac(B,n)];
Writeln('C[',cs,']=',C[cs]:3:1);
DT_BAC(D,cs,C[cs]);Writeln;
Write('Da thuc D:');
Indt(D,n);
NHAN(AB,B,D,n);Writeln;
Write('Da thuc AB:');
Indt(AB,n);Writeln;
TRU(A,AB,n);
Write('Da thuc A moi:');
Indt(A,n);
End;
Writeln('Da thuc thuong: ');
Indt(C,bc);
Readln;
Readln
End.

Trang 70

100 bi tp Turbo Pascal

Nhn xt:
Bi tp 10.7:
Gii thut:
Ci t:
Nhn xt:
Bi tp 10.8:
Gii thut:
Ci t:
Nhn xt:
Bi tp 10.9:
Gii thut:
Ci t:
Nhn xt:
Bi tp 10.10:
Gii thut:
Ci t:
Nhn xt:

Trang 71

You might also like