intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sáng kiến kinh nghiệm THCS: các bước giải bài toán trên máy tính trong chương trình Tin học 8

Chia sẻ: _ _ | Ngày: | Loại File: DOC | Số trang:19

36
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục đích nghiên cứu của đề tài nhằm đưa ra các bước giải bài toán trên máy vi tính trong chương trình môn Tin học 8 phù hợp nhất với học sinh. Tạo cho học sinh rất hứng thú học môn Tin học nhất là tiết thực hành và rèn luyện cho học sinh tính tư duy, tính sáng tạo trong quá trình lập trình.

Chủ đề:
Lưu

Nội dung Text: Sáng kiến kinh nghiệm THCS: các bước giải bài toán trên máy tính trong chương trình Tin học 8

  1. SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI: “CÁC BƯỚC  GIẢI  BÀI TOÁN TRÊN MÁY TÍNH TRONG  CHƯƠNG TRÌNH TIN HỌC 8”
  2. A. MỞ ĐẦU I. Đặt vấn đề 1. Thực trạng ­ Là một giáo viên tin học, một trong các mục tiêu khi dạy môn tin học trong  nhà trường là nhằm giúp học sinh không chỉ  biết soạn thảo mà còn phải có khả  năng phân tích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề  và đặc biệt là phát   triển tư duy, sáng tạo. Vì thế  mà trong bài viết này tôi sẽ hướng cho học sinh lớp 8   cách để trở thành một nhà lập trình thì cần phải nắm các bước cơ bản nào? ­ Trong quá trình dạy tôi nhận thấy ở các em học sinh. Mới đầu các em cũng  rất sợ khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ  trong vòng vài giây có  thể nhẩm ra kết quả. Còn ở trong lập trình cũng bài toán đó mà phải làm đến hàng  chục phút  mà lại có thể cho kết quả sai. Nhưng bằng những tâm huyết của mình và   cũng như sự yêu thích của học sinh. Nhất là những năm gần đây nghành giáo dục có   phát động phong trào giải toán trên mạng (Violympic) cũng như thành lập đội tuyển  tham dự các kì thi “Tin học trẻ” được tổ chức quy mô hàng năm. Điều đó đã thúc  đẩy tôi rất nhiều trong việc dạy học là làm sao giúp cho các em có  sự đam  mê học  tập bộ môn tin học và phát triển tài năng của học sinh. 2. Ý nghĩa và tác dụng của đề tài ­ Đưa ra các bước giải bài toán trên máy vi tính trong chương trình môn Tin   học 8 phù hợp nhất với học sinh. ­ Tạo cho học sinh rất hứng thú học môn Tin học nhất là tiết thực hành và rèn  luyện cho học sinh tính tư duy, tính sáng tạo trong quá trình lập trình. 3. Phạm vi nghiên cứu của đề tài ­ Học sinh khối 8 trường THCS An Tân, An Lão, Bình Định. II. Phương pháp tiến hành: 1. Cơ sở lý luận và thực tiễn ­ Qua hai năm giảng dạy chương trình tin học lớp 8, tôi nhận thấy rằng kĩ  năng giải bài toán trên máy tính của các em còn yếu.
  3. ­ Khi giải bài toán trên máy học sinh chỉ quan tâm đến công thức để tính toán  ra kết quả bài toán mà quên các bước xác định thông tin vào, thông tin ra và xây  dựng thuật toán. Khi chạy chương trình thì học sinh chưa nhận biết được kết quả  chương trình đúng hay sai.  ­ Trước khi thực hiện đề tài, tôi đã khảo sát học sinh khối 8 thông qua giờ dạy  lý thuyết, dạy thực hành, kiểm tra bài cũ. Tổng hợp kết quả thu được: Tỷ lệ học  Tỷ lệ học  Tỷ lệ học  Tỷ lệ học  Tỷ lệ học  sinh giỏi sinh khá sinh trung  sinh yếu sinh kém bình 9.5% 20,5% 47,5% 18,5% 4 % 2. Các biện pháp tiến hành ­ Qua dự giờ và trao đổi kinh nghiệm với đồng nghiệp. ­ Qua các tiết thực hành, tiết lý thuyết ­ Tham khảo tài liệu trên sách, báo, internet,… B. NỘI DUNG I. Mục tiêu Tìm ra những phương pháp, các bước giải bài toán trên máy vi tính trong chương  trình môn Tin học 8 phù hợp nhất với học sinh. Trên cơ sở nghiên cứu tính tích cực của học sinh trong giờ học môn Tin học 8, đề  xuất một số ý kiến nhằm nâng cao chất lượng dạy và học. II. Mô tả giải pháp
  4. Phương pháp cơ bản giải các bài toán trong tin học không chỉ dùng để  giải  một bài toán cụ thể mà còn giải 1 lớp các bài toán cụ thể thuộc cùng một loại. Bài  toán được cấu tạo từ hai yếu tố cơ bản: Thông tin vào (Input) và thông tin ra  (Output). Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên  ngôn ngữ pascal thì cần các bước : 1. Xác định bài toán. 2. Xây dựng thuật toán. 3. Viết chương trình. 4. Chạy thử, sửa đổi chương trình. 1. Xác định bài toán: * Khái niệm bài toán Trong quá trình học người học sinh  hay bất kỳ một cá nhân nào luôn phải liên  tục giải quyết các bài toán. Trong cuộc sống là 1 chuỗi các bài toán mà ta phải đối   đầu giải quyết không một chút đơn giản mà nhiều lúc phải bực mình. Song đối với  học sinh lớp 8  do chương trình học toán của các em chỉ mới đến giải phương trình  bậc nhất là cao nhất. Nên việc đưa các lớp bài toán vào giải cho các em đang còn  một phần nào bị hạn chế. Nhưng bất kỳ một bài toán nào thì chúng ta cũng  đọc đề  rồi xác định nó : A   B.   ­  A là giả thiết : điều kiện ban đầu  hoặc cái đã cho khi bắt đầu giải bài    Trong đó :  toán.       ­ B là kết luận: mục tiêu cần đạt được hay cái phải tìm khi kết thúc bài  toán .                 Là suy luận: giải pháp cần xác định hay chuỗi các thao tác thực hiện từ  A đến B.        * Bài toán trên máy vi tính:  Bài toán trên máy cũng mang đầy đủ các tính chất của bài toán tổng quát trên,  nhưng nó lại được diễn đạt theo một cách khác. ­ A: là  đưa thông tin vào (Input ) ­ B: là đưa thông tin ra (Output)
  5. ­  : là chương trình tạo từ các lệnh cơ bản của máy tính cho phép  biến đổi từ A đến B. * Một số  ví dụ: Ví dụ 1: Tính diện tích hình chữ nhật. Ta cần xác định cho bài toán: + Thông tin vào: Chiều dài là cạnh a, chiều rộng là cạnh b + Thông tin ra: Kết  quả diện tích khi đưa a,b vào + Các thông tin  cần chế biến thông tin như:  ­ Lần lượt đưa a,b vào  ( cho a=3,b=4) ­ Áp dụng công thức tính diện tích hình chữ nhật: a*b ­ Kết quả in ra là 12. Ví dụ 2:  Cho 2 số tự nhiên a, b .Tìm ước số chung lớn nhất của chúng. Các bước các định bài toán: + Xác định thông tin vào: hai số tự nhiên a, b + Xác định thông tin ra: số tự nhiên d thoả mãn: d là ước của  a và d là ước của b d là số lớn nhất trong tập các ước chung của a, b + Xác định các thao tác chế biến thông tin Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b. Nhập  a =16      b= 24   ­> d =8 Ví dụ 3: Tìm tất cả các số nguyên tố trong các số  nguyên N đư ợc nhập vào từ bàn  phím: + Xác định thông tin vào: Nhập số nguyên N
  6. + Xác định thông tin ra: Các số nguyên tố (chia hết cho nó và  số 1) 2. Tìm thuật toán: Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản được  sắp xếp theo một trình tự  xác định sao cho theo đó từ   Input của bài toán sẽ  tìm ra   được Output bài toán .   Một bài toán ta có 4 cách thể hiện thuật toán: Các bước xác định bằng lời, lập  sơ đồ khối, ngôn ngữ phỏng trình, dùng một ngôn ngữ lập trình (Pascal). Ví dụ: Tìm ước số chung lớn nhất của 2 số nguyên dư ơng a,b . Ta có thể giải bằng  các cách trên Cách 1: Các bước xác định bài toán bằng lời: ­ Bước 1: Nhập 2 số nguyên dương là a,b ­ Bước 2: So sánh giá trị  a và b . Nếu  a bằng b thì sang b ước 3, ngược lại a  khác b thì sang bước 4 ­ Bước 3: Tìm được ước số chung là a  và kết thúc chương trình ­ Bước 4: Nếu a lớn hơn b thì  ước số chung lớn nhất là a:=a­b và quay trở lại  bước 2. Ngược lại ước số chung là b:=b­a và quay trở lại bước 2 Cách 2: Giải bài toán bằng sơ đồ ­ Có hình thoi  thể hiện các thao tác so sánh ­ Hình chữ nhật thể hiện các phép tính toán, các câu lệnh ­ Hình ôvan thể hiện bắt đầu và kết thúc ­ Các mũi tên quy định trình tự các thao tác Begin a, b đúng UCLN là a a=b sai END  đúng   sai a>b              a:= b ­ a              b:= b ­ a             
  7.                              Cách 3: Dùng ngôn ngữ phỏng trình  Bắt đầu  Nhập a, b While a khác b  IF a>b then thay a :=a ­b    Else thay b:=b­a; Kết thúc in ra USCLN (a,b) . Cách 4:  Viết chương trình hoàn chỉnh (dùng ngôn ngữ pascal) PROGRAM  USCLN; USES  CRT; VAR   a,b, :integer; BEGIN      CLRSCR;
  8.        WRITE('nhap 2 gia tri a,b=');READLN(a,b);               WHILE ab DO          IF a>b THEN a:=a –b          else b:=b­a;         WRITELN('uoc so chung lon nhat cua 2 so’,a:5);    READLN END. 3. Viết chương trình: Lập trình là dùng ngôn ngữ máy vi tính cụ thể nào (ngôn ngữ Pascal) để  diễn   tả thuật toán, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện được  và  giải quyết đúng bài toán mà người lập trình mong muốn. * Kỹ năng lập trình ­ Rèn luyện được cho học sinh kỹ năng cài đặt thành công các thuật toán bằng một  ngôn ngữ  lập trình. ­ Đã gọi là kỹ năng thì chỉ có thể có được thông qua rèn luyện tích cực. ­ Kinh nghiệm cho thấy một thuật toán do sắp đặt vụng về, lộn xộn thì khi chạy   trên máy tính có thể cho kết qủa tồi tệ. * Phát triển chương trình bằng cách tinh chế từng bước Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song  là một giáo viên  thì chúng ta cần giúp  học sinh  viết chương trình làm sao người xem nhìn vào có  thể  dễ  hiểu được bài toán đó là gì ? Do đó việc tinh chỉnh các bước cho bài toán  trong máy tính  là phương pháp khoa học, có hệ  thống giúp ta phân tích các thuật  toán và cấu trúc dữ liệu từ đó thành một chương trình . Muốn lập trình giỏi không  phải chỉ cần nắm ngôn ngữ lập trình là đủ. Mà vấn đề cốt yếu là biết ph ương pháp  phát triển dần dần để chuyển các ý tưởng ra thành chương trình hoàn chỉnh. * Phương pháp tinh chế từng bước
  9. Một chương trình bắt đầu được viết bằng lời tự nhiên (tiếng Việt) thể hiện  sự phân tích tổng thể của người lập trình được thể hiện  Ở  từng bước sau các câu lệnh được phân tích chi tiết hơn, bằng những lời  khác nhau tương ứng với sự phân tích công việc thành các việc nhỏ chi tiết hơn dễ  hiểu và chính xác hơn. Song ngôn ngữ lập trình pascal người lập trình có thể đưa ra  phương pháp tinh chỉnh từng bước là thể hiện tư duy giải quyết vấn đề bài toán từ  trên xuống trong đó các bước là hướng về ngôn ngữ lập trình làm sao cho bài toán đ­ ưa ra được phương pháp lập trình tối ưu, sáng sủa. * Ví dụ Tìm tất cả  các số  nguyên tố  trong các số  nguyên N đư ợc nhập vào từ  bàn  phím a. Tinh chế lần 1  ­ Lấy  2 tập    NT= [ ]  (để chứa các số nguyên tố tìm được)    S = [2,..N] (tập các số cần xét ) ­ Tìm số đầu tiên trong  S đưa vào NT ­ Loại bỏ khỏi S các bội số của số nguyên tố vừa tìm được  ­ Số đầu tiên còn lại của S là số nguyên tố. Tiếp tục quá trình cho đến khi S=[] ­ Xuất NT b. Tinh chế lần 2 Bắt đầu Tìm số đầu tiên trong S   NT: = [ ]   NT:= NT+ [S0]   S = [2,..N] Loại khỏi S các bội số của S0 Repeat Until S=[ ];
  10.  Xuất NT; Kết thúc; c. Tinh chế lấn 3 ( chương trình hoàn chỉnh) Program nguyen_to;      while not (S0 in S) do Const      S0:=S0+1; NT:=NT+[S0];I:=S0;      N=100;      While I
  11.        for j:= 2 to N div i do          write(i:3);        a[i*j]:=false; readln          for i:= 1 to N  do end.          if a[i] then e. Tinh chế lần 5 Trong ngôn ngữ pascal nếu dùng mảng boolean thì ta bị giới hạn N= 2;  end.       for i:= 2 to n do Như vậy. Là kỹ năng lập trình, người lập trình có thể tinh chỉnh chương trình  từng bước làm sao đưa ra một phương án tối ưu cho người xem dễ tiếp thu và đạt  được tốc độ  tính toán cao nhất cũng như  chiếm bộ  nhớ  của máy tính  càng ít càng  tốt. 4. Ch   ạy Thử, thay đổi, kiểm tra chư  ơng trình :     4.1. Chạy thử: Một chương trình đã viết xong chưa chắc đã chạy được trên máy vi tính để  cho kết quả mong muốn.
  12. Ví du 1: Tìm số lớn nhất trong 3 số a,b,c nguyên dương được nhập vào từ bàn phím. Lần 1: Program tim_so;      write('nhap 3  so=');readln(a,b,c); uses crt;      if a
  13. Nếu nhập: Lần nhập A B C Kết quả 1 5 4 7 7 2 5 7 9 9 3 9 3 5 9 Ví dụ 2: Viết chương trình in ra màn hình hình chữ nhật toàn dấu * với chiều dài và  chiều rộng nhập từ bàn phím. Lần 1: Program hcn; Ues crt; Var i, cd,cr:integer; Begin Clrscr; Write(‘ Nhap chieu dai hinh chu nhat’); readln(cd); Write(‘ Nhap chieu rong hinh chu nhat’); readln(cr); For i = 1 to cd*cr do writeln(‘*’); Readln End. Với chương trình này cũng chạy được song kết quả  sai (in ra màn hình một  cột toàn dấu * với chiều dài là diện tích hinh chữ nhật). Với ví dụ trên để kết quả luôn đúng thì ta có thể viết lại chương trình. Lần 2: Program hcn; Var i,j,  cd,cr:integer; Ues crt;
  14. Begin     Begin      Clrscr; for j = 1 to cd do  write(‘*’); Write(‘ Nhap chieu dai hinh chu nhat’);  readln(cd);         Writeln; Write(‘ Nhap chieu rong hinh chu nhat’);      End; readln(cr);  Readln For i = 1 to cr do  End.            4.2.  Phân loại lỗi và cách sửa lỗi: ­ Lỗi về thuật toán: Điều chỉnh lại thuật toán,  thêm vị trí có thể, loại bỏ thuật   toán sai, tìm thuật toán khác nghĩa là làm lại từ đầu. 1 1 1 Ví dụ  1: viết chương trình tính tổng S= 1 ....   (n được nhập vào từ  bàn  2 3 n phím) Học   sinh   viết   chương   trình   khai   báo   biến   S   thuộc   kiểu   dữ   liệu   nguyên  (Integer) thì chương trình sẽ không thực hiện được phép toán tính tổng. Do vậy để  thực hiện được phép toán thì khai báo biến S là thuộc kiểu dữ liệu thực (Real). ­ Lỗi về trình tự: Phải xem lại thuật toán, phân tích lại từ trên xuống dưới để  đặt lại cho đúng với thuật toán. Ví dụ 2: Viết chương trình  giải phương trình bậc nhất ax+b=0 với a,b được nhập  vào từ bàn phím. program ptb1; var    a,b:real; begin   write('nhap cac he so=');readln(a,b);
  15.   if a0 then writeln('phuong trinh vo so nghiem'); else if b=0 then      writeln('phuong trinh co nghiem',­b/a:4:2) else  writeln('phuong trinh vo nghiem') readln end. Với chương trình trên hoàn toàn có thể  chạy được song   kết quả  sẽ  không  đúng khi nhập dữ liệu a, b vào . Do vậy ta phải sắp xếp lại thuật toán  để cho một  kết quả đúng như yêu cầu : program ptb1; var    a,b:real; begin   write('nhap cac he so=');readln(a,b);   if a0 then     if b=0 then      writeln('phuong trinh vo nghiem')     else      writeln('phuong trinh co nghiem',­b/a:4:2)   else      writeln('phuong trinh vo so nghiem');
  16. readln end. ­  Lỗi về cú pháp: viết lại cho đúng cú pháp của ngôn ngữ lập trình mà   mình đang sử dụng. Ví dụ 3: Lỗi sau câu lệnh  ta không sử dụng  dấu chấm phẩy, hay kết thúc chương  trình không có dấu chấm, hay từ khoá BEGIN nếu ta viết BE  GIN thì sẽ không có   nghĩa. 4.3. Kiểm tra: Có nhiều chương trình khó kiểm tra tính đúng đắn, nhất là chương trình tìm  kiếm lời giải tối ưu. Vì  chúng chưa biết kết qủa nào là đúng nhất. Vì vậy việc tìm  lỗi rất là khó khăn. Trong quá trình chạy thử một chương trình ta cần lưu ý: ­ Nếu khởi đầu bằng bộ  chương trình (test)  nhỏ   nhưng các giá trị  đặc biệt  (đây là dễ bị lỗi nhất). ­ Làm nhiều các bộ  test nhưng phải đa dạng tránh lặp đi lặp lại các bộ  test  tương tự. ­ Nên kết thúc bằng các bộ  test có kích thước lớn để kiểm tra tính chịu đựng  của chương trình. 4.4. Thay đổi chương trình:  Một chương trình đã viết xong, đã chạy thử tốt , giải quyết đúng bài toán mà  ta mong muốn nhưng chưa có nghĩa là quá trình lập trình đã xong . Mà người lập  trình muốn nó  ở  đây ta có thể  sửa đổi  nó theo một hướng khác mà nó có thể  đáp  ứng được một yêu cầu mới. Như phần tinh chế  một chương trình là rất quan trọng  cho việc sửa chữa  chương trình cũ sang chương trình mới. Ví dụ: ­ Nhập 3 số a,b,c  kiểm tra xem 3 số đó có thể  là độ  dài của các cạnh một   tam giác hay không. Từ đó ta có thể  chuyển nó sang dạng là các cạnh đó thoã mãn   tam giác cân, đều hay là tính diện tích của tam giác đó. 
  17. ­ Tính tổng cho N số nguyên đầu tiên được nhập vào từ bàn phím. Từ đó ta có thể  triển khai tính giai thừa, tìm số nguyên tố, độ dài của dãy số đó, tính trung bình cộng   cho dãy số…… ­ Nhập vào mảng của dãy số từ bàn phím . Từ đó ta có thể tìm giá trị lớn, nhỏ của  mảng, trung bình độ dài của mảng, điểm của học sinh…. Vậy là một người lập trình   bạn cần nắm  được các tiêu chuẩn của một  chương trình từ giúp bài toán có một kết quả tốt. ­ Tính tin cậy:  có một giải thuật đúng. ­ Tính uyển chuyển: chương trình có thể sửa đổi ­ Tính trong sáng: dễ đọc, dễ hiểu. ­ Tính hữu hiệu: chạy chương trình nhanh và tốn ít dung lượng bộ  nhớ  về  không gian và thời gian.  Tóm lại: Quá trình xây dựng chương trình là một chuỗi các bước tinh chế. Ở mỗi  bước được phân ra nhiều công việc con để từ đó đưa ra được phương pháp tối ưu.  Song người lập trình cần rèn luyện để có ý thức về các quyết định liên quan và biết   khảo sát  nghiêm túc cũng như từ  bỏ  các lời giải ngay cả khi chúng đúng. Mà cần   phải cân nhắc mọi phương tiện của từng lời giải theo một tiêu chuẩn. * Khả năng áp dụng ­ Đề tài này có thể vận dụng cho tất cả học sinh mới bắt đầu làm quen ngôn  ngữ lập trình Pascal. * Lợi ích kinh tế ­ xã hội ­ Trong quá trình giảng dạy tôi đã áp dụng sáng kiến nêu trên, qua khảo sát  thực tế của học sinh, tôi đã thấy chất lượng bộ môn đạt kết quả cao. ­ Học sinh rất hứng thú học môn Tin học nhất là tiết thực hành. ­ Rèn luyện cho học sinh tính tư duy, tính sáng tạo trong quá trình lập trình. C. KẾT LUẬN
  18. ­ Để  đưa ra một phương pháp tối ưu cho một bài toán không đơn giản . Bởi  một bài toán chúng ta có thể đưa ra nhiều phương pháp giải khác nhau. Song trong  lập trình người giải không sử dụng đúng cách giải thì một bài toán lại đi ngược lại   và  cho các kết quả khác nhau. Điều đó chứng tỏ cho thấy ngư ời lập trình  cần phải  nắm được các bước giải bài toán trong lập trình. ­ Bài toán cho kết quả sai là do nhiều nguyên nhân mà tôi đã trình bày ở phần trước   như: + Chọn kiểu dữ liệu sai + Viết kết quả in ra ở dạng có quy cách và không quy cách + Phép gán sai  ví dụ như bài toán tính tổng ban đầu ta phải gán S:=0; nếu gán  S:= 1; thì cho kết quả sai. Hay Bài toán tính tích thì phép gán phải ngược trở lại ban  đầu S:=1; ­ Vậy để  giải quyết được bài toán trên máy tính điện tử  sử  dụng ngôn ngữ  lập trình pascal nói chung và của lớp 8 nói riêng. Để nâng cao chất lượng dạy học   tin  ở  các trường thcs và là một giáo viên tin học tôi muốn nói rằng chúng ta không  chỉ  dạy lý thuyết suông mà cần phải biết kết hợp thực hành . Để  từ  đó học sinh   mới nhận thấy được  ưu điểm của việc học chương trình này có lợi hơn  ở  điểm  nào. ­ Tóm lại đây là chương trình học khá mới mẻ, các bài toán đưa ra để  xây  dựng một chương trình chưa có gì lạ  phức tạp. Bởi có nhiều bài hay thì học sinh   lớp 8 chưa học đến. Cho nên giáo viên cần phải nắm chắc các phương pháp để  truyền đạt. Đồng thời cũng phối hợp chương trình toán đã học đến những phần nào  để từ đó đưa ra các ví dụ, bài tập để học sinh có thể nắm chắc lý thuyết cũng như  thực hành trên máy tính dễ  tiếp thu. Và để  từ  đó các em rút ra được  ưu điểm của  các chương trình này so với cách tính tay ở chỗ nào.  Đề xuất: ­ Tôi mong  ước rằng trong tương lai, phòng máy vi tính sẽ  được mở  rộng,   đảm bảo số  lượng máy tính tạo điều kiện cho các em học sinh được thực hành  nhiều hơn. Vì có như  vậy chất lượng dạy và học của giáo viên và học sinh mỗi  ngày đạt chất lượng cao hơn.
  19. ­ Trên đây là một số biện pháp mà tôi đã áp dụng vào dạy tin học khối 8. Tuy  đã được đúc rút từ  kinh nghiệm giảng dạy thực tế  và đã cho kết quả  khả  quan.   Nhưng trong quá trình thực hiện bài viết này sẽ  không tránh khỏi những thiếu sót.   Rất mong nhận được sự góp ý bổ ích của các thầy cô giáo và các bạn đồng nghiệp   để bài viết được hoàn thiện hơn./. Xin cảm ơn!
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2