ON THI HSG TIN HOC
Transcript of ON THI HSG TIN HOC
-
7/28/2019 ON THI HSG TIN HOC
1/70
100 bi tp Turbo Pascal
(Ti liu bi dng hc sinh gii mn tin hcdnh cho hc sinh THCS)
-
7/28/2019 ON THI HSG TIN HOC
2/70
100 bi tp Turbo Pascal
GII THIU TM TT TP TI LIU
1. S cn thit:Cc trng THCS ang c xu hng dy mn t chn tin hc thay cho ch tchn khi m c s vt cht phc v cho vic dy hc mn hc ny c trang b ngycng tt hn. Rt nhiu hc sinh, ph huynh hc sinh, lnh o cc trng mun bnthn, con mnh, hc sinh mnh tham gia cc k thi hc sinh gii mn tin hc (K thi tinhc 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 bidng 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 vitn gi 100 bi tp Turbo Pascalc 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 nidung 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 tnghng th hc tp ....
Hu ht cc bi tp c kh va phi, ph hp vi ni dung bi dng cptrng. 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 vora.
II. Cu trc la chn: if then elseCase ... of ...
III. Cu trc lp vi s ln lp bit: For to doIV. 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:
-
7/28/2019 ON THI HSG TIN HOC
3/70
100 bi tp Turbo Pascal
Chc chn tp ti liu cn hiu chnh, b sung c th a vo s dng. Rtmong Hi ng thm nh cho y kin c th v:- Nhng hiu chnh v cu trc ca tp ti liu.- 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 tpm tp ti liu cn thiu.
-
7/28/2019 ON THI HSG TIN HOC
4/70
100 bi tp Turbo Pascal
CHNG ICC KIU D LIU C BN
KHAI BO HNG, BIN, KIU, BIU THC V CU LNHA. L THUYT:I. CC KIU D LIU C BN1. 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 , >=,
-
7/28/2019 ON THI HSG TIN HOC
6/70
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 = ;
III. KHAI BO BIN- Bin l mt i lng m gi tr ca n c th thay i trong qu trnh thc hinchng trnh.
- C php:VAR [,,...] : ;
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 sdng c php nh sau:
CONST : = ;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. (iuny khng ng nu chng ta khai bo x l hng).
IV. BIU THCBiu 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 tsau:
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
-
7/28/2019 ON THI HSG TIN HOC
7/70
100 bi tp Turbo Pascal
6.1. Cu lnh n gin- Cu lnh gn (:=): :=;- 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 liu6.3.1. Lnh xut d liu
xut d liu ra mn hnh, ta s dng ba dng sau:(1) WRITE( [, ,...]);
(2) WRITELN( [, ,...]);(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 culnh 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 cqui cch:- Vit khng qui cch: d liu xut ra s c canh l pha bn tri. Nu d liu l sthc 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 hnhWriteln('Hello');Writeln('Hello':10);Writeln(500);Writeln(500:5);Writeln(123.457)Writeln(123.45:8:2)
HelloHello
500500
1.2345700000E+02123.46
6.3.2. Nhp d liu
nhp d liu t bn phm vo cc bin c kiu d liu chun (tr cc bin kiuBOOLEAN), ta s dng c php sau y:
-
7/28/2019 ON THI HSG TIN HOC
8/70
100 bi tp Turbo Pascal
READLN( [,,...,]);Ch :Khi gp cu lnh READLN;(khng c tham s), chng trnh s dng li chngi 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 cnhl 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.
c. Nhn xt: Lnh write cho php in ra mn hnh mt hoc nhiu mc. C th nhdng c s in ra bng cch qui nh khong dnh cho phn nguyn, khongdnh cho phn thp phn.
Bi tp 1.2:
-
7/28/2019 ON THI HSG TIN HOC
9/70
100 bi tp Turbo Pascal
Vit chng trnh tnh chu vi, din tch hnh vung c cnh a (c nhp t bnphm).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 inmt biu thc. Trong lp trnh vic tit kim bin l cn thit nhng i lc gy kh hiukhi 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;
Beginclrscr;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.
c. Nhn xt:pi l hng s. Mt hng s c th c ngi dng khai bo hoc do Pascalt to. Pi l hng do Pascal t to nn ngi dng khng cn khai bo.
Bi tp 1.4:
-
7/28/2019 ON THI HSG TIN HOC
10/70
100 bi tp Turbo Pascal
Vit chng trnh tnh din tch ca tam gic c ba cnh l a,b,c (c nhp tbn 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 = ))()(( cpbpapp .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 camt 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 nhat:');readln(a);Write('Nhap so thu hai:');readln(b);Write('Nhap so thu ba:');readln(c);Write('Nhap so thu tu:');readln(d);Writeln('Trung binh cong: ',(a+b+c+d)/4):10:2);Readln
end.
Bi tp 1.6:
-
7/28/2019 ON THI HSG TIN HOC
11/70
100 bi tp Turbo Pascal
Vit chng trnh cho php tnh trung bnh cng ca bn s vi iu kin chc 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+athc hin vic cng thm a vo bin S. Thc chtl 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 tbn 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;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;
-
7/28/2019 ON THI HSG TIN HOC
12/70
100 bi tp Turbo Pascal
Write('Trung binh nhan cua bon sola:',sqrt(sqrt(s)));
readlnEnd.
b. Nhn xt: Ta dng hai ln khai phng ly cn bc 4 ca mt s. cngdn gi tr vo mt bin th bin c gi tr ban u l 0. nhn dn gi tr banu 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 nyhai bin c gi tr bng nhau v bng b. Thc cht sau lnh th nht hai bin c gitr 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.9Gii 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)- 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;
-
7/28/2019 ON THI HSG TIN HOC
13/70
100 bi tp Turbo Pascal
Beginclrscr;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 hngn 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.
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;
-
7/28/2019 ON THI HSG TIN HOC
14/70
100 bi tp Turbo Pascal
beginclrscr;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.
CHNG IICU LNH C CU TRC R NHNH
A. L THUYTI. CU LNH R NHNH1.1. Lnh IF
C php:
-
7/28/2019 ON THI HSG TIN HOC
15/70
100 bi tp Turbo Pascal
(1) IF B THEN S;(2) IF B THEN S1 ELSE S2;
S thc hin:
Ch :Khi s dng cu lnh IF th ng trc t kho ELSE khng c c du chmphy (;).1.2. Lnh CASE
C php:
Dng 1 Dng 2
CASE B OFConst 1: S1;Const 2: S2;...Const n: Sn;
END;
CASE B OFConst 1: S1;Const 2: S2;...Const n: Sn;
ELSE Sn+1;END;
Trong :
B: Biu thc kiu v hng m c nh kiu nguyn, kiu logic, kiu k t,kiu lit k.
Const i: Hng th i, c th l mt gi tr hng, cc gi tr hng (phn cch nhaubi du phy) hoc cc on hng (dng hai du chm phn cch gia gi tru 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 itng ng.- Ngc li:
(2)
B+ -
S1 S2
...
(1)
B+ -
S
...
-
7/28/2019 ON THI HSG TIN HOC
16/70
100 bi tp Turbo Pascal
+ 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 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:',a:10:2)else writeln(' So lon la:',b:10:2);readln
end.
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 hiuhn. 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.
-
7/28/2019 ON THI HSG TIN HOC
17/70
100 bi tp Turbo Pascal
b. M chng trnh:Program So_Lon_Nhat_1;Uses crt;Var a,b,c,d: real;
BeginClrscr;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) thenwriteln('So lon nhat la:',c:10:2);
if (d>=a) and (d>=b) and (d>= c) thenwriteln('So lon nhat la:',d:10:2);
readlnend.
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 utin. Sau khi nhp mt s thc hin so snh nu s va nhp ln hn max th lu s vanhp 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:
Program So_Lon_Nhat_2;Uses crt;Var a,max: real;Begin
Clrscr;Write('Nhap so thu nhat:');readln(a);Max:=a;Write('Nhap so thu hai:');readln(a);if a>=Max
then Max:=a;Write('Nhap so thu ba:');readln(a);if a>=Max
then Max:=a;
Write('Nhap so thu tu:');readln(a);if a>=Maxthen Max:=a;
-
7/28/2019 ON THI HSG TIN HOC
18/70
100 bi tp Turbo Pascal
Write('So lon nhat la:',Max:10:2);readln
end.
Bi tp 2. 4Vit 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. 5Vit 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.- 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) thenwriteln('La tam giac can')
-
7/28/2019 ON THI HSG TIN HOC
19/70
100 bi tp Turbo Pascal
elsewriteln('Khong phai la tam giac can');readln
end.
Bi tp 2. 6Vit 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:Vit chng trnh gii phng trnh ax + b = 0 (Cc h s a, b c nhp t bn
phm).a.Hng dn:
- Nu a 0 th phng trnh c nghim x =a
b
- 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 =a
b.
a. M chng trnh:Program Phuong_trinh_2;uses crt;
-
7/28/2019 ON THI HSG TIN HOC
20/70
100 bi tp Turbo Pascal
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 (a0) 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 (b0) 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 (a0) then writeln('phuong trinh',a:10:2,'x
+ ',b:10:2,'= 0',' co nghiem x =;',-b/a:10:2)elseif (b=0) then writeln('Phuong trinh co vo so
nghiem')else
writeln('Phuong trinh vo nghiem');readlnend.
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 nmtrong 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 cngnga 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 ngcli ng xu ca bn y nga th hai ngi kia sp) th bn thng cuc. Hy vitchng trnh m phng tr chi trn.
-
7/28/2019 ON THI HSG TIN HOC
21/70
100 bi tp Turbo Pascal
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;
ReadlnEnd.
Bi tp 2.9:Vit chng trnh dch cc ngy trong tun sang ting anh
2 3 4 5 6 7 8Monday Tuesday Wednesday Thursda
yFriday Saturday Sunday
a. 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.b. M chng trnh:
Program dich;uses crt;
Var thu:byte;begin
-
7/28/2019 ON THI HSG TIN HOC
22/70
100 bi tp Turbo Pascal
clrscr;
write('nhap thu can dich 28: '); readln(thu);case thu of2: Write('--> Monday');
3: Write('--> Tuesday');4: Write('--> Wednesday');5: Write('--> Thursday');6: Write('--> Friday');7: Write('--> Saturday');8: Write('--> Sunday');elseWrite(' Khong co thu nay');end;readln
end.
Bi tp 2.10Vit 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.
Mun tnh din tch tam gic, ngi dng g 4 v khai bo ng cao, y. Chngtrnh 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');
-
7/28/2019 ON THI HSG TIN HOC
23/70
-
7/28/2019 ON THI HSG TIN HOC
24/70
100 bi tp Turbo Pascal
CHNG IIICU LNH C CU TRC LP XC NH
A. L THUYT:II. CU LNH LP2.1. Vng lp xc nh
C hai dng sau:
Dng tin
FOR := TO DO S; Dng li
FOR := DOWNTO DO S;S thc hin vng lp FOR:
Dng tin
Bin m:=Min
Bin m=Max
+
-
ThotS;
DEC(Bin m);
-
7/28/2019 ON THI HSG TIN HOC
25/70
100 bi tp Turbo Pascal
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 lmnh 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 vnglp. Do cho d trong vng lp ta c thay i gi tr ca n th s ln lp cngkhng thay i.
B. BI TPBi 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.
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,',');
readlnend.
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).
-
7/28/2019 ON THI HSG TIN HOC
26/70
100 bi tp Turbo Pascal
b. M chng trnh:Program In_So_Le;Uses crt;var Dem,i,n: integer;
BeginClrscr;Write('Nhap so n ='); readln(n);Dem:= 0;For i:=1 to n do if i mod 2 =1 thenBegin
Write(i:3,',');Dem:= Dem + 1;if Dem mod 15 = 0 then Writeln;
end;
readlnend.
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 chcn 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).
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:
-
7/28/2019 ON THI HSG TIN HOC
27/70
100 bi tp Turbo Pascal
- 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.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 bnphm).
-
7/28/2019 ON THI HSG TIN HOC
28/70
100 bi tp Turbo Pascal
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 doBeginS:=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.
Bi tp 3.7In 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.8Ln 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;
beginclrscr;
-
7/28/2019 ON THI HSG TIN HOC
29/70
100 bi tp Turbo Pascal
for i:= 2 to 9 doBeginWriteln('Bang cuu chuong ',i);For j := 1 to 9 do writeln(i,' x ', j, ' = ',
j*i);readlnend;readln
end.
c. Nhn xt: Chng trnh ny in bng cu chng dc (Ht bng ny n bng khctnh 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.- 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;
beginok:=true;write('Nhap n: ');readln(n);for i:= 2 to n - 1 do if n mod i = 0 thenok :=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;
-
7/28/2019 ON THI HSG TIN HOC
30/70
100 bi tp Turbo Pascal
var n, i, j: integer;ok: boolean;
beginclrscr;
write('Nhap n: '); readln(n);for i := 2 to n dobeginok:=true;for j:= 2 to i - 1 do if i mod j = 0 thenok :=false;if ok then write(i,';')end;readln
end.
CHNG IVCU TRC LP KHNG XC NH
A. L THUYT
Dng REPEAT Dng WHILERepeat
S;
Until B;
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 TPBi tp 4.1:
Vit chng trnh in ra cc s l nh hn hoc bng s nguyn dng n ( Vi nc nhp). Yu cu nhp li nu n
-
7/28/2019 ON THI HSG TIN HOC
31/70
100 bi tp Turbo Pascal
uses crt;var i,n:integer;begin
clrscr;
Repeatwrite('Nhap so n: ');readln(n);until n>0;i:=1;while i0;
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 mim 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;Repeatwrite('Nhap so n: ');readln(n);until n>0;
gt:=1;while n>0 do
-
7/28/2019 ON THI HSG TIN HOC
32/70
100 bi tp Turbo Pascal
begingt:=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 chc 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.- 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;
beginRepeatwrite('Nhap so n: ');readln(n);until n>0;gt:=1;while n>0 dobegingt:=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;
-
7/28/2019 ON THI HSG TIN HOC
33/70
100 bi tp Turbo Pascal
uses crt;var i: byte;
so, tong: real;begin
write('NHAP CAC SO - NHAP 0 DE NGUNG ');readln;repeatclrscr;write('Nhap so thu ',i,': ');readln(so); tong:=tong+so; i:=i+1;until so=0;write('Tong la: ',tong:6:1);readln
end.
Bi tp 4.5Vit 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
beginb:=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 tng ngay trc n: 1, 1, 2, 3, 5, 8, 13, 21, ...
-
7/28/2019 ON THI HSG TIN HOC
34/70
100 bi tp Turbo Pascal
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,';');RepeatF:=F_2+F_1;
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 nhoc theo hng phn t th k ca dy.
-
7/28/2019 ON THI HSG TIN HOC
35/70
100 bi tp Turbo Pascal
CHNG VD LIU KIU MNG (Mt chiu)
A. L THUYTI. KHAI BO MNGC php:
VAR : ARRAY [ch s] OF ;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 lugi 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 TPBi 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;
-
7/28/2019 ON THI HSG TIN HOC
36/70
100 bi tp Turbo Pascal
uses crt;var n, i: integer;
M: array[1..100] of real;Begin
write('Nhap so n: ');readln(n);for i:=1 to n doBegin
write('M[',i,']='); readln(M[i]);end;for i:= n downto 1 do write(m[i], ,);readln
end.
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;
beginwrite('Nhap so phan tu cua day: ');readln(n);for i:=1 to n dobegin
write('M[',i,']'); readln(M[i]);end;tong:=0;for i:=1 to n do if M[i] mod 2 =1 thentong:=tong+M[i];write('Tong cac so le trong day la: ',tong);
readlnend.
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:
-
7/28/2019 ON THI HSG TIN HOC
37/70
-
7/28/2019 ON THI HSG TIN HOC
38/70
100 bi tp Turbo Pascal
Bi tp 5.5Vit 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)- 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;
beginwrite('Nhap n: '); readln(n);for i:=1 to n dobegin
write('M[',i,']='); readln(m[i]);end;min:=m[1];
nhonhat:=1;for i:=2 to n do if m[i] < min thenbegin
min:=m[i]; nhonhat:=i;end;writeln('phan tu nho nhat la phan tu
thu',nhonhat);readln
end.
Bi tp 5.6Vit 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
-
7/28/2019 ON THI HSG TIN HOC
39/70
100 bi tp Turbo Pascal
Write('Nhap so phan tu n:');Readln(n);For i:=1 to n doBegin Write('M[',i,']='); Readln(M[i]); End;For i:=1 to n-1 do
For j:=i+1 to n do if M[j]
-
7/28/2019 ON THI HSG TIN HOC
40/70
100 bi tp Turbo Pascal
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
Write('Nhap n: '); Readln(n);For i:= 1 to n do M[i]:=0;M[1]:=1;For i:=1 to n doBegin
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.9Vit chng trnh cho php nhp.
a. Hng dn:
b. M chng trnh:
Bi tp 5.10Vit chng trnh cho php nhp.
a. Hng dn:b. M chng trnh:
-
7/28/2019 ON THI HSG TIN HOC
41/70
100 bi tp Turbo Pascal
CHNG VICHNG TRNH CON: TH TC V HM
A. L THUYTI. 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 CTCPROGRAM Tn_chng_trnh;USES CRT;
CONST ............;VAR ............;
PROCEDURE THUTUC[(Cc tham s)];[Khai bo Const, Var]BEGIN
..............END;
FUNCTION HAM[(Cc tham s)]:;[Khai bo Const, Var]BEGIN
..............HAM:=;
END;
BEGIN {Chng trnh chnh}...................
THUTUC[(...)];...................
-
7/28/2019 ON THI HSG TIN HOC
42/70
100 bi tp Turbo Pascal
A:= HAM[(...)];...................
END.
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 duynht (kiu v hng, kiu string).- Li gi CTC cn nm trong cc biuthc tnh ton.
- Kt qu ca bi ton khng tr v gi trno hoc tr v nhiu gi trhoc tr vkiu d liu c cu trc (Array, Record,File).
- Li gi CTC khng nm trong cc biuthc tnh ton.
B. BI TPBi tp 6.1:
Vit chng trnh gii phng trnh bc hai vi yu cu s dng cc chng trnhcon 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;beginwrite('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;beginwriteln('Phuong trinh vo nghiem');end;{Chuong trinh chinh}Beginclrscr;
write('Nhap a: ');readln(a);write('Nhap b: ');readln(b);
-
7/28/2019 ON THI HSG TIN HOC
43/70
100 bi tp Turbo Pascal
write('Nhap c: ');readln(c);delta:=b*b-4*a*c;if delta>0 then delta_duongelse if delta = 0 then delta_khong
else delta_am;readlnend.
c. Nhn xt: Chng trnh con cho php chia nh cng vic nhm n gin ho. Ngoira mt cng vic no lp li nhiu ln trong chng trnh nn dng CTC v khi mchng 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;begintam:=x; x:=y; y:=tam;
end;{-----Ket thuc CTC-----}beginclrscr;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 nhngchc 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.
-
7/28/2019 ON THI HSG TIN HOC
44/70
100 bi tp Turbo Pascal
- 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);var tam:real;begintam:=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 doBegin
Write('Nhap so: ');Readln(so);if (so>nhi) and (somax thenBegin
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
-
7/28/2019 ON THI HSG TIN HOC
45/70
100 bi tp Turbo Pascal
beginGT:=GT*n;n:=n-1;end;
end;begin
repeatclrscr;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);
readlnend.
Nhn xt: Lnh n:= n-1 lm thay i gi tr ca n nhng khi ra khi chng trnh con nc 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 dobeginGT:=GT * n;
n:=n-1;end;Giai_thua:=GT;
end;begin
clrscr;write('Nhap n: '); readln(n);write(n,'!=',Giai_thua(n));readln
end.
-
7/28/2019 ON THI HSG TIN HOC
46/70
100 bi tp Turbo Pascal
Nhn xt: Hy so snh s khc nhau khi Giai_thua c vit di hai dng Function vProcedure.- Khi dng Procedure cn mt bin (ton cc) lu gia gi tr ca n!. Bin ny ctruyn 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.
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 dobegin
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 ... akB = b1, b2 ... bkc C = a1, b1, a2, b2 ... ak, bk.
a. Hng dn:b. M chng trnh:
-
7/28/2019 ON THI HSG TIN HOC
47/70
100 bi tp Turbo Pascal
Program Tron_day;uses crt;type kieu_mang = array[1..100] of integer;var A, B, C: Kieu_mang;
n,i,j: integer;Procedure Nhap_Mang(Var X: Kieu_mang; n:byte);var i:integer;begin
for i:=1 to n dobegin
write('M[',i,']=');readln(X[i]);end;
end;Procedure In_Mang(X:kieu_mang; n:byte);
var i: byte;beginfor 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
-
7/28/2019 ON THI HSG TIN HOC
48/70
100 bi tp Turbo Pascal
{------Ham kiem tra-------}Function kiem_tra(n:integer):boolean;var i: integer;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 dobegin
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;
-
7/28/2019 ON THI HSG TIN HOC
49/70
100 bi tp Turbo Pascal
begintam:=b;b:=a;a:=tam;
end;{---------------------}
BeginClrscr;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.
-
7/28/2019 ON THI HSG TIN HOC
50/70
100 bi tp Turbo Pascal
CHNG VIICHUYN 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 doif (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);
ReadlnEnd.
Bi tp 7.2 :Nhp vo t bn phm s t nhin n (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.
-
7/28/2019 ON THI HSG TIN HOC
51/70
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 doBeginif n mod i = 0 then Begin Write(i,'.'); n:= n div i Endelse i:=i+1;End;Readln
End.
Nhn xt: Ci t trn in d mt du nhn cui. Hy chnh sa b du nhn thany.Bi tp 7.3:
Tm cc s t nhin nh hn hoc bng n m sau khi lm php phn tch ra thas 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.2Thut 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 doif (n mod i)=0 thenBegin Write(i,'.'); n:=n div i end else i:=i+1;
End;
BeginWrite('Nhap so n: ');Readln(n);
-
7/28/2019 ON THI HSG TIN HOC
52/70
-
7/28/2019 ON THI HSG TIN HOC
53/70
100 bi tp Turbo Pascal
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 nhiutrng 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 sca 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 khngc 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.
CHNG VIIICHUYN DY CON.
-
7/28/2019 ON THI HSG TIN HOC
54/70
100 bi tp Turbo Pascal
A. L THUYT:- Dy con l dy cc phn t lin tc thuc mt dy c trc (dy m) tha mn mt tnhcht 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 dymi.- duyt qua tt c cc dy con ca mt dy gm n s ta dng thut ton vt cn sau:
For i:= 1 to nFor 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=M[i] then dai:=dai+1 elseif dai> Max then Begin Max:=dai; ldau:=dau; dai:=0
Endelse Begin dau:=i+1; dai:=1 End;End;Write('Xau con dai:',max,' bat dau tu: ',ldau);
ReadlnEnd.
-
7/28/2019 ON THI HSG TIN HOC
55/70
100 bi tp Turbo Pascal
Nhn xt: Bi ton trn c th s dng gii thut vt cn dy con gii. Sau y l cit:
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 doFor j:=1 to n-i+1 do
if KT(M,i,j) then
if j+1> Max then Begin ldau:=i; Max:=j+1End;
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, (andu).Gii thut:
Thc hin ging nhu bi 1, ch thay iu kin l M[i+1]*M[i] >0Ci 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);For i:=1 to n do Begin Write('[',i,']=');
Readln(M[i]); End;i:=0;
Max:=1;dau:=1;
-
7/28/2019 ON THI HSG TIN HOC
56/70
100 bi tp Turbo Pascal
dai:=1;ldau:=1;While i0 then dai:=dai+1 elseif dai> Max then Begin Max:=dai; ldau:=dau; dai:=0
Endelse 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 hocgim, 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 nhtGii 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;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 doFor j:=0 to n-i+1 do
-
7/28/2019 ON THI HSG TIN HOC
57/70
100 bi tp Turbo Pascal
if TONG(M,i,j)> Max thenBegin 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:
CHNG IXCHUYN CH S, H C S.
A. L THUYT:- Trong h c s 10: S A = an.a2a1a0 = a0 + 10a1 + +10nan nn:
-
7/28/2019 ON THI HSG TIN HOC
58/70
100 bi tp Turbo Pascal
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 dngA:=A div 100.- Thut ton vt cn: xt tt c cc trng hp ca s A ta xt a n = 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 haich 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 4ch 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;
BeginWriteln( cac so thoa man dieu kien gom co);For i:=1000 to 9999 do
Beginhaisodau:=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;Begin
Writeln( cac so thoa man dieu kien gom co);For a:=1 to 9 do
For b:=0 to 9 doFor 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);
-
7/28/2019 ON THI HSG TIN HOC
59/70
100 bi tp Turbo Pascal
Readln;End.
Bi tp 8.2:
Vit chng trnh cho nhp hai s t nhin N v k. Hy cho bit ch s th ktnht tri sang phi trong s N l s my? nu k ln hn di ca N hoc k bng 0 ththng 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 dobegin
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 hnnhiu. 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 mtch 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 cnhp t bn phm.
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 doBegin
-
7/28/2019 ON THI HSG TIN HOC
60/70
100 bi tp Turbo Pascal
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
-
7/28/2019 ON THI HSG TIN HOC
61/70
100 bi tp Turbo Pascal
inc(ch);End;tam:='';While n0 do
Begintam:= CS[n mod s]+ Tam;n:=n div s;
End;D10_CS:=Tam;
End;
BeginWrite('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
-
7/28/2019 ON THI HSG TIN HOC
62/70
100 bi tp Turbo Pascal
ch:='A';While ch='0') and (ch9 vic: Tng d ln 1 thay n = TICH(n).
Program Do_ben;
uses crt;Var n,d,i,j,max:longint;
-
7/28/2019 ON THI HSG TIN HOC
63/70
100 bi tp Turbo Pascal
Function TICH(n:Longint):Longint;Var tam:integer;Begin
if n=0 then tam:=0 else tam:=1;
While n 0 doBegin
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 doBegind:=0;j:=i;gotoxy(1,2);Write('Dang duyet den so: ',i);While j>9 doBegin
d:=d+1;j:=TICH(j);End;if d>=Max thenBegin
max:=d;gotoxy(1,3);Writeln('So co do ben lon nhat dang la ',i,' do
ben la:',d);End;
End;Gotoxy(1,4);Writeln('Da duyet xong');Readln
End.
-
7/28/2019 ON THI HSG TIN HOC
64/70
100 bi tp Turbo Pascal
CHNG XCHUYN 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:
-
7/28/2019 ON THI HSG TIN HOC
65/70
100 bi tp Turbo Pascal
anx^n + ... + a1x + a0Gii thut:- Dng hai mng A, B lu h s ca hai a thc. C th dng mng th ba C hocdng 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 doBegin 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;
Beginif A[n] 0 then Write(A[n],'x^',n);For i:=n-1 downto 0 doif A[i] 0 thenif A[i] < 0 then write(A[i],'x^',i) else
Write('+',A[i],'x^',i);End;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:
-
7/28/2019 ON THI HSG TIN HOC
66/70
100 bi tp Turbo Pascal
Bi tp 10.2:Vit chng trnh cho php tnh gi tr ca a thc A(x) ti gi tr x = x 0.
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 doBegin
Write('a',i,'= '); Readln(a);S:=S+a*XMU(x,i);
End;Writeln('F(',x:5:2,')= ',S:5:2);Readln;
End.
-
7/28/2019 ON THI HSG TIN HOC
67/70
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 binmng.
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 a n 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 doBegin
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 doBegin
Write('A[',i,']= '); Readln(A[i]);End;Write(' Nhap bac cua da thuc B: ');
Readln(n);For i:= n downto 0 doBegin
Write('B[',i,']= '); Readln(B[i]);End;
-
7/28/2019 ON THI HSG TIN HOC
68/70
100 bi tp Turbo Pascal
For i:=0 to m+n do C[i]:=0;For i:=0 to m doFor 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 doBegin 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];End;Procedure INDT(A:KM;n:byte);
-
7/28/2019 ON THI HSG TIN HOC
69/70
100 bi tp Turbo Pascal
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 thenif 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;
Beginclrscr;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) doBegincs:=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.
Nhn xt:Bi tp 10.7:
-
7/28/2019 ON THI HSG TIN HOC
70/70
100 bi tp Turbo Pascal
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: