skkn xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi

22 711 1
skkn xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi PHẦN I. ĐẶT VẤN ĐỀ I/ LÝ DO CHỌN ĐỀ TÀI Công nghệ thông tin của nước ta hiện nay đang rất phát triển đưa ra nhiều triển vọng cho tất cả các ngành trong việc tin học hoá xã hội. Nó có ý nghĩa rất quan trọng đối với rất nhiều lĩnh vực của đời sống. Trong ngành giáo dục hiện nay cũng là một ngành đang đưa công nghệ thông tin vào ứng dụng trong việc dạy và học. Trong thời đại hiện nay sự bùng nổ thông tin đã tác động lớn đến công cuộc phát triển kinh tế xã hội người. Với con người của thời đại hiện nay ngoài các kiến thức về chuyên môn thì hầu hết mọi người luôn sử dụng máy tính như một công cụ trợ giúp. Chính vì vậy Đảng và Nhà nước đã xác định rõ ý nghĩa và tầm quan trọng của tin học và CNTT, truyền thông cũng như những yêu cầu đẩy mạnh của ứng dụng CNTT, đào tạo nguồn nhân lực đáp ứng yêu cầu CNH, HĐH, mở cửa và hội nhập, hướng tới nền kinh tế tri thức của nước ta nói riêng v thế giới nói chung. Đưa môn tin học vào chương trình THPT là cần thiết và rất quan trọng đối với sự phát triển của xã hội, phát triển nguồn nhân lực có trình độ cao. Một trong những mục tiêu khi đưa Tin học vào trường học là nhằm giúp học sinh có khả năng phân tích, tổng hợp, trừu tượng hoá, khái quát vấn đề và phát triển tư duy. Muốn vậy ngoài dạy học Tin học đại trà trong nhà trường nhằm đảm bảo tính phổ thông, hướng nghiệp và dạy nghề ta cần phải tạo điều kiện cho các học sinh có năng khiếu về Tin học phát triển về khả năng lập trình để giải quyết bài toán. Góp phần nâng cao chất lượng dạy và học Tin học ở nhà trường phổ thông, bồi dưỡng các học sinh có năng khiếu và yêu thích môn tin học. Đặc biệt khi lập trình để giải bài toán phức tạp thường rất dài, có thể gồm hàng nghìn lệnh làm cho chương trình dài, rất khó nhận biết được thực hiện công việc gì và hiệu chỉnh cũng khó khăn. Vì vậy vấn đề đặt ra là làm thế nào để chương trình dễ đọc, dễ hiệu chỉnh và dễ nâng cấp. Với những lý do trên tôi quyết định chọn đề tài :“Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi”. GV: Hoàng Thị Yến THPT Nông Cống II 1 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi PHẦN 2: GIẢI QUYẾT VẤN ĐỀ. I/ CƠ SỞ LÝ LUẬN: + Nghị quyết của Hội nghị lần thứ hai của Ban chấp hành trung ương Đảng khoá VIII khẳng định: ‘ Mục tiêu và nhiệm vụ của giáo dục là nhằm xây dựng những con người và thế hệ gắn bó với tư tưởng độc lập dân tộc và chủ nghĩa xã hội, có đạo đức trong sáng, có ý kiến kiên cường xây dựng và bảo vệ tổ quốc; công nghiệp hoá, hiện đại hoá đất nước, giữ gìn và phát huy các giá trị văn hoá dân tộc, có năng lực tiếp thu tinh hoa và văn hoá nhân loại; phát huy tiềm năng của dân tộc và con người Việt Nam có ý thức cộng đồng và phát huy tính tích cực của cá nhân, làm chủ tri thức khoa học và công nghệ hiện đại, có tư duy sáng tạo, có kỹ năng thực hành giỏi, có tác phong công nghiệp, có tính tổ chức kỷ luật, có sức khoẻ, là những người thừa kế xây dựng chủ nghĩa xã hội vừa hồng, vừa chuyên như lời căn dặn của Bác Hồ’. + Luật giáo dục nước ta cũng đã cụ thể hoá tại chương II, mục 2 điều 23 là: “ Mục tiêu của giáo dục phổ thông là giúp học sinh phát triển toàn diện về đạo đức, trí tuệ, thể chất, thẩm mỹ và các kỹ năng cơ bản nhằm hình thành nhân cách con người Việt Nam xã hội chủ nghĩa, xây dựng tư cách và trách nhiệm công dân, chuẩn bị cho học sinh tiếp tục học lên hoặc đi vào cuộc sống lao động tham gia xây dựng và bảo vệ Tổ Quốc”. + Môn tin học, cũng như mọi môn học khác, căn cứ vào mục tiêu trên để xác định ra nhiệm vụ cụ thể của môn học, tổ chức hoạt động đào tạo góp phần thực hiện mục tiêu giảo dục mà Đảng và nhà nước đề ra. + Ngoài việc tạo điều kiện cho học sinh chiếm lĩnh những tri thức và kỉ năng Tin học cần thiết, Tin học còn có tác dụng phát triển năng lực trí tuệ chung như: phân tích, tổng hợp, trừu tượng hoá, khái quát hoá…rèn luyện những đức tính, phẩm chất của người lao động mới. Học sinh sẽ thấy rõ hiệu quả mạnh mẽ của công nghệ thông tin và nhận thức cần có. II/ THỰC TRẠNG VẤN ĐỀ Thực trạng chung: GV: Hoàng Thị Yến THPT Nông Cống II 2 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Tri thức Tin học ngày càng nhiều, thời gian dạy học Tin học không được tăng lên, dạy học lập trình càng gặp nhiều khó khăn. Nhu cầu xã hội đang rất cần những kỹ sư công nghệ thông tin thật sự giỏi nhưng việc bồi dưỡng học sinh yêu thích môn tin học trong trường THPT chưa đáp ứng được những yêu cầu cơ bản. Do vậy việc dạy học sinh tiếp cận và chiếm lĩnh tri thức một cách tự lực rất quan trọng. Học sinh yêu thích môn tin học nhưng gặp khó khăn về tài liệu, thời gian và luôn phải lo lắng cho các kỳ thi nên thời gian dành cho môn tin không có. Đó là thực trạng của đa số các trường phổ thông hiện nay. * Một số thuận lợi và khó khăn khi thực hiện đề tài ở trường THPT Nông Cống II 1. Thuận lợi: * Nhà trường: - Môn Tin học mới được đưa vào giảng dạy nhưng nhà trường đã tạo điều kiện để học sinh có điều kiện tốt nhất để học, tạo điều kiện về máy móc, trang thiết bị phục vụ cho việc dạy và học môn Tin học. * Học sinh: Là môn học có tính ứng dụng cao nên đa số học sinh có ý thức tìm hiểu về môn học nói riêng và CNTT nói chung. Một số học sinh có khả năng phát triển về lập trình và yêu thích lập trình. 2. Khó khăn: * Nhà trường: Nhà trường đã có hai phòng máy vi tính để cho học sinh học nhưng vẫn còn hạn chế về số lượng cũng như chất lượng, mỗi ca thực hành có tới 2 – 3 em ngồi cùng một máy nên các em không có nhiều thời gian để thực hành làm bài tập một cách đầy đủ. Tuy đã có hai phòng thực hành nhưng số lớp nhiều (24 lớp học) và mỗi lớp số lượng học sinh khoảng 45-55 học sinh do đó rất khó khăn cho việc xếp lịch thực hành cho các lớp. Đa số học sinh trong trường đều là con em nông dân nên điều kiện kinh tế không đủ để các em có máy tính riêng ở nhà. * Giáo viên: Môn tin học mới đưa vào giảng dạy nên giáo viên thường gặp khó khăn về phân hoá học sinh và bồi dưỡng học sinh yêu thích và học khá giỏi môn tin. GV: Hoàng Thị Yến THPT Nông Cống II 3 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Do đó việc lựa chọn học sinh giỏi là rất khó khăn vì học sinh giỏi thường học tốt các môn tự nhiên. * Học sinh: Học sinh đa số chưa tiếp cận ngôn ngữ lập trình nên rất khó khăn trong học lập trình. Việc thực hiện các bài toán phức tạp thường làm học sinh lúng túng vì học sinh chưa quen cách làm ‘mịn’ dần bài toán và sử dụng các chương trình con đã có để thực hiện. III/ GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN. - Các chương trình giải các bài toán phức tạp thường rất dài do đó khi đọc rất khó hiểu chương trình làm công việc gì và hiệu chỉnh chương trình rất khó khăn. Do vậy nên việc chia bài toán thành những bài toán nhỏ hơn để có thể giao cho nhiều người thực hiện, việc giải quyết các bài toán nhỏ thường là những bài toán đã biết và làm được. - Ta có thể phân tách vấn đề phức tạp thành những vấn đề nhỏ hơn để dễ kiểm tra, gỡ rối từng khối một sau đó lại lắp ghép thành một chương trình lớn. Việc này tương ứng trong dây truyền sản xuất công nghiệp, người ta có thể lắp ráp sản phẩm từ những bán thành phẩm, từ các modul đã được chế tạo ở nơi khác. Đó cũng là ý tưởng cơ bản của lập trình có cấu trúc. - Việc chia nhỏ bài toán cũng giúp học sinh có thể liên kết giúp đỡ lẫn nhau trong việc giải quyết các yêu cầu từ đó tăng khả năng làm việc độc lập cũng như làm việc theo nhóm của học sinh. - Thời gian để hoàn thành các bài thực hành ngay trong giờ thực hành cũng là một khó khăn lớn; do vậy khi giải quyết vấn đề học sinh chỉ chia nhỏ bài toán và liên hệ với các chương trình con đã có để giải quyết. Vì vậy, tôi đã xây dựng một số chương trình con thường dùng trong các bài toán để bồi dưỡng học sinh khá giỏi và là các ví dụ minh hoạ cho các các bài lý thuyết ở chương VI (Chương trình con và lập trình có cấu trúc – Tin học 11). Hơn thế nữa, đây cũng là khoảng thời gian rất cần thiết cho các em làm quen với lập trình có cấu trúc, từ đó phát huy những ý tưởng và những đam mê của mình trong khi học tập và đó cũng là khoảng thời gian học tập rất bổ ích cho những học sinh có ý định sau này tiếp tục theo đuổi chuyên ngành công GV: Hoàng Thị Yến THPT Nông Cống II 4 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi nghệ thông tin hay có thể trở thành các lập trình viên giỏi trong tương lai…Vì vậy, tôi đã đưa ra các chương trình con sau: 1. Chương trình con dạng thủ tục: {Thủ tục gắn đại diện để đọc ghi tệp} Procedure chuanbi; var f,f1:text; begin assign(f,fo); reset(f); {có thể đọc luôn dữ liệu vào biến hoặc mảng} assign(f1,fi); rewrite(f1); end; {……………………………………………………………………………} {Thủ tục đọc dữ liệu từ tệp vào mảng} Procedure doc; var fa:text; begin assign(fa,f0);reset(fa); readln(fa,n,k); for i:=1 to n do read(fa,a[i]); close(fa); end; {……………………………………………………………………………} {Thủ tục đọc dữ liệu từ tệp vào xâu hoặc biến} Procedure doc; var fa:text; begin assign(fa,f0);reset(fa); read(fa,s); close(fa); end; {……………………………………………………………………………} * Một số thủ tục trong sắp xếp {Thủ tục sắp xếp theo thuật toán sắp xếp lựa chọn} Procedure selection; var i, j, t : integer; begin for i := 1 to n – 1 do for j := i+1 to n do if a[i] > a[j] then begin t := a[i]; a[i] := a[j]; a[j] := t; end; end; GV: Hoàng Thị Yến THPT Nông Cống II 5 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi {…………………………………………………………… …………….} {Thủ tục sắp xếp theo thuật toán sắp xếp nhanh:} procedure qSort(l, r : integer); var i, j, x, y : integer; begin i := l; j := r; x := a[(l+r) div 2]; repeat while a[i] < x do i := i + 1; while x < a[j] do j := j – 1; if i <= j then begin y := a[i]; a[i] := a[j]; a[j] := y; i := i + 1; j := j – 1; end; until i > j; if l < j then qSort(l, j); if i < r then qSort(i, r); end; {…………………………………………………………… …………….} {Thủ tục sắp xếp tăng dần các phần tử của một mảng:} procedure sxep; var i,j,tg : integer; begin for i := 1 to n-1 do for j := i + 1 to n do if a[i] > a[j] then begin tg := a[i]; a[i] := a[j]; a[j] := tg; end; writeln('DAY SAU KHI SAP XEP TANG DAN:'); for i := 1 to n do writeln(a[i]); end; {…………………………………………………………… …………….} {Thủ tục sắp xếp số lẻ về đầu dãy, số chẳn về cuối dãy} procedure sxep; var j,i,tg:integer; begin for i:=1 to n-1 do if a[i] mod 2 =0 then begin j:=i+1; while j<=n do if a[j] mod 2=1 then begin tg:=a[i]; GV: Hoàng Thị Yến THPT Nông Cống II 6 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi a[i]:=a[j]; a[j]:=tg; break; end else inc(j); end; end; {……………………………………………………………………………} {Thủ tục chèn một số vào dãy mà không làm thay đổi thứa tự của dãy} procedure sxep; var j,i:integer; begin a[n+1]:=k; j:=n+1; while (j>1) and (a[j-1]>k) do dec(j); for i:=n downto j do a[i+1]:=a[i]; a[j]:=k; end; {……………………………………………………………………………} * Một số thủ tục về xâu {Chuẩn hoá xâu} Procedure chuanhoa(var s:string); begin while s[1]=' ' do delete(s,1,1); while s[length(s)]=' ' do delete(s,length(s),1); for i:=length(s)-1 downto 2 do if (s[i]=' ') and (s[i-1]=' ') then delete(s,i,1); end; {……………………………………………………………………………} {chuyển kí tự đầu thành chữ hoa còn các kí tự khác thành chữ thường} Procedure chuyen(var s:string); begin s[1]:=upcase(s[1]); for i:=2 to length(s) do if s[i-1]=' ' then s[i]:=upcase(s[i]) else if (s[i]>='A') and(s[i]<='Z') then s[i]:= chr(ord(s[i])+32); end; {……………………………………………………………………………} {Chuyển xâu kí tự sang xâu chữ in hoa} Procedure chuyen(var St:String); Begin For i:=1 to length(St) do St[i]:=Upcase(St[i]); End. {……………………………………………………………………………} {Chuyển xâu kí tự sang xâu chữ thường} GV: Hoàng Thị Yến THPT Nông Cống II 7 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Procedure chuyen(var St:String); Begin For i:=1 to length(St) do If St[i] IN [‘A’ ’Z’] Then St[i]:=CHR(ORD(St[i])+32); End. {……………………………………………………………………………} {Đếm số từ trong xâu} Procedure dem_so_tu(s:string); begin d:=0; s:=' '+s; for i:=1 to length(s) do if (s[i]=' ') and (s[i+1]<>' ') then d:=d+1; end; {…………………………………………………………… …………….} {Thủ tục đảo xâu theo từ} Procedure dao_xau_theo_tu(var s:string); var x,y,z:byte; begin z:=length(s); for y:=length(s) downto 1 do begin if ((s[y]=' ') or (y=1)) then begin for x:=y to z do write(s[x]); z:=y; end; write(' '); end; end; {……………………………………………………………………………} {Thủ tục giải phương trình bậc 2} Procedure GPTB2; Var Delta: real; Begin Delta:=sqr(b) – 4*a*c; if Delta<0 then writeln(‘phuong trinh vo nghiem’) else if delta=0 then Begin write(‘phuong trinh co nghiep kep’); write(‘x1,2=’,-b/(2*a):8:2); end Else begin x1:=(-b+sqrt(delta))/(2*a); GV: Hoàng Thị Yến THPT Nông Cống II 8 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi x2:= (-b-sqrt(delta))/(2*a); writeln(‘phuong trinh co 2 nghiem phan biet la:’); writeln(‘x1=’,x1:8:2,’x2=’,x2:8:2); end; end; {……………………………………………………………………………} {Phân tích số nguyên n ra thừa số nguyên tố} Procedure PhantichSoN ( Var N1 : Integer ); Var u,dem:Integer; Begin If ( N1 > 1 ) Then Begin u := 2; dem := 0; While ( N1 > 1 ) do If ( N1 mod u = 0 ) Then Begin dem:=dem+1; Writeln( u); N1 := N1 div u; End Else u:=u+1; End Else Writeln(' Khong the phan tich duoc' ); End; {……………………………………………………………………………} {Thủ tục đếm xem trong dãy số nguyên có bao nhiêu số khác nhau, sử dụng thuật toán lùa bò vào chuồng} Procedure Dem; Var d,i,n:integer; A:array[1 3200] of integer; Begin d:=0; Fillchar(a,sizeof(a),0); For i:=1 to n do inc(a[i]); For i:=1 to 3200 do if a[i]<>0 then inc(d); Write(‘so luong phan tu khac nhau la:’,d); End; {……………………………………………………………………………} 2. Chương trình con dạng hàm: * Một số hàm tìm kiếm GV: Hoàng Thị Yến THPT Nông Cống II 9 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi {Tìm kiếm tuần tự trên dãy chưa có thứ tự} Function tim(x: integer; a:array[1 n] of integer):word; Var i: word; Begin I:=1; While (i<=n) and not (x=a[i]) do Inc(i); If i>n then tim:=0 else tim:=i; End; {……………………………………………………………………………} {Tìm kiếm tuần tự trên dãy đã có thứ tự} Function tim(x: integer; a:array[1 n] of integer):word; Var i: word; Begin I:=1; While (i<=n) and not (x>a[i]) do Inc(i); If ((i<=n) and (a[i]>x)) or (i>n) then tim:=0 else tim:=i; End; {……………………………………………………………………………} {Tìm kiếm nhị phân trên một mảng được sắp xếp} Function tim(x: integer; a:array[1 n] of integer):word; Var dau,cuoi,giua: integer; Begin dau:=1; cuoi:=n; While cuoi>= dau do Begin Giua:=(dau+cuoi) div 2; If a[giua] < x then Dau:=giua + 1; Else If (x< a[giua]) then cuoi:=giua-1 Else cuoi:=-1; End; GV: Hoàng Thị Yến THPT Nông Cống II 10 [...]... Nam 3 Đề kiểm tra tin học 11 - NXB Giáo dục Việt Nam 4 Tài liệu bồi dưỡng thường xuyên chu kỳ 3 5 Một số tài liệu trên mạng Internet GV: Hoàng Thị Yến THPT Nông Cống II 21 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT NÔNG CỐNG II SÁNG KIẾN KINH NGHIỆM XÂY DỰNG MỘT SỐ CHƯƠNG TRÌNH CON ĐỂ BỒI DƯỠNG HỌC SINH KHÁ GIỎI Người thực hiện:... đó được sử dụng các chương trình đã có để lập trình Khi có các chương trình con đã có thì việc làm bài tập trở thành các tiết thiết kế và làm ‘mịn’ bài toán do đó học sinh rất hứng thú với việc xây dựng bài Điểm số các bài kiểm tra của học sinh có sự tiến bộ so với học kỳ I GV: Hoàng Thị Yến THPT Nông Cống II 18 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi PHẦN 3 KẾT LUẬN... NGHIỆM Sau khi tôi xây dựng các chương trình con và áp dụng vào bồi dưỡng học sinh khá, giỏi của các lớp kết quả rất khả quan Trong bồi dưỡng học sinh giỏi thì việc sử dụng các chương trình con đã có giúp học sinh giảm bớt được thời gian lập trình Thời gian cho học sinh thực hiện thiết kế bài toán từ trên xuống được tốt hơn, khả năng tư duy thuật toán của học sinh được tăng lên rõ rệt Học sinh của các lớp... nghiệp để đề tài của tôi có hiệu quả hơn Xác nhận của thủ trưởng đơn vị Thanh Hóa, Ngày 25/04/2013 Tôi xin cam đoan đây là SKKN của mình viết, không sao chép nội dung người khác NGƯỜI THỰC HIỆN ĐỀ TÀI GV: Hoàng Thị Yến THPT Nông Cống II 19 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Hoàng Thị Yến GV: Hoàng Thị Yến THPT Nông Cống II 20 SKKN: Xây dựng một số chương trình con để bồi. . .SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi If cuoi=-1 then tim:=giua else tim:=0; End; {……………………………………………………………………………} * Một số chương trình con {Hàm tính độ dài từ lớn nhất trong xâu} function dodai_tu_max(s:string):byte; var d:string; k:byte; begin k:=0;... {……………………………………………………………………………} {Đổi 1 số từ cơ số 10 sang cơ số 2} Function doi(he10:longint):String; var he2,tg:string; y:byte; begin he2:=’’; repeat y:=he10 mod 2; str(y,tg); he2:=tg+he2; he10:=he10 div 2; until he10=0; doi:=he2; end; GV: Hoàng Thị Yến THPT Nông Cống II 12 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi {……………………………………………………………………………} {Đổi cơ số 10 sang cơ số 8} Function doi(he10:longint):String;... 11 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi {………………………………………………………………………} {Hàm kiểm tra xem một số có phải là số hoàn hảo hay không} function hh(k:longint):boolean; var kt:boolean; s,i:longint; begin s:=0; for i:=1 to k div 2 do if k mod i=0 then s:=s+i; if s=k then kt:=true else kt:=false; hh:=kt; end; {………………………………………………………………………} {Hàm tính ước chung lớn nhất của 2 số. .. {……………………………………………………………………………} {Đổi cơ số 2 sang cơ số 16} function hexa(k:longint):string; var b,tg:string; a:byte; GV: Hoàng Thị Yến THPT Nông Cống II 13 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi begin b:=''; repeat a:=k mod 16; if ak then k:=length(d); until length(s)=0; dodai_tu_max:=k; end; begin assign(f,f1);rewrite(f); doc; chuanhoa(s); writeln(f,s); chuyen(s); writeln(f,s); dem_so_tu(s); writeln(f,d); write(f,dodai_tu_max(s)); close(f); end {……………………………………………………………………………} Bài 2: Viết chương trình hoàn chỉnh . dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Do đó việc lựa chọn học sinh giỏi là rất khó khăn vì học sinh giỏi thường học tốt các môn tự nhiên. * Học sinh: Học sinh đa số chưa. Nông Cống II 2 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi Tri thức Tin học ngày càng nhiều, thời gian dạy học Tin học không được tăng lên, dạy học lập trình càng gặp. la:’,d); End; {……………………………………………………………………………} 2. Chương trình con dạng hàm: * Một số hàm tìm kiếm GV: Hoàng Thị Yến THPT Nông Cống II 9 SKKN: Xây dựng một số chương trình con để bồi dưỡng học sinh khá, giỏi {Tìm kiếm tuần

Ngày đăng: 18/07/2014, 15:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan