Đ 1 (thread)
L p trình trên ngôn ng tùy ch n vi yêu cu sau:
Vit ch ng trình 1.ế ươ
a (2đ). Vit 1 hàm g m 1 vòng lp nh p 1 kí t t bàn phím, ghi kí t lên 1 fle dulieu.txt. N u kí t là ế ế
'!' thì thoát kh i vòng lp.
b. (4đ) Đ t hàm vào 1 lu ng, dch ch ng trình CT1. ươ
Vit ch ng trình 2.ế ươ
c (2đ). Vit 1 hàm có 1 vòng lp vô h n đ c kí t fle dulieu.txt. Đ c đ c kí t thì đóng fle. Hin ế ượ
th kí t. N u kí t đ c đ c là '!' thì thoát vòng lp. ế ượ
d. (4đ) Đ t hàm vào 1 lu ng, dch ch ng trình CT2. ươ
Ch y CT1 và CT2 đ th y hiu ng trao đ i d liu.
-------------------------------------------------------------------------
Đ 2 (hàm x lý không đ ng b ):
L p trình trên ngôn ng tùy ch n (C/C#/Java) vi yêu c u sau:
Vit ch ng trình g m 2 tác v ho t đ ngkhông đ ng b nh sau:ế ươ ư
Task1:
a (2đ). Vit 1 hàm g m 1 vòng lp nh p 1 kí t t bàn phím, ghi kí t lên 1 fle dulieu.txt. N u kí t là ế ế
'!' thì thoát kh i vòng lp.
b. (4đ) Đ t hàm vào 1 timer c 5ms (1ms=1/1000 giây) th c hin 1 ln.
Task2
c (2đ). Vit 1 hàm có 1 vòng lp vô h n đ c kí t fle dulieu.txt. Đ c đ c kí t thì đóng fle. Hin ế ượ
th kí t. N u kí t đ c đ c là '!' thì thoát vòng lp. ế ượ
d. (4đ) Đ t hàm vào 1 timer c 10ms th c hin 1 ln..
Ghi chú: có th s d ng timer d a trên thread đ c 1 ln chu k li "nh " CPU cho h điu hành
ho c s d ng timer đ c h tr sn b i môi tr ng lp trình. ượ ườ
---------------------------------------------------------------------------
Đ 3 (timer):
L p trình trên ngôn ng tùy ch n (C/C#/Java) vi yêu c u sau:
Vit ch ng trình g m 2 timer ho t đ ng nh sau:ế ươ ư
timer1:
a (2đ). Vit 1 hàm g m 1 vòng lp nh p 1 kí t t bàn phím, lu vào 1 bin tng th c, hin th kí t. ế ư ế
N u kí t là '!' thì thoát kh i vòng lp.ế
b. (4đ) Đ t hàm vào 1 timer c 7ms (1ms=1/1000 giây) th c hin 1 ln.
timer2
c (2đ). Vit 1 hàm có 1 vòng lp phát ra ting beep, n u bin tng th c là '!' thì thoát vòng lp.ế ế ế ế
d. (4đ) Đ t hàm vào 1 timer c 10ms th c hin 1 ln..
Ch y ch ng trình đ xem hiu ng timer1, timer2. ươ
Đ 4:
Vit 2 ch ng trình g m CT1(client) , CT2 (server) s d ng Socket API, giao th c TCPIP truyn nh nế ươ
d liu ti IP="127.0.0.1", port=100, ho t đ ng nh sau: ư
CT1:
a(2đ). Vit 1 hàm g m 1 vòng lp vô h n nh p 1 kí t t bàn phím, khi nh p phím ESC thì thoát kh i ế
vòng lp. Vit hàm main() g i hàm, dch và ch y ch ng trình. ế ươ
b(2đ).B sung lnh truy n byte kí t đ n cho CT2 trong vòng lp. ế
c(1đ) Đ t hàm vào 1 thread sao cho CT1 không chim 100% CPU khi ch y. ế
Dch và ch y th CT1 (ch a có hiu ng truyn d liu) ư
CT2:
d (4đ). Vit 1 hàm g m 1 vòng lp vô h n nh n 1 byte kí t. N u nh n đ c kí t thì:ế ế ượ
TH1: N u kí t là phím ESC thì thoát kh i vòng lp.ế
TH2: N u kí t không là ESC thì hin th kí t.ế
Viêt hàm main() g i hàm.
e(1đ). Đ t hàm vào 1 thread sao cho CT2 không chim 100% CPU khi ch y. ế
Biên dch ln cu i:
+ Đóng tt c CT1,CT2 đang ch y.
+ Ch y ch ng trình CT2 sau đó ch y CT1 đ xem hiu ng k t n i, truy n và nh n d liu. ươ ế
+ Ch y Task manager (n u ch y trên h điu hành Windows) đ xem CT1 và CT2 khi ch y chim ế ế
bao nhiêu % CPU.
Add 3 thư viện: libadvapi32.a, libws2_32.a, libwsock32.a
CT1:
CT2:

Preview text:

Đ ề 1 ( t hr ead) L p ậ t r ì nh t r ên ngôn ng ữ t ùy c h n ọ v i ớ y êu c u ầ s au: Vit ế c h n ươ g t r ì nh 1. a ( 2đ) . Vit ế 1 hàm g m ồ 1 v òng lp ặ nh p ậ 1 k í t ự t ừ bàn phí m, ghi k í t ự l ên 1 f l e dul i eu . t x t . N u ế k í t ự l à ' ! ' t hì t hoát k h i ỏ v òng lp ặ . b. ( 4đ) Đ t ặ hàm v ào 1 l u n ồ g, dc ị h c h n ươ g t r ì nh CT1. Vit ế c h n ươ g t r ì nh 2. c ( 2đ) . Vit ế 1 hàm c ó 1 v òng lp ặ v ô h n ạ đ c ọ k í t ự ở fl e dul i eu. t x t . Đ c ọ đ c ượ k í t ự t hì đóng f l e . Hin ể t h ị kí t. ự N u ế k í t ự đ c ọ đ c ượ l à ' ! ' t hì t hoát v òng lp ặ . d. ( 4đ) Đ t ặ hàm v ào 1 l u n ồ g, dc ị h c h n ươ g t r ì nh CT2. Ch y ạ CT1 v à CT2 đ ể t h y ấ hi ệu ứng t r ao đ i ổ d ữ l iu ệ . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Đ ề 2 ( hàm x ử l ý không đ n ồ g b ) ộ : L p ậ t r ì nh t r ên ngôn ng ữ t ùy c h n ọ ( C/ C#/ J a v a) v i ớ y êu c u ầ s au: Vit ế c h n ươ g t r ì nh g m ồ 2 t ác v ụ ho t ạ đ n ộ gkhông đ n ồ g b ộ nh ư sau: T as k 1: a ( 2đ) . Vit ế 1 hàm g m ồ 1 v òng lp ặ nh p ậ 1 k í t ự t ừ bàn phí m, ghi k í t ự l ên 1 f l e dul i eu. t x t . N u ế k í t ự l à ' ! ' t hì t hoát k h i ỏ v òng lp ặ . b. ( 4đ) Đ t ặ hàm v ào 1 t i mer c ứ 5ms ( 1ms =1/ 1000 gi ây ) t h c ự hin ệ 1 ln ầ . T as k 2 c ( 2đ) . Vit ế 1 hàm c ó 1 v òng lp ặ v ô h n ạ đ c ọ k í t ự ở fl e dul i eu . t x t . Đ c ọ đ c ượ k í t ự t hì đóng f l e. Hin ể t h ị kí t. ự N u ế k í t ự đ c ọ đ c ượ l à ' ! ' t hì t hoát v òng lp ặ . d. ( 4đ) Đ t ặ hàm v ào 1 t i mer c ứ 10ms t h c ự hin ệ 1 ln ầ . . Ghi c hú: c ó t h ể s ử d n ụ g t i mer d a ự t r ên t hr ead đ ể c ứ 1 ln ầ c hu k ỳ li ạ " nh " ả CPU c ho h ệ điu ề hành ho c ặ s ử d n ụ g t i mer đ c ượ h ỗ t r ợ sn ẵ b i ở môi t r n ườ g lp ậ t r ì nh. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Đề 3 ( t i mer ) : L p ậ t r ì nh t r ên ngôn ng ữ t ùy c h n ọ ( C/ C#/ J a v a) v i ớ y êu c u ầ s au: Vit ế c h n ươ g t r ì nh g m ồ 2 t i mer ho t ạ đ n ộ g nh ư sau: t i mer 1: a ( 2đ) . Vit ế 1 hàm g m ồ 1 v òng lp ặ nh p ậ 1 k í t ự t ừ bàn phí m, lu ư v ào 1 bin ế tn ổ g t h ể c, hin ể t h ị kí t. ự N u ế k í t ự l à ' ! ' t hì t hoát k h i ỏ v òng lp ặ . b. ( 4đ) Đ t ặ hàm v ào 1 t i mer c ứ 7ms ( 1ms =1/ 1000 gi ây ) t h c ự hin ệ 1 ln ầ . t i mer 2 c ( 2đ) . Vit ế 1 hàm c ó 1 v òng lp ặ phát r a t in ế g beep, n u ế bin ế tn ổ g t h ể c l à ' ! ' t hì t hoát v òng lp ặ . d. ( 4đ) Đ t ặ hàm v ào 1 t i mer c ứ 10ms t h c ự hin ệ 1 ln ầ . . Ch y ạ c h n ươ g t r ì nh đ ể xem hiu ệ n ứ g t i mer 1, t i mer 2. ĐỀ 4: Vit ế 2 c h n ươ g t r ì nh g m ồ CT1( c l i ent ) , CT2 ( s er v er ) s ử d n ụ g Soc k et API , gi ao t h c ứ TCPI P t r uy n ề nh n ậ d ữ l iu ệ ti ạ I P=" 127. 0. 0. 1" , por t =10 0, ho t ạ đ n ộ g nh ư sau: CT1: a( 2đ) . Vit ế 1 hàm g m ồ 1 v òng lp ặ v ô h n ạ nh p ậ 1 k í t ự t ừ bàn phí m, k hi nh p ậ phí m ESC t hì t hoát k h i ỏ v òng lp ặ . Vit ế hàm mai n( ) g i ọ hàm, dc ị h v à c h y ạ c h n ươ g t r ì nh. b( 2đ) . B ổ sung ln ệ h t r uy n ề by t e k í t ự đ n ế c ho CT2 t r ong v òng lp ặ . c ( 1đ) Đ t ặ hàm v ào 1 t hr ead s ao c ho CT1 k hông c him ế 100% CPU k hi c h y ạ . Dc ị h v à c h y ạ t h ử CT1 ( c h a ư c ó hiu ệ n ứ g t r uy ền d ữ l iu ệ ) CT2: d ( 4đ) . Vit ế 1 hàm g m ồ 1 v òng lp ặ v ô h n ạ nh n ậ 1 by t e k í t. ự N u ế nh n ậ đ c ượ k í t ự t hì : TH1: N u ế k í t ự l à phí m ESC t hì t hoát k h i ỏ v òng lp ặ . TH2: N u ế k í t ự không l à ESC t hì hin ể t h ị kí t. ự Vi êt hàm mai n( ) g i ọ hàm. e( 1đ) . Đ t ặ hàm v ào 1 t hr ead s ao c ho CT2 k hông c hi ếm 100% CPU k hi c h y ạ . Bi ên dc ị h ln ầ c u i ố : + Đóng tt ấ c ả CT1, CT2 đang c h y ạ . + Ch y ạ c h n ươ g t r ì nh CT2 s au đó c h y ạ CT1 đ ể xem hiu ệ n ứ g k t ế n i ố , t r uy n ề v à nh n ậ d ữ l iu ệ . + Ch y ạ T as k manag er ( n u ế c h y ạ t r ên h ệ điu ề hành Wi ndows ) đ ể xem CT1 v à CT2 k hi c h y ạ c him ế bao nhi êu % CPU.
Add 3 thư viện: libadvapi32.a, libws2_32.a, libwsock32.a CT1: CT2: