Professional Documents
Culture Documents
Bai Thuc Hanh KTLT
Bai Thuc Hanh KTLT
Bi 1: Lp trnh c s
1 Mc ch bi thc hnh Gip hc vin lm quen vi cng c lp trnh Visual C++, th nghim vit chng trnh theo phong cch hng hm, qua nm vng cc kin thc lp trnh c s nh: 1) Phng php th hin thut ton bng cc cc cu trc iu kin, vng lp 2) Cch s dng mng, con tr, b nh ng 3) Khai bo, thc hin v s dng hm; cc phng php truyn tham s hm. 2 Nhim v th nghim 2.1 Bi tp 1. Xy dng mt hm thc hin phn loi cc s chn v l trong mt dy s nguyn, kt qu c nh vo hai dy s mi. S dng mng ng biu din hai dy s kt qu sao cho b nh c cp pht ng ch va dng. Kt qu tr v ca hm s l s cc s chn trong dy ban u, hay cng chnh l chiu di ca mt dy kt qu. 2. Vit chng trnh minh ha cch s dng hm trong cu 1 vi hai trng hp: - dy s ban u c cha trong mt mng tnh v gi tr cc s trong dy c khi to ngay khi khai bo. - dy s ban u c cha trong mt mng ng v gi tr cc s cn c a vo qua bn phm Hai dy s kt qu c a ra mn hnh. 2.2 Nhim v chun b nh 1) n li cc kin thc c s nu trong phn 1, xem li cc v d v bi tp trn lp. 2) Xy dng thut ton v vit chng trnh sn trn giy (vit tay, khng chp nhn bn sao!) 2.3 Nhim v trn phng th nghim 1) Lm quen vi Visual C++, to mt d n mi (New Project), t tn d n (v d SortApp) v chn Win32 Console Application 2) Vit hm trn my v lu vo mt 2 files ring: Header file (v d sort.h) cha m khai bo hm v file ngun (*.cpp) cha m thc hin hm. B sung 2 files vo d n. Bin dch file ngun (v d sort.cpp), tm cch gii thch v sa cc li bin dch (compile error). 3) Vit chng trnh minh ha trong file chnh (v d sortapp.cpp). Dch ton b d n (Build), sa cc li bin dch (compile error), li lin kt (link error) nu c v chy th chng trnh. 4) Lm quen s dng Debugger tm li chy (runtime error), tm cch gii thch v sa li nu c. 5) M menu Project Setting v tm hiu ngha cc thng s la chn cho d n. 6) Th nghim thay i cch th hin vng lp (for... hoc while..., s dng phng php dch con tr thay cho s dng ch s). 7) Th nghim khng dng mng ng, m dng mng tnh cha dy s u vo v cc dy s kt qu trong hm. Phn tch cc vn gp phi. 8) Ghi chp cc bc thc hin lm bo co. 3 Bo co thc hnh Mi hc vin phi lm mt bo co ring, np cho cn b hng dn th nghim chm nht l mt tun sau bui thc hnh. Bo co c th vit tay hoc in, nhng cc bn sao photocopy s khng c chp nhn. Bi bo co phi c cc phn sau: 1. Ton b m chng trnh chy chia lm 3 files nh hng dn trong phn 2.3 2. M t tng bc thc hin nh hng dn trong phn 2.3. Trong mi bc, cn nu bt cc cng vic lm, cc vn gp phi, cc li ch yu gp, l gii li v m t cch gii quyt. 3. Nu cc vn m anh (ch) thy cha tht hiu, cn ging vin gii thch k hn.
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59]
#include <iostream.h> #include <conio.h> int phanloai(int* a, int n, int*& chan, int*& le) { int i = 0, sochan = 0; while (i < n) { if (a[i] % 2 == 0) // so chan ++sochan; ++i; } chan = new int[sochan]; le = new int[n-sochan]; i = 0; int ic=0,il=0; while (i < n) { if (a[i] % 2) // so le le[il++] = a[i]; else chan[ic++] = a[i]; ++i; } return sochan; } void print(int* a, int n) { for (int i = 0; i < n; ++i) cout << '\t' << a[i]; } void main() { // mang tinh int n = 10; int as[10] = {1,2,3,4,5,6,7,8,9,10}; int *c, *l; int sochan = phanloai(as,n,c,l); cout << "\nDay so ban dau:"; print(as,n); cout << "\nDay so chan:"; print(c,sochan); cout << "\nDay so le:"; print(l,n-sochan); delete [] c; delete [] l; // mang dong cout << "\nCho chieu dai day so:"; cin >> n; int *ad = new int[n]; for (int i = 0; i < n; ++i) { cout << "\nad[" << i << "]="; cin >> ad[i]; } sochan = phanloai(ad,n,c,l); cout << "\nDay so ban dau:"; print(ad,n); cout << "\nDay so chan:"; print(c,sochan); cout << "\nDay so le:"; print(l,n-sochan); delete [] c; delete [] l; cout << "\n Nhan mot phim bat ky de ket thuc"; cout.flush(); getch(); }
Bi 3: Dn xut lp v c ch a x
1 Mc ch bi thc hnh Hc vin hiu su v cc c ch tha k v a x trong dn xut lp, qua nm vng cc vn nh: 1) Phn tch v m t quan h tnh gia cc lp i tng thng qua dn xut lp 2) Kim sot truy nhp thnh vin lp c s v tc dng i vi cc lp dn xut 3) Phn bit gia hm o v hm thnh vin thng thng, lp tru tng v lp thng thng 4) Phn bit gia tha k giao din v tha k phn thc hin v cc tc dng ca chng 5) ngha ca vic s dng con tr trong lp trnh hng i tng 2 Nhim v th nghim 2.1 Bi tp 1. Xy dng mt th vin lp (c t nht 4 lp i tng) biu din cc khi hm s dng trong m phng v thc hin cc h thng iu khin theo phng php s khi theo bi ging trn lp. 2. T chn mt v d m phng v vit chng trnh minh ha cch s dng th vin hm ny. 2.2 Nhim v chun b nh 1) n li cc kin thc c s nu trong phn 1, xem li cc v d trn lp. 2) V biu lp v vit m chng trnh sn trn giy (vit tay, khng chp nhn bn sao!) 2.3 Nhim v trn phng th nghim 1) To mt d n th vin mi. Khai bo v thc hin mi lp trong mt file *.h v mt file *.cpp. B sung cc file ny vo d n. Dch th d n v sa li. 2) B sung mt d n mi vo Workspace vit chng trnh minh ha cch m phng mt h thng s dng cc lp xy dng. S dng mt mng ng c cc phn t l con tr cha cc i tng (khi hm) trong h thng. B sung th vin c to ra trn vo d n mi. Dch ton b d n mi ny, sa cc li v chy th chng trnh. 3) Th nghim vi vic thay i quyn truy nhp (public, protected, private) ca d liu cng nh mt s hm thnh vin lp c s v cc lp dn xut, dch li ln lt c hai d n xem tc dng. 4) Th nghim vi vic thay i thuc tnh virtual ca mt s hm thnh vin lp c s v cc lp dn xut, dch li ln lt c hai d n xem tc dng. 5) Trong chng trnh minh ha, th khng dng cc bin con tr vo lp c s to v lu gi a ch cc i tng, m dng bin tham chiu hoc bin trc tip thng thng v tm hiu cc vn gp phi trong vic to cng nh qun l v s dng cc i tng. 3 Bo co thc hnh Mi hc vin phi lm mt bo co ring, np cho cn b hng dn th nghim chm nht l mt tun sau bui thc hnh. Bo co c th vit tay hoc in, nhng cc bn sao photocopy s khng c chp nhn. Bi bo co phi c cc phn sau: 1) Ton b m chng trnh chy chia lm cc files nh hng dn trong phn 2.3 2) M t tng bc thc hin nh hng dn trong phn 2.3. Trong mi bc, cn nu bt cc cng vic lm, cc vn gp phi, cc li ch yu gp, l gii li v m t cch gii quyt. 3) Nu cc vn m anh (ch) thy cha tht hiu, cn ging vin gii thch k hn.