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&GT  
ꢀ
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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&GT  
ꢀ
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ꢀ  
ꢀ
pdf 12 trang baolam 23880 Free
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:

  • pdfbai_tap_thuc_hanh_cau_truc_du_lieu_giai_thuat.pdf