Bài tập thực hành Cấu trúc dữ liệu & giải thuật
Faculty of Information Technology
ꢀ
ꢀBàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
ꢀ
BàiꢀTꢁpꢀThꢂcꢀHànhꢀ
CꢃuꢀTrúcꢀDꢄꢀLiꢅuꢀ&ꢀGiꢆiꢀThuꢁtꢀ
Khꢇi:ꢀðꢈiꢀHꢉcꢀvàꢀCaoꢀðꢊng
Namꢀ2014
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
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.ꢀ
ꢀꢀ
Trangꢀ1/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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!ꢀ+x2/2!ꢀ+ꢀx3/3!ꢀ+ꢀ…ꢀ+ꢀxn/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.ꢀ
Trangꢀ2/12ꢀ
ꢀ
Faculty of Information Technology
ꢀBàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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ꢀ
ꢀ
Trangꢀ3/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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ꢀ
ꢀ
Trangꢀ4/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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ꢀ
•ꢀ Hiꢖnꢀ thꢟꢀ danhꢀ sáchꢀ cácꢀ nodeꢀ
trongꢀxâuꢀ
•ꢀ Thêmꢀ mꢜtꢀ nodeꢀ vàoꢀ cuꢇiꢀ danhꢀ
sáchꢀ
•ꢀ Hꢓyꢀ mꢜtꢀ nodeꢀ (nhꢁpꢀ giáꢀ trꢟꢀ cꢕnꢀ
tìm)ꢀ
•ꢀ Thêmꢀ nhiꢌuꢀ nodeꢀ vàoꢀ ñꢕuꢀ danhꢀ
sáchꢀ
•ꢀ Hꢓyꢀtòanꢀbꢜꢀdanhꢀsáchꢀ
•ꢀ Tínhꢀ tꢔngꢀ giáꢀ trꢟꢀ tòanꢀ bꢜꢀ danhꢀ
sáchꢀ
•ꢀ Thêmꢀ nhiꢌuꢀ nodeꢀ vàoꢀ cuꢇiꢀ danhꢀ
sáchꢀ
•ꢀ Tìmꢀ giáꢀ trꢟꢀ lꢑnꢀ nhꢃtꢀ vàꢀ nhꢚꢀ nhꢃtꢀ
trongꢀ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ꢀ
•ꢀ Sꢠpꢀ xꢎpꢀ danhꢀ sáchꢀ vꢑiꢀ giáꢀ trꢟꢀ
tăngꢀdꢕnꢀ(tꢂꢀchꢉnꢀthuꢁtꢀtóan)ꢀ
•ꢀ 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ꢀ
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.ꢀ
Trangꢀ5/12ꢀ
ꢀ
Faculty of Information Technology
ꢀBàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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)ꢀ
•ꢀ 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ꢀ
•ꢀ 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)ꢀ
•ꢀ 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ꢀ
•ꢀ 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)ꢀ
•ꢀ Thêmꢀ mꢜtꢀ nodeꢀ vàoꢀ cuꢇiꢀ danhꢀ
sáchꢀ
•ꢀ Hꢓyꢀtꢃtꢀcꢆꢀcácꢀnodeꢀlàꢀsꢇꢀnguyênꢀ
tꢇꢀ
•ꢀ Thêmꢀmꢜtꢀnodeꢀvàoꢀsauꢀmꢜtꢀphꢕnꢀ
tꢛꢀ(giáꢀtrꢟꢀnhꢁpꢀvào)ꢀꢀ
•ꢀ 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ꢀ
•ꢀ 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ꢀ
•ꢀ Sꢠpꢀxꢎpꢀdanhꢀsáchꢀtăngꢀdꢕnꢀ
•ꢀ Hꢓyꢀtòanꢀbꢜꢀdanhꢀsáchꢀ
•ꢀ Hꢓyꢀphꢕnꢀtꢛꢀñꢕuꢀdanhꢀsáchꢀ
•ꢀ Hꢓyꢀphꢕnꢀtꢛꢀcuꢇiꢀ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.ꢀ
Trangꢀ6/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
ꢀ
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.ꢀ
Trangꢀ7/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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).ꢀ
Trangꢀ8/12ꢀ
ꢀ
Faculty of Information Technology
ꢀBàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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.ꢀ
ꢀ
Trangꢀ9/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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)ꢀ
Trangꢀ10/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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ꢑ.ꢀ
ꢀ
Trangꢀ11/12ꢀ
ꢀ
Faculty of Information Technology
BàiꢀTꢁpꢀThꢂcꢀHànhꢀCTDL>
ꢀ
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.ꢀ
Trangꢀ12/12ꢀ
ꢀ
Bạn đang xem tài liệu "Bài tập thực hành Cấu trúc dữ liệu & giải thuật", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_tap_thuc_hanh_cau_truc_du_lieu_giai_thuat.pdf

