SKKN: Rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal cho học sinh lớp 11

37 38 0
SKKN: Rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal cho học sinh lớp 11

Đ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

Đề tài “Rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal cho học sinh lớp 11” nhằm cung cấp cho học sinh những kiến thức khái quát hơn về cấu trúc lặp và rèn luyện kỹ năng lập trình cho học sinh thông qua một số bài toán cụ thể.

Trang 1                                                     DANH MỤC CÁC CHỮ VIẾT TẮT 1.        THPT: Trung học phổ thông  2.        HSG: Học sinh giỏi  3.        HS: Học sinh  4.        SKKN: Sáng kiến kinh nghiệm  5.       NXB: Nhà xuất bản 6.        SGK: Sách giáo khoa Trang 2    MỤC LỤC Trang 3 BÁO CÁO KẾT QUẢ  NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN  LỜI GIỚI THIỆU  Một trong những yếu tố  quan trọng và khơng thể  thiếu của một trương trình là  “việc điều khiển”, cụ thể là các cấu trúc điều khiển, cũng là thành tố kết hợp đồng   thời giữa dữ liệu và tác vụ. Cấu trúc điều khiển là một trong các đặc trưng cơ bản  của phương pháp lập trình cấu trúc. Trong đó người ta sử  dụng ba cấu trúc điều  khiển để tạo nên logic của chương trình. Mọi vấn đề về logic đều được giải quyết  bằng cách sử dụng linh hoạt ba cấu trúc điều khiển là: Cấu trúc tuần tự Cấu trúc rẽ nhánh Cấu trúc lặp Trong chương trình tin học lớp 11, các em học sinh đã được làm quen với lập trình   có cấu trúc trong đó có cấu trúc lặp nhưng trong q trình học tập và rèn luyện học   sinh vẫn gặp phải một số khó khăn trong lập trình, chưa biết cách tối ưu hóa thuật  tốn, thậm chí cịn mắc sai lầm khi lập trình giải các bài tốn có sử  dụng cấu trúc  lặp. Vì những lý do trên tơi chọn đề  tài “Rèn luyện kĩ năng sử  dụng cấu trúc lặp   trong lập trình Pascal cho học sinh lớp 11” nhằm cung cấp cho học sinh những kiến   thức khái qt hơn về  cấu trúc lặp và rèn luyện kỹ  năng lập trình cho học sinh   thơng qua một số bài tốn cụ thể.  TÊN SÁNG KIẾN  “Rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal cho học sinh lớp   11”  TÁC GIẢ SÁNG KIẾN ­ Họ tên: Nguyễn Thị Nụ ­ Địa chỉ: Trường THPT Yên Lạc 2 – Huyện Yên Lạc – Tỉnh Vĩnh Phúc ­ Số điện thoại: 0965170380 ­ E_mail: nunguyen1101@gmail.com CHỦ ĐẦU TƯ SÁNG TẠO RA SÁNG KIẾN ­ Họ tên: Nguyễn Thị Nụ ­ Trình độ chun mơn: Cử nhân Tin Học ­ Đơn vị cơng tác: Trường THPT n Lạc 2 – Huyện n Lạc – Tỉnh Vĩnh Phúc Trang 4    LĨNH VỰC ÁP DỤNG SÁNG KIẾN  Rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal giảng dạy mơn   Tin học lớp 11 và bồi dưỡng học sinh tham gia kì thi chọn học sinh giỏi các cấp   mơn Tin học.  NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG  Từ ngày 01/08/2019  MƠ TẢ BẢN CHẤT CỦA SÁNG KIẾN  7.1 Tổng quan các vấn đề nghiên cứu  7.1.1 Mục đích nghiên cứu  Góp phần đổi mới phương pháp dạy học sinh giỏi mơn Tin học theo hướng  phát huy tính tích cực, chủ động và sáng tạo của học sinh giúp học sinh tiếp thu tri   thức một cách có hiệu quả.  Góp phần gây hứng thú học tập mơn Tin học cho học sinh tham gia thi chọn   học sinh giỏi, tránh việc học thụ động, học vẹt. Giúp học sinh lĩnh hội tri thức một  cách khoa học, củng cố và khắc sâu kiến thức.  Qua đề  tài này tơi mong muốn cung cấp cho học sinh một những vấn đề  mà  các em đang gặp phải về kĩ năng sử dụng cấu trúc lặp trong khi lập trình giúp các   em chủ động hơn trong học tập, tích luỹ kiến thức, kỹ năng lập trình.  7.1.2 Bản chất đối tượng nghiên cứu  Đưa ra hệ thống lý thuyết về cấu trúc lặp và ứng dụng cấu trúc lặp giải các   bài tập trong ngơn ngữ  lập trình Pascal giúp học sinh lĩnh hội tri thức, giúp các em   tích cực, chủ động tích lũy kiến thức. Qua đó, học sinh phát triển được tư duy logic  thơng qua hệ thống bài tập giúp các em rèn luyện được tính tự giác, tính kỉ luật, thói  quen tự học đó là những đức tính rèn luyện tốt của học sinh.  7.1.3 Đối tượng, phạm vi nghiên cứu  ­ Đối tượng: Cấu trúc lặp trong lập trình   ­ Phạm vi:  Các vấn đề  về  cấu trúc lặp trong chương trình tin học lập trình trên  ngơn ngữ Pascal.  7.1.4 Phương pháp nghiên cứu  Phương pháp    Nghiên cứu lí luận chung.    Khảo sát điều tra thực tế dạy học.    Tổng hợp đúc rút kinh nghiệm.  Trang 5    Cách thực hiện    Trao đổi với đồng nghiệp, tham khảo ý kiến giáo viên cùng bộ  mơn. Liên hệ  thực tế trong nhà trường, áp dụng và đúc rút kinh nghiệm qua q trình giảng dạy.  Thơng qua việc giảng dạy trực tiếp học sinh lớp 11 và học sinh tham gia thi chọn   học sinh giỏi mơn Tin học khối 10 tại trường THPT n Lạc 2 năm học 2019 ­2020 7.1.5 Giới hạn về khơng gian của phương pháp nghiên cứu  Đề tài được đề cập với đồng nghiệp và thực nghiệm sư phạm qua các em học   sinh lớp 11A2 và các em học sinh tham gia dự kì thi chọn học sinh giỏi mơn Tin học   lớp 10 năm học 2019­2020 7.1.6 Phạm vi nghiên cứu  Tơi đã nghiên cứu đề tài này trong suốt q trình giảng dạy và thực nghiệm đề  tài này trong  năm học 2019­2020 7.2 Phần nội dung  7.2.1 Cơ sở lý luận  Cấu trúc lặp là là một trong ba cấu trúc cơ bản trong lập trình có cấu trúc. Tuy  nhiên trước một bài tốn lập trình tin học có các thao tác lặp đi lặp lại nhiều học  sinh thường lúng túng, khơng biết nên lựa chọn và sử  dụng câu lệnh lặp nào cho   phù hợp với u cầu bài tốn và tối ưu hóa thuật tốn? Một số học sinh khá, giỏi có  thể sử dụng cấu trúc lặp để mơ tả nhưng đa số chưa biết tối ưu hóa thuật tốn để  giảm số  lần lặp và điều đó gây tâm lý chán nản cho các em. Với tình hình  ấy để  giúp học sinh có kĩ năng tốt hơn trong việc sử  dụng cấu trúc lặp để  mơ tả  thuật  tốn, thì người giáo viên cần tăng cường rèn luyện cho học sinh kĩ năng sử   dụng  cấu trúc lặp từ các các bài tốn cơ bản quen thuộc mà các em đã biết, khai thác các  yếu tố đặc trưng của một số bài tốn cơ bản để tìm thuật tốn cho các bài tốn mới,   dựa vào đặc điểm cụ thể của từng bài tốn để tối ưu hóa thuật tốn. Việc rèn luyện   kĩ năng lập trình cho học sinh từ những bài tốn cơ bản để xây dựng thuật tốn cho   các bài tốn tương tự  hoặc các bài tốn mở  rộng từ  các bài tốn cơ  bản đó là một   q trình giúp học sinh rèn luyện kỹ năng lập trình.  7.2.2 Cơ sở thực tiễn  Trường THPT n lạc 2 là ngơi trường   vùng nơng thơn nằm dưới chân đê  dải sơng Hồng nên đa số học sinh chưa có cơ hội, điều kiện tiếp xúc với cơng nghệ  và máy tính. Vì vậy, tin học là một mơn học tương đối lạ  lẫm và khó đối với học   sinh trường tơi. Đặc biệt là chương trình tin học 11, với các em học lập trình cịn   khó hơn học tốn, lí, hóa,   vì điều kiện cơ  sở  vật chất của trường cịn nhiều khó  khăn, học sinh chỉ  học chính khóa trên lớp về  nhà lại khơng có máy tính để  thực  Trang 6    hành. Điều này dẫn đến ý thức tự  giác của học sinh chưa cao, đặc biệt là các em   học để  thi học sinh giỏi lại càng khó. Với đội tuyển học sinh giỏi 10, hầu hết các   em đều chưa có bất kì kiến thức cơ bản nào liên quan đến lập trình, gia đình chưa   có máy tính để các em thực hành. Vì vậy giáo viên dạy đội tuyển phải bắt đầu rèn  luyện cho các em từ những câu lệnh cơ bản nhất. Cơ sở trên đã giúp tơi áp dụng đề  tài rèn luyện kĩ năng sử dụng cấu trúc lặp trong lập trình Pascal giảng dạy cho học   sinh khối 11 và áp dụng cho học sinh tham dự kì thi chọn học sinh giỏi Tin học 10  tại trường THPT n Lạc 2.  7.2.3 Nội dung cụ thể  Tất cả  các nội dung, các ví dụ, bài tập trong đề  tài này được xây dựng trên   ngơn ngữ lập trình Pascal  Lặp Xét 2 bài tốn sau đây: Bài tốn 1: Tính và đưa kết quả ra màn hình tổng            S = 1+2+3+…+100 Bài tốn 2: Tính và đưa kết quả ra màn hình tổng            S = 1+2+3+ +n+… cho đến khi S > 105 Với cả 2 bài tốn trên, dễ thấy cách để tính tổng S có nhiều điểm tương tự: Xuất phát, S được gán giá trị 0; Tiếp theo cơng vào tổng S một giá trị i với i = 1,2,3,4,5,… Việc cộng này được lặp lại một số lần Đối với bài tốn 1, số  lần lặp là 100 và việc cộng vào tổng S sẽ  kết thúc khi   thực hiện cồn việc 100 lần Đối với bài tốn 2, số lần lặp chưa biết trước nhưng việc cộng vào tổng S sẽ  kết thúc khi điều kiện S > 105 được thỏa mãn Nói chung, ta thấy trong một số thuật tốn có những thao tác phải lặp đi lặp lại  nhiều lần. Cấu trúc lặp mơ tả thao tác lặp được phân biệt 2 loại là lặp với số lần   biết trước và lặp với số lần chưa biết trước Các ngơn ngữ lập trình đều có các câu lệnh để mơ tả cấu trúc lặp Lặp với số lần biết trước và câu lệnh FOR – DO 10 Cú pháp và hoạt động của câu lệnh For – do Có 2 thuật tốn tong1a và tong1b để giải bài tốn 1 như sau: Thuật tốn tong1a Bước 1: S ← 0; i ← 0; Trang 7    Bước 2: i ← i+1; Bước 3: Nếu i  100 thì chuyển đến bước 5; Bước 4: S ← S+i rồi quay lại bước 2; Bước 5: Đưa S ra màn hình rồi kết thúc Trong thuật tốn tong1a, giá trị i khi bắt đầu tham gia vịng lặp là 1 và sau mỗi lần   lặp i tăng lên 1 đơn vị cho đến khi i > 100 thì kết thúc lặp (thực hiện 100 lần). Trong   thuật tốn tong1b giá trị  i khi bắt đầu tham gia vịng lặp là 100 và sau mỗi lần lặp   giảm đi 1 cho đến khi i   trong câu lệnh for –to­do để  kết thúc vịng lặp mà kiểm tra   =    để  thực hiện lần lặp cuối cùng. Vì lẽ  đó việc can thiệp vào biến   đếm có thể gây ra sự cố “vịng lặp vơ tận”. Ngay cả khi biến đã duyệt hết phạm vi   của kiể  dữ  liệu thì biến lại quay lại giá trị  0 và mọi thứ  lại tiếp tục… trừ  khi gõ   CTRL+ Break; + Trong câu lệnh for  ,  được tính  từ khi bắt đầu vịng  lặp để tính số  lần lặp, nên trong vịng lặp dù có câu lệnh thay đổi  ,    thì số lần lặp vẫn khơng thay đổi Sử  dụng cấu trúc lặp dạng tiến và dạng lùi như  trên để  mơ tả  q trình lặp trong  thuật tốn tong1a và tong1b chương trình có thể được cài đặt như sau: Program tong1a; Var S, i: longint; Begin           S:=0;           For i:= 1 to 100 do                          S:= S+i;            Write (‘Tong S la: ‘, S);            Readln; End Program tong1b; Var S, i: longint; Begin           S:=0;           For i:= 100 downto 1 do                          S:= S+i;            Write (‘Tong S la: ‘, S);            Readln; Trang 9    End 11 Một số ví dụ Ví dụ 1:  Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n (0105 thì chuyển đến b5 B3: i ← i+1 B4: s = s+i, rồi quay lại b2 B5: Đưa ra S rồi kết thúc b. Code tham khảo Var      i, s: longint; Begin           S:=0;           i:=1;           While s= n ­ Do yêu cầu chỉ in các số bé hơn n nên khi in cần thêm một lệnh kiểm tra b. Code tham khảo Program Fi_Bo_na_xi; Trang 25    Var n, F_2,F_1, F: Longint; Begin          Write('Nhap n: ');Readln(n);           F_1:=1; F_2:=1;           Write(F_2,';',F_1,';');           Repeat           F:=F_2+F_1;           if Fn;             R eadln; End     Ví dụ 15:          Viết chương trình sử dụng vịng lặp while – do tính tổng:                                                     S=1 + 2 +…+100  a Ý tưởng ­ Khởi tạo i=1 ­ Sử dụng vịng lặp while – do với điều kiện i100;           Write(‘S= ‘,s);           Readln End c Nhận xét Cả for ­ do, while ­ do, repeat – until đều là lệnh lặp, nhưng for­ do chỉ dùng  được cho trường hợp lặp với số lần biết trước, while – do, repeat ­ until, tổng qt  hơn, có thể dùng cho mọi vịng lặp, nhưng thường sử dụng cho các trường hợp lặp   với số lần chưa biết trước Trang 27    Ví dụ 17: Viết   chương  trình   in       số   lẻ   nhỏ   hơn    bằng  số   nguyên  dương   n  (0

Ngày đăng: 30/10/2020, 04:58

Từ khóa liên quan

Mục lục

  • 1. LỜI GIỚI THIỆU

    • 2. TÊN SÁNG KIẾN

      • 3. TÁC GIẢ SÁNG KIẾN

        • 4. CHỦ ĐẦU TƯ SÁNG TẠO RA SÁNG KIẾN

          • 5. LĨNH VỰC ÁP DỤNG SÁNG KIẾN

            • 6. NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG

              • 7. MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN

                • 7.1. Tổng quan các vấn đề nghiên cứu

                  • 7.1.1. Mục đích nghiên cứu

                  • 7.1.2. Bản chất đối tượng nghiên cứu

                  • 7.1.3. Đối tượng, phạm vi nghiên cứu

                  • 7.1.4. Phương pháp nghiên cứu

                  • 7.1.5. Giới hạn về không gian của phương pháp nghiên cứu

                  • 7.1.6. Phạm vi nghiên cứu

                • 7.2. Phần nội dung

                  • 7.2.1. Cơ sở lý luận

                  • 7.2.2. Cơ sở thực tiễn

                  • 7.2.3. Nội dung cụ thể

                • 8. Lặp

                  • 9. Lặp với số lần biết trước và câu lệnh FOR – DO

                    • 10. Cú pháp và hoạt động của câu lệnh For – do

                    • 11. Một số ví dụ

                    • 12. Lặp với số lần chưa biết trước

                      • 1. Cú pháp và hoạt động của lệnh lặp với số lần chưa biết trước

                      • 13. Câu lệnh While – do

                        • 14. Câu lệnh lặp repeat_until

                          • 15. Một số ví dụ

                          • 16. Bài tập áp dụng

                            • 16.1. Khả năng áp dụng của sáng kiến

                            • 17. NHỮNG THÔNG TIN CẦN BẢO MẬT

                              • 18. CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN

                                • 19. LỢI ÍCH THU ĐƯỢC

                                  • 20. DANH SÁCH TỔ CHỨC, CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG SÁNG KIẾN

                                    • KẾT LUẬN

                                    • TÀI LIỆU THAM KHẢO

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

  • Đang cập nhật ...

Tài liệu liên quan