I. Chng trình (Program)
1.Khái nim
Chng trình là mt dãy liên tip các lnh. Thc hin các lnh ó gi là
thi hành chng trình. Các chng trình u có các tính ch
t chung sau ây:
- Các lnh
c thi hành mt cách tu n t, thi hành xong mt lnh m
i thi
hành lnh ktip.
- Khi thi hành chng trình c n thêm d liu tbên ngòai, i u này làm
cho chng trình trnên phong phú và tng quát.
Chng trình có th
c vit bng các ngôn ng lp trình khác nhau.
2.Ngôn nglp trình.
Có hàng trm loi ngôn ng lp trình khác nhau, mi loi ngôn ng u có
cú pháp riêng ca nó. Ngôn ng lp trình có th
c phân chia thành 3 loi
chính : ngôn ng máy, h
p ng và ngôn ng c
p cao.
2.1 Ngôn ngmáy
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 1: Chng trình và thut gii Trang 1
Chng I
CH NG TRÌNH VÀ THU
T GII
I. Chng trình (Program)
1.Khái nim
Chng trình là mt dãy liên tip các lnh. Thc hin các lnh ó gi là
thi hành chng trình. Các chng trình u có các tính ch
t chung sau ây:
- Các lnh c thi hành mt cách tun t, thi hành xong mt lnh m
i thi
hành lnh k tip.
- Khi thi hành chng trình cn thêm d liu t bên ngòai, i u này làm
cho chng trình tr nên phong phú và tng quát.
Chng trình có th c vit bng các ngôn ng lp trình khác nhau.
2.Ngôn ng lp trình.
Có hàng trm loi ngôn ng lp trình khác nhau, mi loi ngôn ng u có
cú pháp riêng ca nó. Ngôn ng lp trình có th c phân chia thành 3 loi
chính : ngôn ng máy, hp ng và ngôn ng c
p cao.
2.1 Ngôn ng máy
Ngôn ng máy (mã máy) là ngôn ng n n tng ca b vi x lý. Bao gm
các câu lnh là nhng dãy s nh phân 0 và 1 r
t khó c, khó vit . Ch có các
chuyên gia v máy tính m
i vit c. u im ca vic vit chng trình bng
ngôn ng máy là lp trình viên có th i u khin máy tính trc tip và t c
chính xác i u mình mun làm, tc thi hành chng trình nhanh và kích
th
c chng trinh nh . Nhc im ca chng trình ngôn ng máy là thông
th!ng s" m
t r
t nhi u th!i gian vit, r
t khó c, khó tìm li và chng trình
ph# thuc vào b vi x lý nên chng trình ch chy c trên nhng máy tính
có cùng b vi x lý mà thôi. Ngôn ng máy còn c gi là ngôn ng c
p th
p
(low-level language)
2.2 Hp ng
Hp ng c phát trin nhm giúp các lp trình viên d$ nh
các ch th
ca chng trình hn. Các chng trình hp ng còn bao gm các ch th v% mô
(macro instruction) có th to ra nhi u lnh mã máy. Các chng trình hp ng
c chuyn sang mã máy thông qua mt chng trình &c bit gi là trình hp
dch (assembler). M&c dù hp ng tng i d$ dùng hn mã máy nhng hp
ng v'n c xem là ngôn ng c
p th
p bi vì nó v'n còn r
t gn v
i tng thit
k ca máy tính.
2.3 Ngôn ng c
p cao
Ngôn ng c
p cao gn g(i hn v
i ý nim ngôn ng mà hu ht mi
ng!i u bit, nó bao gm các danh t, ng t, ký hiu hc, liên h và các
thao tác lun lý. Các yu t này có th c phi hp, liên kt v
i nhau to
thành mt hình th)c ca câu. Các "câu" này c gi là các mnh ca
chng trình (program statement). Chính vì nhng &c im này, các lp trình
viên d$ dàng c và d$ hc ngôn ng c
p cao hn so v
i ngôn ng máy ho&c
hp ng. Mt li im quan trng là ngôn ng c
p cao thông th!ng không ph#
thuc vào máy tính, ngh%a là các chng trình vit bng ngôn ng c
p cao có
th chy trên các loi máy tính khác nhau (s d#ng các b vi x lý khác nhau).
2.4 Các ngôn ng lp trình thông d ng
Hin nay có r
t nhi u ngôn ng lp trình c
p cao là :BASIC, COBOL, C,
FORTRAN, PASCAL.v.v.. Ngày này còn có thêm r
t nhi u các ngôn ng lp
trình h
ng i tng r
t tin li cho các lp trình viên nh : C++, Visual Basic ,
Visual C, Denphi, Javal .v.v..
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 1: Chng trình và thut gii Trang 2
3.Trình thông dch và biên dch
Mi chng trình c vit bng các ngôn ng không phi là ngôn ng
máy cui cùng u phi c chuyn i sang ngôn ng máy tr
c khi c thi
hành. Chng trình ngôn ng c
p cao c dch sang ngôn ng máy bng mt
trong hai cách: bng trình biên dch (compiler) ho&c trình thông dch (interpreter).
3.1 Trình biên d
ch :
S" chuyn i toàn b chng trình sang mã máy, ri ch)a kt qu vào
%a có th thi hành v sau. Trình biên dch to ra mt danh sách li ca t
t c
mnh trong chng trình vi phm cú pháp ca ngôn ng. Danh sách này giúp
lp trình viên d$ dàng sa i chng trình.
3.2 Trình thông d
ch :
Thay vì chuyn i toàn b chng trình ngun nh trình biên dch, trình
thông dch ch dch tng lnh và thi hành tng lnh. Li im ca trình thông
dch là lp trình viên v'n có th chy mt chng trình v'n còn li cú pháp. Ch
khi thông dch n câu lnh có li cú pháp, quá trình thi hành chng trình m
i
b ngng li và trình thông dch s" thông báo li. ng!i lp trình cn c) vào li
sa cha.
II.Thut gii.
1. Ý ngha
Thut gii là mt phng pháp, tng b
c h
ng d'n, th hin l!i gii
ca mt v
n - mt bài toán .
Trong khoa hc máy tính, thut gii c nh ngha là m t dãy h
u hn các
bc rõ ràng và có th
thi hành c, quá trình hành ng theo các bc này
phi dng và cho c kt qu nh mong mun.
2.Các c trng ca thut gii
Thut gii có các &c trng c bn là :
2.1.Xác
nh : Mi thut gii u phi xác nh rõ ràng, không mp m!.
2.2. Hu hn: Mi thut gii sau mt s hu hn b
c phi kt thúc và cho ra
kt qa.
2.3: úng : Thut khi thc hin xong các b
c , phi cho ra kt qu úng
*n.
Ngoài ra thut gii có các &c trng khác nh : +u vào, u ra, tính hiu
qa và tính tng quát.
3. Các phng pháp biu din thut gii
Trong thc t ng!i ta th!ng có 2 phng pháp biu di$n thut :
- Dùng ngôn ng t nhiên
- Dùng Lu - S
3.1. Ngôn ng t nhiên
Ng!i lp trình dùng ngôn ng ca mình mô t thut . Ng!i lp trình
lit kê có th) t các b
c ca thut gii . Tuy vy thut gii th!ng dài dòng khó
hiu và th!ng không theo mt qui t*c nh
t nh.
Ví d 1 : Thut gii phng trình bc hai ax2+bx+c=0 (a0)
B*t u
1. Yêu cu cho bit giá tr ca 3 h s a, b, c
2. Nu a=0 thì
2.1. Yêu cu u vào không m bo.
2.2. Kt thúc gii thut .
3. Tr!ng hp a khác 0 thì
3.1. Tính giá tr ∆ = b2-4ac
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 1: Chng trình và thut gii Trang 3
3.2. Nu ∆ > 0 thì
3.2.1. Phng trình có hai nghim phân bit x1 và x2
3.2.2. Giá tr ca hai nghim c tính theo công th)c sau
3.2.3. Kt thúc.
3.3. Nu ∆ = 0 thì
3.3.1. Phng trình có nghim kép x0
3.3.2. Giá tr ca nghim kép là : x=-b/2a
3.3.3. Kt thú c.
3.4. Nu ∆ < 0 thì
3.4.1. Phng trình vô nghim.
Kt thúc.
Ví d 2 :Thut gii tìm hp có trng lng n&ng nh
t
t vn : Có n hp có khi lng khác nhau và mt cái cân %a. Hãy ch ra
cách cân tìm c hp có trng lng n&ng nh
t : Thut gii c# th nh sau:
B*t u
1. Nu ch có 1 hp (n=1) thì
1.1. Hp ó chính là hp n&ng nh
t.
1.2. Kt thúc gii thut .
2. Ngc li nu có t hai hp tr lên (n>1)
2.1. Chn hai hp b
t k, và &t lên bàn cân.
2.2. Gi
li h p nng hn, c
t hp nh- hn sang ch khác.
3. Nu còn hp cha c cân thc hin các b
c sau, nu không còn
hp nào na, sang b
c 5.
3.1. Chn mt hp b
t k, và lên %a cân còn trng.
3.2. Gi
li h p nng hn, c
t hp nh- hn sang ch khác.
4. Tr li b
c 3.
5. Hp còn li trên cân chính là hp n&ng nh
t.
Kt thúc.
3.2. Lu - s khi
Lu hay s khi là mt công c# trc quan di$n t các thut gii.
Biu di$n thut gii bng lu s" giúp ng!i c theo dõi c s phân c
p
các tr!ng hp và quá trình x lý ca thut . Phng pháp lu th!ng c
dùng trong nhng thut có tính r*c ri, khó theo dõi c quá trình x lý.
Trong thut gii dùng lu th!ng dùng các hình v" qui
c sau mô
t các b
c.
Ch !ng i ca d liu
Ch im b*t u và kt thúc.
Ch)a các thao tác x lý
Ch thao tác kim tra i u kin
a
b
x
2
1
∆+−
=
a
b
x
2
2
∆−−
=
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 1: Chng trình và thut gii Trang 4
. trên ch là các ký hiu c bn và th!ng c dùng nh
t. Trong thc
t, lu còn có nhi u ký hiu khác nhng th!ng ch c dùng trong nhng
lu l
n và ph)c tp.
Ví d1 : Lu thut gii, gii Phng trình bc hai.
Ví d 2: Lu tìm phn t l
n nh
t trong dãy s.
Kt thúc
a=0 Thông báo
sai
Nhp li
D:=b2-4ac
D=0
Nhp b,c
Nhp a
Pt có nghim
kép
x1,2=-b/2a
D>0 Pt có 2 nghim
x1=-b+ D /2a
x2=-b- D /2a
Pt vô nghim
s
s
s
B*t u
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 1: Chng trình và thut gii Trang 5
Bài tp :
1.Hãy vit thut gii h phng trình bc nh
t 2 /n s
a1x+b1y =c1
a2x+b2y =c2
Bit rng :
2.Vit thut gii tim s l
n nh
t trong 3 s a, b, c.
3.Vit thut gii tìm s Pibonanci th) n v
i
F0 =0, F1=1, Fn=Fn-2+Fn-1
4.Vit thut gii tim các s nguyên t trong dãy s n s t a1 .. an
5.Vit gii thut tìm USCLN, BSCNN ca 2 s a, b.
6.Vit gii thut tính tng l0 , tng ch1n ca dãy n s t nhiên a1 . . an
7.Vit thut gii tìm n! =1*2*3*. .*n.
8.Xác nh d liu và d liu ra cho các thut gii sau
a.Kim tra xem ba s cho tr
c a, b, c có th là dài ba cnh ca mt
tam giác hay không ?
b.Tính trung bình cng ca 2 s a, b
c.Dùng mt cc ph# tráo n
c hai cc cho tr
c
d.Tìm chu vi và din tích ca hình tròn có bán kính cho tr
c
9.Có hai bình A và B . Bình A có dung tích 8 lít, bình B có dung tích 5 lít . Trình
bày các b
c thc hin l
y c 2 lít n
c.
10.Vit thut gii vit gii thut xác nh ma trn n v.
11.Vit thut gii in ra ma trn chuyn v ca ma trn ã nhp tr
c.
12.Vit thut gii In ra ma trn tích cu hai ma trn ã nhp tr
c.
13. Có 3 bình A, B, C. Bình A có dung tích 8 lít và ng y 8 lít ru, bình B có
dung tích 5 lít, bình C có dung tích 3 lít. Trình bày các b
c thc hin có
c 4 lít ru bình A và 4 lít ru bình B.
14. Mt ng!i có 1 con g
u, 1 con dê và 1 cái b*p ci. Nu không có ng!i
bên chúng thì con g
u s" n tht con dê ho&c con dê s" n b*p ci. Thuy n ch
có th ch c ng!i ó v
i con g
u ho&c con dê ho&c b*p ci. Ng!i ó làm
th nào mang chúng sang sông.
D
Dx
abba
cbbc
ba
ba
bc
bc
x =
−
−
==
2121
2121
22
11
22
11
D
Dy
abba
caaa
ba
ba
ac
ac
y =
−
−
==
2121
2121
22
11
22
11
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 2:Gi
i thiu Ngôn ng lp trình Pascal Trang 6
Chng 2
GII THIU NGÔN NG L
P TRÌNH PASCAL
I.Gii thiu chung
1.Xu
t x : PASCAL là ngôn ng lp trình c
p cao c giáo s Niklaus Wirth
tr!ng i hc K2 thut Zurich (Th#y s%) thit k và công b vào nm 1971. Ông
&t tên cho ngôn ng ca mình là Pascal tng nh
nhà hc ni ting ng!i
Pháp th k3 17: Blaise Pascal, ng!i ã sáng ch ra chic máy tính c khí u
tiên ca nhân loi.
Thành công ca ngôn ng Pascal là ch: nó là ngôn ng u tiên a
ra và th hin c khái nim lp trình có c
u trúc. Ý tng v mt chng
trình có c
u trúc xu
t phát t suy ngh% cho rng có th chia mt bài l
n, ph)c
tp thành nhi u bài nh , n gin hn. Nu mi bài nh c gii quyt bng
mt chng trình con, thì khi liên kt các chng trình con này l ... . Sau ó ghi d liu vào tp tin
bng th t#c Write hay Writeln.
Ð c d liu mt tp tin ã có, tr
c tiên ta phi m tp tin bng lnh
Reset. Sau ó c d liu bng th t#c Read hay Readln.
Nu m tp tin bng Rewrite ho&c Append thì không th c c bng
Read và Readln. Nu m tp tin bng Reset thì không th ghi c bng Write
hay Writeln.
b)Th tc WRITE( bintptin, bt1, bt2, ..., btN) : cho phép tun t ghi các gía
tr ca các biu th)c bt1, bt2, .. btN vào tp tin vn bn. Các biu th)c bt1, bt2, ..
btN phi thuc kiu n gin chu/n ( nguyên, thc, ký t, lôgic) hay kiu chui,
và chúng không cn phi có kiu ging nhau. Ví d# :
Write(F, 3, 10:4, ‘a’:2, ‘Text’, 4.5:6:2);
s" ghi vào tp tin thành dãy nh sau ( D
u ~ hiu là mt ký t tr*ng):
3~~10~aText~~4.50
Chng trình d
i ây s" to tp tin vn bn T1.TXT :
Program TaoTaptin;
Var
F: Text;
A : Integer;
B : Real;
Begin
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 65
A:=100;
B:=1234.5;
Assign(F, ’T1.TXT’);
Rewrite(F);
Write(F, ‘Ket qua=’ :10, A:5, B:7:2);
Close(F);
End.
Ni dung ca tp tin T1.TXT là :
~~Ket qua=~~100~123.45
Nh vy, cách ghi d liu vào tp tin vn bn hoàn toàn ging nh khi in d
liu lên màn hình.
c)Th tc WRITELN c(ng có công d#ng nh WRITE, nhng ghi xong d
liu thì a con tr tp tin xung dòng d
i. Ð&c bit, lnh Writeln(F); không ghi
gì c, ch a con tr tp tin xung dòng.
Ni dung ca các tp tin vn bn to bng Pascal hoàn toàn có th xem
c bng lnh Type ca MSDOS, bng Norton hay bng chính Turbo Pascal,
d)Th tc READ( bintptin, bin1, bin2, ..., binN) c tun t các gía tr
t tp tin và gán cho các bin. Các bin1, bin2, ..., binN phi có kiu d liu
phù hp ví d liu cn c ti v trí tng )ng trong tp tin.
Ví d#: Nu tp tin T1.TXT có ni dung nh sau:
~~Ket qua=~~100~123.45
thì c li các d liu này, ta phi khai báo:
Var
St :String[10];
i: Integer ; Z : Real;
Và dùng các lnh:
Reset(F);
Read(F, St, i, Z);
Gía tr ca St, i, Z s" là: St=’~~Ket qua=’, i=100, Z=123.45.
Nu khai báo St có kiu String[9] thì s" b li vì sau khi c xong 9 ký t
u, máy s" c tip gía tr =~~100 cho bin nguyên i, nhng vì gía tr này b*t
u là d
u = nên không i ra s nguyên c.
e)Th tc READLN(bintptin, bin1, bin2, ..., binN ) c d liu cho các
bi? xong s" a tr tp tin xung u dòng d
i.
Ð&c bit, lnh READLN( bintptin); không c gì c, ch a con tr tp tin
xung dòng.
Chú ý
f)Hàm Eof(F) c(ng dùng c cho tp tin vn bn, ngoài ra còn có hàm
EOLN(F) cho kt qa là True ho&c False tùy theo con tr tp tin có ang cui
dòng hay không. Khi Eof(F)=True thì Eoln(F) c(ng có gía tr là True.
g)Th t#c Seek và các hàm FileSize, FilePos không dùng cho tp tin vn
bn.
4.So sánh tp tin v0n bn vi tp tin nh kiu
Các tp tin có nh kiu cho phép va c va ghi và truy nhp trc tip
vào tng phn t gn ging nh thao tác v
i mng.
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 66
Các tp tin vn bn không cho phép ng th!i c, ghi và ch có th c
ho&c ghi tun t, nhng cho phép ta có th xem, sa trc tip mt cách d$ dàng
bng các h son tho vn bn n gin, nh NC hay chính Turbo Pascal.
Ví d# 15.5:
Cho tp tin vn bn tên là T2.TXT và có ni dung là:
dong=6
cot =7
0 8 8 -2 6 11 1
8 0 2 0 7 0 2
8 2 0 11 12 9 3
-2 0 11 0 -7 9 4
6 7 12 -7 0 6 5
11 0 9 9 6 0 6
Hãy c tp tin này a vào mt ma trn A và in ma trn A lên màn hình.
S dòng và s ct ca ma trn A c ghi hai dòng u tiên trong tp tin
T2.TXT.
Program TaptinVanBan;
uses crt;
Type
MANG = array[1..20,1..20] of integer ;
Var
A : MANG;
N, M : integer;
F : Text;
Procedure Nhap;
Var
i,j : Byte;
st: string[5];
Begin
Assign(F, 'T2.TXT');
Reset(F);
Readln(F, St, N);
Readln(F, St, M);
For i:=1 to N do
begin
For j:=1 to M do Read(F, A[i,j]);Readln(F);
end;
Close(F);
End;
Procedure InMatran;
Var
i, j : Integer;
Begin
For i:=1 to N do
begin
for j:=1 to M do write( A[i,j]:4);
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 67
writeln;
end;
End;
BEGIN
Clrscr;
Nhap;
InMatran;
Readln;
END.
Bài tp chng 5
Câu 1) Nhp s t nhiên n t bàn phím và mt dãy s thc x1, x2, ..., xn.
-Tìm s l
n nh
t và s nh nh
t ca dãy
- Ðm trong dãy có bao nhiêu s dng, bao nhiêu s âm, bao nhiêu s 0
? Loi nào nhi u nh
t ?
Câu 2) Nhp mt dãy s nguyên x1, x2, ..., xn. In riêng các s ch1n và các s l0,
mi loi trên mt dòng.
Câu 3) Nhp mt dãy s b
t k, x1, x2,..., xn , cho bit dãy có i x)ng không?,
dãy có lp thành mt c
p s cng không?. Ví d# dãy 1 3 5 4 5 3 1 là i x)ng,
dãy 1 3 5 7 là mt c
p s cng.
Câu 4) Nhp mt dãy s b
t k, x1, x2,..., xn , cho bit dãy thuc loi nào: tng,
gim hay không tng, không gim ?
Câu 5) Nhp mt dãy s nguyên dng x1, x2,..., xn .
-Tách dãy x thành hai dãy: dãy A gm các s ch1n, dãy B gm các s l0, s*p
xp dãy A tng dn, dãy B gim dn, in hai dãy A và B trên hai dòng khác nhau.
-Ni hai dãy A và B theo th) t ó thành mt dãy duy nh
t và gán tr li vào dãy
x, in dãy x.
Ví d# nhp dãy x={ 5, 7, 0, 2, 1, 6, 4, 9 } thì dãy A={ 0, 2, 4, 6}, dãy B={ 9, 7, 5,
1}, và x={ 0, 2, 4, 6, 9, 7, 5, 1}.
Câu 6) Nhp và in ma trn Am,n , v
i n nhp t bàn phím
-Tìm và in s l
n nh
t trong tng hàng ca ma trn.
-Tìm và in s l
n nh
t trong tng ct ca ma trn.
-Tìm và in s nh nh
t trên !ng chéo chính ca ma trn.
Câu 7) Nhp và in ma trn vuông An,n .
- A có phi là ma trn i x)ng không
- A có phi là ma trn n v không?
(A là i x)ng nu Aij=Aji v
i mi i,j =1,..., n. A là ma trn n v nu t
t c các
phn t trên !ng chéo chính u bng 1 và các phn t còn li u bng 0).
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 68
Câu 8) Nhp và in ma trn Am,n .Cho bit hàng 1 và hàng 2 có ging nhau
không, nu không thì hãy hoán i hàng 1 và hàng 2. Ví d#: ma trn bên trái
d
i ây có hàng 1 và hàng 2 không trùng nhau, sau khi hoán i hai hàng ta
c ma trn bên phi:
Câu 9) Nhp chui St, in St theo th) t o ngc. Ví d# : St = ‘ABCD’, in ra
‘DCBA’
Câu 10) Nhp chui St, kim tra chui có i x)ng không. Ví d#: các chui
‘BCD1DCB’ và ‘ABCCBA’ là i x)ng, còn ‘ABCDBA’ là không i x)ng.
Câu 11) Nhp hai chui St và St1. Cho bit chui St1 xu
t hin m
y ln trong St,
và ti các v trí nào?. Ví d# St=‘pas12pas34’, chui St1 =‘pas’ xu
t hin 2 ln ti
các v trí 1, 6.
Câu 12) Nhp ba chui St, St1, St2. tìm xem trong chui St có ch)a chui St1
không ?, nu có thì thay th St1 bng St2.
Ví du: cho St=‘ABC1234E’, St1=‘1234’ và St2 =‘*’.
Sau khi thay th ta c St=‘ABC*E’.
Câu 13) Nhp mt chui St, xây dng ba tp hp:
-S1 là tp các ch hoa có trong St
-S2 là tp các ch th!ng có trong St
-S3 là tp các ch s có trong St
In các gía tr ca mi tp S1, S2, S3 trên mt dòng.
Câu 14) Nhp vào mt mng A1, A2, ..., A10 các s nguyên dng < 10. Hãy in
các gía tr ca mng này theo th) t tng dn sao cho các phn t trùng nhau
ch c in mt ln. Ví d# : cho mng 1, 6, 4,1, 9, 6, 6, 0, 3, 9 , in ra: 0,1, 3, 4, 6,
9 ( H
ng d'n : xây dng tp hp gm các phn t ca mng A )
Câu 15) Ð bit mt thí sinh u hay r
t trong k, thi tuyn sinh, cn bit các
thông tin sau:
- H tên : h và tên ca thí sinh
- KV : thí sinh thuc khu vc nào? ( 1, 2 hay 3 ).
- NH : thí sinh thuc nhóm nào ? ( 1, 2, hay 3).
- TÐ : Tng im ba môn thi .
a) Hãy nhp vào mt danh sách 10 thí sinh gm H tên, KV, NH, TÐ. Xét xem
Kt qa thí sinh này u hay r
t da vào bng im chu/n sau :
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 69
Ví d# : Thí sinh Khu vc 1 , Nhóm 2, có Tng im = 17.5 thì u, ngc li
thì r
t.
b) In danh sách ã s*p xp theo trt t gim ca TÐ lên màn hình, gm các
m#c H tên, KV, NH, TÐ và Kt qa u, r
t.
c) Ch in danh sách nhng ng!i u lên màn hình theo m'u:
Câu 16) Vit mt chng trình pascal thc hin các yêu cu sau :
Nhp s nguyên N ( 0<N<100) và mt danh sách N hc sinh v
i các thông tin
v : h và tên, chuyên ban (A , B, C) và các im , Vn, Sinh kiu thc.
V
i mi hc sinh hãy tính im trung bình nh sau :
DTB =(2*+ Sinh+Vn)/4 nu em thuc chuyên ban A
=(+2*Sinh+Vn)/4 nu em thuc chuyên ban B
=(+Sinh+2*Vn)/4 nu em thuc chuyên ban C
Chuyên ban nào có nhi u em có im trung bình >= 5 nh
t ?
Câu 17) Nhp s nguyên N ( 0<N<50 ) và N hóa n tính ti n in, mi hóa n
có h tên ch h, ch s in k tháng tr
c (Socu), ch s in k tháng này
(Somoi), và nh m)c (Dmuc) in hàng tháng ca h.
Hãy tính ti n in cho mi hóa n, bit rng:
Mi kw trong nh m)c có n gía là 500,
100 kw u tiên trên nh m)c có n giá 800,
T kw th) 101 trên nh m)c tr lên có n gía 1000.
Tính tng s ti n thu c t t
t c các hóa n.
Tìm trong các hóa n xem có h nào tên là Tuan không ? Nu có thì in lên màn
hình các hóa n có ch h tên là Tuan gm các thông tin v Socu, Somoi,
Dmuc và Tien in phi tr.
Câu 18) Nhp s nguyên dng N (0<N< 20 ) và mt dãy N s nguyên : A1, A2,
..., AN . Ghi dãy s ó vào tp tin DL.DAT. Ðm trong tp tin DL.DAT có bao
nhiêu s ch1n. Ðc các s l0 t tp DL.DAT và in lên màn hình.
Câu 19) + qun lý H tên , các im , Lý và Ðim trung bình ca sinh viên, ta
mô t kiu Ksvien nh sau :
Type
Ksvien= Record
Hoten: String[20];
Trng Cao ng KTKT Bình Dng Biên son : V Bin
Chng 5: D liu có cu trúc Trang 70
Toan, Ly, Dtb : Real;
end;
Hãy nhp mt danh sách sinh viên gm H tên, im và im Lý, ri tính
Ðim trung bình: Dtb:=(+Lý)/2, lu vào tp tin QLY.DAT. Quá trình nhp kt
thúc khi nhp H tên là rng ( t)c không nhp gì c, c) Enter).
Ðc danh sách sinh viên t tp tin QLY.DAT và in danh sách lên màn hình.
Chép danh sách sinh viên vào tp QLY.IDX sao cho các phn t ca QLY.IDX
c s*p xp theo trt t gim ca im trung bình.
Ðc d liu ca tp tin QLY.IDX và ghi vào tp tin vn bn tên là QLY.TXT theo
dng :
STT H và tên Ðim trung bình
1 Nguyen Van Tuan 8.5
2 Pham Thi Mai 8.0
L L L
Câu 20)Dùng h son tho ca Turbo Pascal to mt tp tin vn bn có tên
là MT.DAT ch)a hai ma trn vuông c
p 3 là A và B có các phn t là các s
nguyên. L
y d liu t tp tin MT.DAT tính ma trn C=A+B. Ghi ma trn C
vào cui tp tin MT.DAT. Ðc các ma trn A, B, C t tp tin MT.DAT và in lên
màn hình.
Ht
Tài liệu đính kèm: