1. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 1/12
BBààii TT pp TThh cc HHàànnhh
CC uu TTrrúúcc DD LLii uu && GGii ii TThhuu tt
Kh i: Cao ð ng ngh và Trung C p
Năm 2009
Hư ng d n:
• Bài t p th c hành d a trên giáo trình: C & Data Structure
• Bài t p th c hành ñư c chia theo làm nhi u Module
• M i Module ñư c thi t k cho th i lư ng 4-6 ti t th c hành t i l p v i
s hư ng d n c a gi ng viên.
• Tùy theo s ti t phân b , m i tu n h c có th th c hi n nhi u Module.
• Sinh viên ph i làm t t c các bài t p trong các Module tu n tương ng.
Nh ng sinh viên chưa hòan t t ph n bài t p t i l p có trách nhi m t làm
ti p t c nhà.
• Các bài có d u (*) là các bài t p nâng cao dành cho sinh viên khá gi i.
2. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 2/12
Module 1
Bài 1
Vi t hàm tính t ng S=1+1/2+1/3…+ 1/N. S d ng hàm ñ tính S khi ngư i dùng nh p N.
Bài 2
Nh p 2 s a và n. Tính S =a^1 + a^2 + a^3 + …+ a^n.
Bài 3
Vi t chương trình tính t ng sau: S= 1 + 1/1! +1/2! + 1/3! + … + 1/n!
Bài 4
Vi t chương trình tính t ng sau: S= 1/1! +(1+2)/2! + (1+2+3)/3! + … + (1+2+3+…n)/n!
Bài 5
Vi t chương trình tính t ng sau: S= 1 + x/1! +x
2
/2! + x
3
/3! + … + x
n
/n!
Bài 6
Vi t chương trình tính t ng sau: S= 1 - x +x^2- x^3+ … (-1)x^n
Bài 7
Vi t m t hàm tính t ng các ch s c a m t s nguyên.
Vi t chương trình nh p vào m t s nguyên, dùng hàm trên ki m tra xem s ñó có chia h t cho 3 không.
(M t s chia h t cho 3 khi t ng các ch s c a nó chia h t cho 3)
Bài 8
Bài toán tính ti n lãi g i ngân hàng: Nh p ti n v n ban ñ u, s tháng g i N và lãi su t hàng tháng. Tính
s ti n nh n ñư c sau m i tháng g i bi t r ng ti n lãi hàng tháng ñư c g p vào ti n v n. S ti n nh n
ñư c sau m i tháng s hi n th trên màn hình d ng:
Tháng 1: 100
Tháng 2: 102
…
Ví d , ti n v n là100, lãi su t tháng là 2%. Sau 1 tháng g i s có s ti n là:
S ti n=100 + 100*0.02 = 102
Sau 2 tháng g i s có s ti n là: S ti n=102 + 102*0.02 = 104.04
Công th c tính ti n thu ñư c sau m i tháng g i là: S ti n := Ti n v n + Ti n v n * Lãi su t
S ti n này l i tr thành ti n v n c a tháng sau, t c là:
Ti n v n := S ti n;
Qúa trình c l p ñi l p l i t tháng 1 ñ n tháng N.
Bài 9
Tr l i bài toán tính ti n g i ngân hàng có ti n lãi hàng tháng g p vào v n (bài t p trên). Câu h i bây gi
là: c n g i t i thi u là bao nhiêu tháng ñ có ñư c s ti n > S cho trư c.
3. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 3/12
Module 2
Bài 1
Nh p 2 s n và k nguyên. Tính t h p ch p k c a n theo công th c như sau
C(k,n)=n!/(k!*(n-k)!)
Bài 2
Tìm các s Fibonaci. Dãy s Fibonaci { 1, 1, 2, 3, 5, 8, 13, 21,… } ñư c là dãy ñư c nh c nhi u trong
kh i k thu t, nó ñư c xây d ng như sau:
U0=1, U1=1 , Uk=Uk-1 + Uk-2 v i m i k= 2, 3, 4, ..
a. Vi t chương trình xu t ra màn hình s Fibonaci v trí th n (s d ng ñ quy)
b. Vi t chương trình xu t ra màn hình s Fibonaci v trí th n (KHÔNG s d ng ñ quy)
c. Vi t chương trình nh p s nguyên n và xu t ra n s Fibonaci ñ u tiên
Bài 3
a. Nh p 2 s nguyên dương m và n. Tính Ư c s chung nh nh t và b i s chung l n nh t c a m
và n (s d ng ñ quy)
b. Nh p 2 s nguyên dương m và n. Tính Ư c s chung nh nh t và b i s chung l n nh t c a m
và n (không s d ng ñ quy)
Bài 4
Vi t hàm nh p s giây và ñ i thành gi : phút : giây.
Ví d : nh p 3665 giây -> 1 gi 1 phút 5 giây
Bài 5
a. Vi t hàm ki m tra 1 s có ph i là s nguyên t hay không (s ch chia h t cho 1 và chính nó)
b. Vi t hàm hi n th t t c các s nguyên t bé hơn s n nh p t bàn phím
c. Vi t hàm hi n th t t c các s nguyên t bé hơn s n nh p t bàn phím, in lên màn hình m i
dòng 19 s
d. Vi t hàm hi n th t t n s s nguyên t ñ u tiên tính t 2 (n nh p t bàn phím). . Ví d n=8 thì k t
qu là: 2,3,5,7,11,13,17,19
Bài 6
Tìm s n bé nh t thoã s =1 + 2 + 3 +… + n >10000 vã hãy cho bi t khi ñó s có giá tr là bao nhiêu ?
Bài 7
Vi t hàm dùng ñ phân tích m t s nguyên dương ra th a s nguyên t .
Ví d : khi nh p n =100 thì hi n th : 100=5*5*2*2
4. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 4/12
Module 3
Bài 1
VCT nh p vào 2 phân s a/b và c/d.
Hãy tính t ng c a phân s này, yêu c u là phân s k t qu ph i d ng t i gi n.
ví d :1/6+1/3=1/2
Bài 2
Vi t m t hàm ñ o ngư c th t các ph n t c a m t m ng s nguyên.
Ví d : m ng nh p vào 1 2 3 4 5 7 9 10. sau khi ñ o m ng thành 10 9 7 5 4 3 2 1
Bài 3
Vi t chương trình nh p vào m t m ng s t nhiên. Hãy xu t ra màn hình:
- Dòng 1 : g m các s l , t ng c ng có bao nhiêu s l .
- Dòng 2 : g m các s ch n, t ng c ng có bao nhiêu s ch n.
- Dòng 3 : g m các s nguyên t .
- Dòng 4 : g m các s không ph i là s nguyên t
Bài 4
Vi t chương trình nh p vào m t m ng, hãy xu t ra màn hình:
- Ph n t l n nh t c a m ng.
- Ph n t nh nh t c a m ng.
- Tính t ng c a các ph n t trong m ng .
- Tính trung bình c ng
- Tính t ng c a các ph n t là s nguyên t trong m ng .
- Tính s lư ng ph n t là s nguyên t trong m ng .
- Ph n t âm l n nh t c a m ng.
- Ph n t dương nh nh t c a m ng.
- T ng các ph n t có căn b c hai nguyên .
- G m các s l , t ng c ng có bao nhiêu s l .
- G m các s ch n, t ng c ng có bao nhiêu s ch n.
- Ki m tra tính ñ i x ng cũa m ng
- Tìm phân t là s nguyên t ñ u tiên trong m ng
- Tìm 2 phân t là 2 s nguyên t ñ u tiên trong m ng
5. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 5/12
Module 4
Bài 1
T ch c và xây d ng 2 hàm : Gi iPT_bac1 và Gi iPT_bac2 v i các tham s h p lý.
S d ng 2 hàm này ñ gi i pt b c 2.
Bài 2
T ch c hàm v i các tham s h p lý dùng ñ tính:
• M t hàm dùng ñ tính chu vi và di n tính hình tròn t bán kính
• M t hàm dùng ñ tính chu vi và di n tính hình ch nh t t chi u dài-r ng
• M t hàm dùng ñ tính MAXMIN c a 2 s integer.
• M t hàm dùng ñ tính b i s chung nh nh t – USC l n nh t c a 2 s nguyên dương.
Bài 3
Vi t chương trình tính lương cho các công nhân t i xư ng may. M i công nhân s có gi vào và gi ra
trong m t ngày. Ti n lương ñư c tính như sau:
• T 5h-8h: m i gi 20,000 ñ
• T 8h-11h: m i gi 15,000 ñ
• T 11h-14h: m i gi 30,000 ñ
• T 14h-17h: m i gi 22,000 ñ
• T 17h-24h: m i gi 40,000 ñ
Chú ý: Xây d ng hàm v i tham s h p lý.
Bài 4
Vi t chương trình xây d ng và qu n lý danh sách liên k t ñơn. Thành ph n qu n lý g m con tr pHead
và pTail (ñ u và cu i xâu). Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng
hàm). Thành ph n d li u trong m i Node là giá tr ki u integer.
• Thêm m t node vào ñ u danh
sách
• Thêm m t node vào cu i danh
sách
• Thêm nhi u node vào ñ u danh
sách
• Thêm nhi u node vào cu i danh
sách
• Hi n th giá tr node th n
• Tìm m t node d a theo giá tr
nh p vào
• Thêm m t node vào sau m t
node nào ñó (nh p giá tr ñ tìm)
• ð m s lư ng node trong xâu
• Hi n th danh sách các node
trong xâu
• H y m t node (nh p giá tr c n
tìm)
• H y tòan b danh sách
• Tính t ng giá tr tòan b danh
sách
• Tìm giá tr l n nh t và nh nh t
trong danh sách
• S p x p danh sách v i giá tr
tăng d n (t ch n thu t tóan)
Bài 5
Vi t chương trình xây d ng và qu n lý danh sách liên k t ñơn. Thành ph n qu n lý xâu ch g m con tr
pHead (ñ u xâu). Hi n th menu th c hi n các ch c năng tương t bài t p trên.
6. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 6/12
Module 5
Bài 1
Vi t chương trình xây d ng và qu n lý danh sách liên k t vòng ñơn. Thành ph n qu n lý g m con tr
pHead. Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n
d li u trong m i Node là giá tr ki u integer.
• Hi n th toàn b danh sách
• Thêm m t node vào danh sách
• Tìm m t node trong danh sách
(giá tr nh p vào)
• Hi n th các node là s nguyên t
• H y m t node trong danh sách
(giá tr nh p vào- ñ u tiên tìm
th y)
• H y t t c các node là s nguyên
t
• Tăng giá tr m i node lên 2
• Tính t ng giá tr tòan b danh sách
• Tìm giá tr l n nh t và nh nh t
trong danh sách
• S p x p danh sách tăng d n
• H y tòan b danh sách
Bài 2
Vi t chương trình xây d ng và qu n lý danh sách liên k t ñôi. Thành ph n qu n lý g m con tr pHead và
pTail. Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n d
li u trong m i Node là giá tr ki u integer.
• Hi n th giá tr toàn b danh sách
theo th t t ñ u ñ n cu i
• Hi n th giá tr toàn b danh sách
theo th t t cu i ñ n ñ u
• Thêm m t node vào ñ u danh
sách
• Thêm m t node vào cu i danh
sách
• Thêm m t node vào sau m t ph n
t (giá tr nh p vào)
• Tìm m t node trong danh sách.
• ð m s l n xu t hi n c a m t
node trong danh sách
• H y ph n t ñ u danh sách
• H y ph n t cu i danh sách
• H y ph n t trong danh sách (giá
tr nh p vào)
• Hi n th các node là s nguyên t
• H y m t node trong danh sách
(giá tr nh p vào- ñ u tiên tìm
th y)
• H y t t c các node là s nguyên
t
• Tăng giá tr m i node lên 2
• Tính t ng giá tr tòan b danh sách
• Tìm giá tr l n nh t và nh nh t
trong danh sách
• S p x p danh sách tăng d n
• H y tòan b danh sách
Bài 3
Vi t chương trình xây d ng và qu n lý 2 danh sách liên k t ñôi. Thành ph n qu n lý cho m i danh sách
ch g m con tr pHead. Hi n th menu th c hi n các ch c năng sau:
• Nh p n ph n t ng u nhiên vào m i danh sách (n nh p vào)
• Hi n th giá tr t ng danh sách, m i danh sách m t hàng
• Ghép danh sách 2 vào phía sau danh sách 1, ñ ng th i h y danh sách 2.
• Tìm giá tr l n nh t c a 2 danh sách
• Tính t ng giá tr 2 danh sách
• Chèn danh sách 2 vào gi a danh sách 1 (sau 1 ph n t v i giá tr nh p vào)
• S p x p 2 danh sách tăng d n.
• Ghép danh sách 2 vào danh sách 1 sao cho sau khi ghép, danh sách 1 v n tăng d n.
7. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 7/12
Module 6
Bài 1
Vi t chương trình xây d ng và qu n lý danh sách liên k t vòng ñôi. Thành ph n qu n lý g m con tr
pHead. Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n
d li u trong m i Node là giá tr ki u integer.
• Thêm m t node vào cu i danh sách (giá tr nh p vào)
• Lưu tr danh sách xu ng file text
• ð c danh sách t file text.
• S p x p danh sách tăng d n.
• Tìm giá tr trung bình c a danh sách
Bài 2
Vi t chương trình xây d ng và qu n lý danh sách liên k t ñôi. Thành ph n qu n lý g m con tr pHead,
pTail. Thành ph n d li u trong m i node là thông tin m t sinh viên, bào g m các trư ng:
+Mã sinh viên (int)
+H tên sinh viên (string)
+L p (string)
+ði m Toán (float)
+ði m Lý (float)
+ði m Hóa (float)
Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm).
• Hi n th toàn b danh sách
• Tìm m t sinh viên theo mã sinh viên (nh p vào)
• Thêm m t sinh viên vào cu i danh sách. ð m b o không có 2 sinh viên nào trùng mã.
• Xóa m t sinh viên kh i danh sách t mã sinh viên (nh p vào)
• Nh p m t l p. Hi n th danh sách sinh viên thu c v l p ñó
• Tính t ng s sinh viên có ñi m toán >=5
• Hi n th toàn b danh sách sinh viên ch a tên nh p vào
o (Ví d : nh p tên c n tìm là Khuong, hi n th toàn b sinh viên ch a tên Khuong)
• Hi n th danh sách sinh viên y u (có ñi m trung bình <=4)
• Hi n th danh sách sinh viên gi i (có ñi m trung bình >=8 và không có môn h c nào
<=6)
• S p x p danh sách tăng d n theo mã sinh viên
• S p x p danh sách tăng d n theo ñi m trung bình
• S p x p danh sách tăng d n theo t ng l p, trong m i l p tăng d n theo ñi m trung bình
• S p x p danh sách tăng d n theo t ng l p, trong m i l p gi m d n theo ñi m trung bình
• S p x p danh sách tăng d n theo ñi m toán, r i ñ n ñi m lý, r i ñ n ñi m hóa.
• Nh p m t l p. H y toàn b các sinh viên thu c v l p ñó.
• H y t t c sinh viên có h c l c kém (ñi m trung bình <=3).
• S p x p danh sách tăng d n theo mã sinh viên. Sau ñó, khi thêm m t sinh viên m i vào,
chèn sinh viên này vào ñúng v trí sao cho danh sách sinh viên v n th a ñi u ki n tăng
d n theo mã.
• H y tòan b danh sách
• Lưu tr danh sách sinh viên này vào file text
• N p danh sách sinh viên t file text.
8. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 8/12
Module 7
Bài 1
S d ng danh sách liên k t ñơn t o stack. M i thành ph n c a stack g m 2 thông tin: Tên L p, sĩ s h c
sinh. H th ng menu g m các m c
+Lưu stack hi n t i vào file
+Push ph n t m i (l p m i) vào stack
+Pop ph n t vào stack
+HI n th danh sách c a stack
+N p stack t file
Lưu ý:
+M i khi Push m t l p vào stack, n u tên l p ñó chưa có, chương trình ph i t o ph n t m i.
+N u l p ñó ñã t n t i thì không thêm l p m i, mà ch c p nh t thêm sĩ s sinh viên (c ng d n
s lư ng sinh viên m i vào sĩ s hi n t i).
Bài 2
S d ng danh sách liên k t ñôi ñ qu n lý khách hàng cho m t nhà ga.. M i thành ph n thông tin lưu tr
cho khách hàng g m: s CMND khác hàng (10 ký t ), Tên khách hàng, Ga ñ n, giá ti n.
H th ng menu g m các m c:
+N p danh sách t file
+Thêm m t khách hàng m i vào hàng ñ i mua vé.
+Bán m t vé cho khách hàng. Ch bán cho ngư i ñăng ký trư c.
+Hi n th danh sách khách hàng.
+H y m t khách hàng ra kh i danh sách. (khách hàng không mua vé n a).
+Th ng kê tình hình bán vé
+Lưu danh sách vào file
+Hi n th danh sách các ga ñang ch mua vé.
+Hi n th danh sách các ga ñang ch mua vé và s vé tương ng cho ga.
Lưu ý:
+S khách hàng trong danh sách hi n t i là s khách ñang ch , nhưng chưa có vé. Khi m t
khách hàng ñã mua vé, thì lo i khách hàng này ra kh i danh sách ch mua vé.
+Vi c mua vé ph i có th t : ai vào trư c thì mua vé trư c (FIFO).
+M i khi khách hàng mua ñư c vé ph i lưu l i khách hàng này ñ dùng cho vi c th ng kê.
+M i khi thêm m t khác hàng m i, n u S CMND khách hàng ñã có thì không t o ph n t m i
mà ch c p nh t l i ga và giá ti n ñ n cho khác hàng ñó.
+M c th ng kê tình hình: cho bi t còn bao nhiêu khách hàng ch nh n vé, bao nhiêu khách hàng
ñã nh n vé, t ng s ti n ñã thu v là bao nhiêu.
+Vi c lưu danh sách: ch lưu các khách hàng ch mua vé. Các khách hàng ñã nh n vé xem như
k t s trong ngày không c n lưu l i.
+Khi chương trình v a ñư c ch y, l p t c t ñ ng n p toàn b danh sách khách hàng t file
(cách khách hàng chưa có vé).
+Khi hi n th danh sách các ga ñ n ñang ch mua vé, ch hi n th tên ga ñó m t l n. (Ví d : gi
s 10 khách hàng nhưng ñăng ký ñi ñ n 2 ga, thì ch hi n th 2 hàng).
9. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 9/12
Module 8
Bài 1
Vi t chương trình xây d ng và qu n lý cây nh phân tìm ki m (Binary Search Tree). Hi n th menu th c
hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n d li u trong m i Node là giá
tr ki u integer.
• Thêm m t node vào cây (giá tr nh p vào). N u node này ñã có giá tr thì thông báo
không thêm vào node ñã có.
• Tìm giá tr trung bình c a danh sách
• Xu t danh sách. Khi menu này ñư c ch n, hi n th menu con cho phép ch n l a
o Xu t danh sách theo th t preorder
o Xu t danh sách theo th t inorder
o Xu t danh sách theo th t postorder
Bài 2
S d ng bài t p câu trên ti p t c phát tri n r ng các menu như sau.
• Lưu tòan b cây xu ng file
• N p cây t file
• Tính s lư ng node c a tree
• Tính chi u cao c a cây
• Tìm giá tr nh nh t
• Tìm giá tr l n nh t
• Tìm m t node theo giá tr nh p vào
• Hi n th giá tr tăng d n toàn b cây
• Th ng kê s lư ng node: là s ch n, là s l m là s nguyên t
Chú ý: Khi ngư i s d ng thêm 1 node, chương trình ph i t ñ ng lưu xu ng file ngay l p t c
Khi chương trình v a kh i ñ ng, l p t c n p hi n th tree ra màn hình
Bài 3
Vi t chương trình xây d ng và qu n lý danh sách sinh viên d a trên cây nh phân tìm ki m (Binary
Search Tree). M i sinh viên ch a các thông tin: mã sv (char), tên sv (char), ñi m tóan, ñi m lý, ñi m hóa.
Hi n th menu th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). L p ch m c Index cho
cơ s d li u theo mã sinh viên. Không có 2 sinh viên nào trùng mã v i nhau.
• Thêm m t SV m i
• Xu t danh sách SV tăng d n theo mã SV
• Tìm 1 SV theo mã. N u tìm ra hi n th menu con ch a các m c
o Hi n th thông tin sinh viên: tên, các ñi m và ñi m trung bình
o C p nh t (s a) thông tin SV (tên, ñi m tóan, ñi m lý)
• Lưu danh sách sinh viên xu ng file
• ð c danh sách sinh viên t file
• Xu t danh sách sinh viên tăng d n theo tên SV.
10. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 10/12
Module 9
Bài 1
Vi t chương trình xây d ng và qu n lý cây nh phân tìm ki m (Binary Search Tree). Hi n th menu th c
hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n d li u trong m i Node là giá
tr ki u integer.
• Thêm m t node vào cây (giá tr nh p vào).
• Lưu cây vào file
• ð c cây t file
• Xu t danh sách
o Inorder
o Preorder
• Tìm m t node trên cây
• H y m t node trên cây. (ch n node trái cùng nhánh bên ph i)
• H y m t node trên cây. (ch n node ph i cùng nhánh bên ph i)
Lưu ý: sinh viên v trên gi y cây nh phân, ñ ng th i v i vi c th c thi chương trình cho các thao tác xóa-
thêm node và ki m tra ñ i chi u k t qu chương trình v i trên gi y.
Bài 2
S d ng bài t p câu trên ti p t c phát tri n r ng các menu như sau. (Chú ý: các ch c năng th c hi n
b ng hàm, không s d ng bi n tòan c c. S d ng k thu t ñ quy):
• ð m s node c a cây.
• ð m s lnode lá c a cây
• ð m s node có ñ y ñ 2 con
• ð m s node ch có 1 con
• ð m s node có giá tr ch n
• ð m s node có giá tr l
• Tính t ng giá tr các node
• Tìm giá tr trung bình c a danh sách
• Tìm chi u cao c a cây
• Tính giá tr trung bình c a các node
• Tìm giá tr nh nh t
• Tìm giá tr l n nh t
• Tìm m t node theo giá tr nh p vào
• Tìm c p (level) c a m t node theo giá tr nh p vào
• H y tòan b cây.
• (*) Xu t ra ñư ng ñi t root ñ n 1 node b t kỳ (giá tr nh p vào)
• (*) Tìm ñư ng ñi gi a 2 node b t kỳ (v i 2 giá tr nh p vào)
• (*) Ki m tra 2 node b t kỳ có quan h t tiên hay không? (v i 2 giá tr nh p vào)
• (*) Xu t ra ñư ng ñi gi a 2 node b t kỳ (v i 2 giá tr nh p vào)
11. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 11/12
Module 10
Bài 1
Vi t chương trình qu n lý danh sách l p. M i sinh viên g m các thành ph n:
+Mã SV: char[10];
+Mã L p : int
+Tên SV: char[255];
+DiemToan
+DiemLy
+DiemHoa
M i l p ch a g m các thông tin:
+Mã L p: int
+Tên L p: char[10];
+Khóa
Thành ph n khóa chính (và Index) c a danh sách sinh viên chính là mã SV. Thành ph n khóa chính (và
Index) c a danh sách l p chính là mã l p.
Xây d ng và qu n lý danh sách l p s d ng cây nh phân tìm ki m (Binary Search Tree). Hi n th menu
th c hi n các ch c năng sau (m i ch c năng th c hi n b ng hàm). Thành ph n d li u trong m i Node
là giá tr ki u integer.
1. Thêm 1 l p m i.
2. Thêm m t sinh viên
a. N u mã SV ñã có thì hi n th sinh viên ñó ra màn hình, cùng v i thông báo không th
nh p sinh viên ñã có
b. Mã l p ph i t n t i trong danh sách l p. N u chưa có, ph i hi n thông báo l i.
3. Tìm m t sinh viên theo mã SV
a. Khi tìm th y, hi n th mã, tên, ñi m, mã l p và tên l p.
4. Lưu danh sách sinh viên-l p vào file
5. ð c danh sách sinh vi n t file.
6. Hi n th danh sách sinh viên
a. Tăng d n theo mã SV
b. Gi m d n theo mã SV
c. M i sinh viên hi n th ñi m toán, lý, hóa và ñi m trung bình
7. Tìm t t c sinh viên theo tên nh p vào
8. Hi n th t t c sinh viên theo mã l p nh p vào
9. Hi n th t t c sinh viên theo tên l p nh p vào
10. Xóa m t sinh viên ra kh i danh sách
11. Xóa m t l p ra kh i danh sách
12. Tìm t t c sinh viên có ñi m trung bình l n nh t
13. Tìm t t c sinh viên có ñi m trung bình l n nh t trong m t l p
Chú ý: Sinh viên s d ng 2 cây nh phân, m t cho danh sách l p, m t cho danh sách sinh viên.
ð ñơn gi n, có th lưu thành 2 file riêng cho danh sách l p và danh sách sinh viên.
Lưu ý: M i m t thao tác thêm sinh viên, xóa sinh viên: chương trình t ñ ng lưu vào file. L n th c thi k
ti p, chương trình t ñ ng n p t file vào b nh .
12. Trung Tâm CNTT – Bài T p Th c Hành CTDL>
Trang 12/12
Module 11
Bài 1
Vi t chương trình qu n lý danh sách l p. M i sinh viên g m các thành ph n:
+Mã SV, Tên SV: char[255], DiemTB
M i l p g m các thông tin:
+Mã L p: int
+Tên L p: char[10];
M i l p có nhi u Sinh viên.
S d ng các c u trúc d li u sau. M i trư ng h p th c hi n 3 ch c năng: thêm l p, thêm sinh viên, tìm
t t c sinh viên c a 1 l p.
Bài 2
Vi t chương trình qu n lý danh sách mua vé máy bay – hành khách. M i khách ch mua 1 vé. M i vé
máy bay g m các thành ph n: Vé máy bay (ID,giá)
M i hành khách g m các thông tin: Khách(PassID, ten)
S d ng các c u trúc d li u sau. Th c hi n menu v i 3 ch c năng: thêm vé máy bay, thêm hành khách,
bán 1 vé máy bay (vé chưa bán) cho 1 hành khách (chưa mua vé). Khi bán vé, ngư i s d ng nh p ID
c a vé và PassID c a hành khách.