1. Trang chủ
  2. » Tất cả

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

35 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 0,99 MB

Nội dung

SỞ GIÁO DỤC VÀ ĐÀO TẠO VĨNH PHÚC TRƯỜNG THPT YÊN LẠC -  - BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN 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 : NGUYỄN THỊ NỤ Mã sáng kiến: 28.62.02 Vĩnh Phúc, năm 2020 Trang skkn DANH MỤC CÁC CHỮ VIẾT TẮT THPT: Trung học phổ thông HSG: Học sinh giỏi HS: Học sinh SKKN: Sáng kiến kinh nghiệm NXB: Nhà xuất SGK: Sách giáo khoa Trang skkn MỤC LỤC LỜI GIỚI THIỆU TÊN SÁNG KIẾN .1 TÁC GIẢ SÁNG KIẾN CHỦ ĐẦU TƯ SÁNG TẠO RA SÁNG KIẾN LĨNH VỰC ÁP DỤNG SÁNG KIẾN .1 NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN 7.1 Tổng quan 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 .2 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 không gian phương pháp nghiên cứu 7.2 Phần nội dung .3 7.2.1 Cơ sở lý luận 7.2.2 Cơ sở thực tiễn .3 7.2.3 Nội dung cụ thể I Lặp .3 II Lặp với số lần biết trước câu lệnh FOR – DO Cú pháp hoạt động câu lệnh For – Một số ví dụ III Lặp với số lần chưa biết trước 16 IV Cú pháp hoạt động lệnh lặp với số lần chưa biết trước 16 a Câu lệnh While – 16 b Câu lệnh lặp repeat_until .16 Một số ví dụ 18 Bài tập áp dụng .23 7.3 Khả áp dụng sáng kiến 24 NHỮNG THÔNG TIN CẦN BẢO MẬT .24 CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN .24 10 LỢI ÍCH THU ĐƯỢC .24 11 DANH SÁCH TỔ CHỨC, CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG SÁNG KIẾN 29 KẾT LUẬN 30 TÀI LIỆU THAM KHẢO 31 Trang skkn Trang skkn 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 yếu tố quan trọng khơng thể thiếu trương trình “việc điều khiển”, cụ thể cấu trúc điều khiển, thành tố kết hợp đồng thời liệu tác vụ Cấu trúc điều khiển đặc trưng 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 chương trình Mọi vấn đề logic giải cách sử dụng linh hoạt ba cấu trúc điều khiển là:  Cấu trúc  Cấu trúc rẽ nhánh  Cấu trúc lặp Trong chương trình tin học lớp 11, em học sinh làm quen với lập trình có cấu trúc có cấu trúc lặp trình học tập rèn luyện học sinh gặp phải số khó khăn lập trình, chưa biết cách tối ưu hóa thuật tốn, chí cịn mắc sai lầm lập trình giải tốn có sử dụng cấu trúc lặp Vì lý tơi chọn đề tài “Rèn luyện kĩ sử dụng cấu trúc lặp lập trình Pascal cho học sinh lớp 11” nhằm cung cấp cho học sinh kiến thức khái quát cấu trúc lặp rèn luyện kỹ lập trình cho học sinh thơng qua số tốn cụ thể TÊN SÁNG KIẾN “Rèn luyện kĩ sử dụng cấu trúc lặp 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 – 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 Yên Lạc – Huyện Yên Lạc – Tỉnh Vĩnh Phúc LĨNH VỰC ÁP DỤNG SÁNG KIẾN Rèn luyện kĩ sử dụng cấu trúc lặp lập trình Pascal giảng dạy mơn Tin học lớp 11 bồi dưỡng học sinh tham gia kì thi chọn học sinh giỏi cấp môn Tin học Trang skkn 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 vấn đề nghiên cứu 7.1.1 Mục đích nghiên cứu Góp phần đổ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 sáng tạo học sinh giúp học sinh tiếp thu tri thức cách có hiệu 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 cách khoa học, củng cố khắc sâu kiến thức Qua đề tài mong muốn cung cấp cho học sinh vấn đề mà em gặp phải kĩ sử dụng cấu trúc lặp lập trình giúp em chủ động học tập, tích luỹ kiến thức, kỹ lập trình 7.1.2 Bản chất đối tượng nghiên cứu Đưa hệ thống lý thuyết cấu trúc lặp ứng dụng cấu trúc lặp giải tập ngôn ngữ lập trình Pascal giúp học sinh lĩnh hội tri thức, giúp em tích cực, chủ động tích lũy kiến thức Qua đó, học sinh phát triển tư logic thông qua hệ thống tập giúp em rèn luyện tính tự giác, tính kỉ luật, thói quen tự học đức tính rèn luyện tốt 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 lập trình Phạm vi: Các vấn đề cấu trúc lặp chương trình tin học lập trình 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 Cách thực Trao đổi với đồng nghiệp, tham khảo ý kiến giáo viên môn Liên hệ thực tế nhà trường, áp dụng đúc rút kinh nghiệm qua 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 học sinh tham gia thi chọn học sinh giỏi môn Tin học khối 10 trường THPT Yên Lạc năm học 2019 -2020 7.1.5 Giới hạn không gian phương pháp nghiên cứu Trang skkn Đề tài đề cập với đồng nghiệp thực nghiệm sư phạm qua em học sinh lớp 11A2 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 suốt trình giảng dạy thực nghiệm đề tài 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à ba cấu trúc lập trình có cấu trúc Tuy nhiên trước tốn lập trình tin học có thao tác lặp lặp lại nhiều học sinh thường lúng túng, nên lựa chọn sử dụng câu lệnh lặp cho phù hợp với yêu cầu tốn tối ưu hóa thuật tốn? Một số học sinh khá, giỏi sử dụng cấu trúc lặp để mô tả đa số chưa biết tối ưu hóa thuật tốn để giảm số lần lặp điều gây tâm lý chán nản cho em Với tình hình để giúp học sinh có kĩ tốt việc sử dụng cấu trúc lặp để mơ tả thuật tốn, người giáo viên cần tăng cường rèn luyện cho học sinh kĩ sử dụng cấu trúc lặp từ các toán quen thuộc mà em biết, khai thác yếu tố đặc trưng số toán để tìm thuật tốn cho tốn mới, dựa vào đặc điểm cụ thể toán để tối ưu hóa thuật tốn Việc rèn luyện kĩ lập trình cho học sinh từ tốn để xây dựng thuật toán cho toán tương tự toán mở rộng từ tốn q trình giúp học sinh rèn luyện kỹ lập trình 7.2.2 Cơ sở thực tiễn Trường THPT Yên lạc trường vùng nông thôn nằm chân đê dải sơng Hồng nên đa số học sinh chưa có hội, điều kiện tiếp xúc với công nghệ máy tính Vì vậy, tin học mơn học tương đối lạ lẫm khó học sinh trường tơi Đặc biệt chương trình tin học 11, với em học lập trình cịn khó học tốn, lí, hóa, điều kiện sở vật chất trường cịn nhiều khó khăn, học sinh học khóa lớp nhà lại khơng có máy tính để thực hành Điều dẫn đến ý thức tự giác học sinh chưa cao, đặc biệt em học để thi học sinh giỏi lại khó Với đội tuyển học sinh giỏi 10, hầu hết em chưa có kiến thức liên quan đến lập trình, gia đình chưa có máy tính để em thực hành Vì giáo viên dạy đội tuyển phải bắt đầu rèn luyện cho em từ câu lệnh Cơ sở giúp áp dụng đề tài rèn luyện kĩ sử dụng cấu trúc lặp lập trình Pascal giảng dạy cho học sinh khối 11 áp dụng cho học sinh tham dự kì thi chọn học sinh giỏi Tin học 10 trường THPT Yên Lạc 7.2.3 Nội dung cụ thể Tất nội dung, ví dụ, tập đề tài xây dựng ngơn ngữ lập trình Pascal Trang skkn I Lặp Xét toán sau đây: Bài tốn 1: Tính đưa kết hình tổng S = 1+2+3+…+100 Bài tốn 2: Tính đưa kết hình tổng S = 1+2+3+ +n+… S > 105 Vớ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 gán giá trị 0;  Tiếp theo công vào tổng S giá trị i với i = 1,2,3,4,5,… Việc cộng lặp lại số lần Đối với toán 1, số lần lặp 100 việc cộng vào tổng S kết thúc thực cồn việc 100 lần Đối với toán 2, số lần lặp chưa biết trước việc cộng vào tổng S kết thúc điều kiện S > 105 thỏa mãn Nói chung, ta thấy số thuật tốn có thao tác phải lặp lặp lại nhiều lần Cấu trúc lặp mô tả thao tác lặp phân biệt loại lặp với số lần biết trước lặp với số lần chưa biết trước Các ngơn ngữ lập trình có câu lệnh để mô tả cấu trúc lặp II Lặp với số lần biết trước câu lệnh FOR – DO Cú pháp hoạt động câu lệnh For – Có thuật tốn tong1a tong1b để giải toán sau: Thuật toán tong1a Bước 1: S ← 0; i ← 0; Bước 2: i ← i+1; Bước 3: Nếu i < chuyển đến bước 5; Bước 4: S ← S+i quay lại bước 2; Bước 5: Đưa S hình kết thúc Thuật tốn tong1b Bước 1: S ← 0; i ← 101; Bước 2: i ← i-1; Bước 3: Nếu i > 100 chuyển đến bước 5; Bước 4: S ← S+i quay lại bước 2; Bước 5: Đưa S hình kết thúc Trong thuật toán tong1a, giá trị i bắt đầu tham gia vòng lặp sau lần lặp i tăng lên đơn vị i > 100 kết thúc lặp (thực 100 lần) Trong thuật toán tong1b giá trị i bắt đầu tham gia vòng lặp 100 sau lần lặp giảm Trang skkn i < kết thúc lặp (thực 100 lần) Cách lặp thuật toán tong1a gọi dạng lặp tiến thuật toán tong1b dạng lặp lùi Trong Pascal, cấu trúc lặp với số lần biết trước ứng với dạng lặp tiến lặp lùi mô tả với cú pháp sau:  Dạng lặp tiến: For := to ;  Dạng lùi: For := downto ; Trong đó: + Biến đếm biến đơn thường có kiểu ngun kiểu kí tự; + , biểu thức kiểu với biến đếm, phải nhỏ Nếu lớn vịng lặp khơng thực Hoạt động: + Ở dạng lặp tiến: câu lệnh viết sau từ khóa thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ đến ; + Ở dạng lặp lùi: câu lệnh viết sau từ khóa thực tuần tự, với biến đếm nhận giá trị lien tiếp giảm từ đến Chú ý: + Giá trị biến đếm điều khiển tự động câu lệnh sau khơng thay đổi giá trị biến đếm; + Không giống với ngôn ngữ khác pascal không kiểm tra > câu lệnh for –to-do để kết thúc vòng lặp mà kiểm tra = để thực lần lặp cuối Vì lẽ việc can thiệp vào biến đếm gây cố “vịng lặp vơ tận” Ngay biến duyệt hết phạm vi kiể liệu biến lại quay lại giá trị thứ lại tiếp tục… trừ gõ CTRL+ Break; + Trong câu lệnh for , tính từ bắt đầu vịng lặp để tính số lần lặp, nên vịng lặp dù có câu lệnh thay đổi , số lần lặp khơng thay đổi Sử dụng cấu trúc lặp dạng tiến dạng lùi để mơ tả q trình lặp thuật tốn tong1a tong1b chương trình cài đặt sau: Program tong1a; Var S, i: longint; Begin S:=0; Trang skkn For i:= to 100 S:= S+i; Write (‘Tong S la: ‘, S); Readln; End Program tong1b; Var S, i: longint; Begin S:=0; For i:= 100 downto S:= S+i; Write (‘Tong S la: ‘, S); Readln; End Một số ví dụ Ví dụ 1: Viết chương trình in số lẻ nhỏ n (0105 chuyển đến b5 B3: i ← i+1 B4: s = s+i, quay lại b2 B5: Đưa S 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 in số bé n nên in cần thêm lệnh kiểm tra b Code tham khảo Program Fi_Bo_na_xi; Var n, F_2,F_1, F: Longint; Begin Trang skkn Write('Nhap n: ');Readln(n); F_1:=1; F_2:=1; Write(F_2,';',F_1,';'); Repeat F:=F_2+F_1; if F< n then Write(F,';'); F_2:=F_1; F_1:=F; Until F>n; R eadln; End Ví dụ 15: Viết chương trình sử dụng vịng lặp while – tính tổng: S=1 + +…+100 a b Ý tưởng Khởi tạo i=1 Sử dụng vòng lặp while – với điều kiện i100; Write(‘S= ‘,s); Readln End c Nhận xét Cả for - do, while - do, repeat – until lệnh lặp, for- dùng cho trường hợp lặp với số lần biết trước, while – do, repeat - until, tổng quát hơn, dùng cho vòng lặp, thường sử dụng cho trường hợp lặp với số lần chưa biết trước Ví dụ 17: Viết chương trình in số lẻ nhỏ số nguyên dương n (0

Ngày đăng: 13/02/2023, 09:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w