RÈN LUYỆN kỹ NĂNG VIẾT CHƢƠNG TRÌNH CON THÔNG QUA các TIẾT bài tập và THỰC HÀNH

18 9 0
RÈN LUYỆN kỹ NĂNG VIẾT CHƢƠNG TRÌNH CON THÔNG QUA các TIẾT bài tập và THỰC HÀNH

Đ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

SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI TRƢỜNG THPT LƢU HOÀNG - SÁNG KIẾN KINH NGHIỆM TÊN ĐỀ TÀI “RÈN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON THƠNG QUA CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH” Lĩnh vực/Môn : Tin Học Cấp học : THPT Tác Giả : Nguyễn Thị Mỹ Hạnh Đơn vị cơng tác : Trƣờng THPT Lƣu Hồng-Ứng Hịa-Hà Nội Chức vụ : Tổ trƣởng chun mơn NĂM HỌC 2020-2021 MỤC LỤC PHẦN I : ĐẶT VẤN ĐỀ I.1 LÝ DO CHỌN ĐỀ TÀI I.2 MỤC ĐÍCH NGHIÊN CỨU Tên đề tài : “ RÈN LUYỆN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON THƠNG QUA CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH ” I.3 ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU VÀ THỜI GIAN THỰC HIỆN ĐỀ TÀI I.4 QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI I.4.1 Tình hình thực tế trƣớc thực đề tài I.4.2 Số liệu điều tra trƣớc thực đề tài PHẦN 2: GIẢI QUYẾT VẤN ĐỀ II.1 HỆ THỐNG KIẾN THỨC VỀ CHƢƠNG TRÌNH CON II.2 CÁC LỖI CỦA HỌC SINH THƢỜNG MẮC VÀ CÁCH KHẮC PHỤC II.3 KHAI THÁC MỘT SỐ THUẬT TOÁN SỬ DỤNG CHƢƠNG TRÌNH CON II.2.1 Hàm tìm ƣớc số chung lớn hai số nguyên dƣơng M N II.2.2 Hàm tìm giá trị nhỏ hai số nguyên a b 13 II KẾT QUẢ ÁP DỤNG ĐỀ TÀI 14 PHẦN III : KẾT LUẬN VÀ KIẾN NGHỊ 15 III.1 KẾT LUẬN 15 III.2 KIẾN NGHỊ 15 Trang 1/15 - - - - PHẦN I : ĐẶT VẤN ĐỀ I.1 LÝ DO CHỌN ĐỀ TÀI Thực công văn số 3147/SGDĐT việc hƣớng dẫn nhiệm vụ năm học 2020-2021 hƣớng dẫn hoạt động chuyên môn môn Tin học cấp THPT Sở Giáo dục - Đào tạo Hà Nội Thực hiệu chƣơng trình giáo dục phổ thơng hành theo định hƣớng phát triền phẩm chất lực cho học sinh Với tình hình thực tế giảng dạy mơn Tin trƣờng THPT Lƣu Hoàng, kế hoạch giảng dạy môn xây dựng giành cho tiết tập thực hành tƣơng đối nhiều.Việc củng cố kiến thức thông thông qua hệ thống tiết tập cách hiệu cần thiết Nội dung cách viết sử dụng chƣơng trình cịn học khó nhiều em học sinh khối 11 nhiều học sinh yếu kiến thức mặt Tốn học khơng hứng thú với việc học mơn Tin Tơi tìm giải pháp khắc phục, giúp cho học sinh tiếp thu đƣợc kiến thức thông qua giải nhiệm vụ học tập đặt học, khai thác ví dụ học nhằm củng cố kiến thức cho em thông qua tiết tập thực hành Việc chuyển giao nhiệm vụ cho học sinh nhằm mục đích phát huy chủ động sáng tạo học sinh, tăng cƣờng tính giao lƣu, hợp tác thúc đẩy học sinh hứng thú học tập, lí tơi chọn đề tài I.2 MỤC ĐÍCH NGHIÊN CỨU Tên đề tài : “ RÈN LUYỆN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON THÔNG QUA CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH ” Đề tài chủ yếu tập trung vào nghiên cứu khắc phục sai lầm mà học sinh thƣờng mắc phải Khai thác ví dụ sách giáo khoa nhằm khắc sâu kiến thức chƣơng trình nhƣ vai trị ý nghĩa chƣơng trình Phát triển tƣ lập trình cho học sinh, giải vấn đề khoa học nhƣ sống, thông qua tiết tập thực hành tạo hứng thú học tập cho em học sinh I.3 ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU VÀ THỜI GIAN THỰC HIỆN ĐỀ TÀI I.3.1 Đối tƣợng nghiên cứu - Những lỗi mà học sinh lớp 11 thƣờng mắc trình bày chƣơng trình I.3.2 Phạm vi nghiên cứu - Các thuật toán đơn giản I.3.3 Thời gian thực đề tài - Đề tài đƣợc viết áp dụng Năm học 2020-2021 Trang 2/15 I.4 QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI I.4.1 Tình hình thực tế trƣớc thực đề tài - Sau giảng dạy xong 18 “ Ví dụ cách viết sử dụng chƣơng trình con”, tơi cho khảo sát lớp 11A1, 11A2 *Kết tồn tại: +Nhiều học sinh chƣa phân biệt rõ đƣợc vấn đề viết chƣơng trình hàm nên viết chƣơng trình dƣới dạng thủ tục +Học sinh cịn lúng túng việc trình bày chƣơng trình con, khai báo biến, tham số +Học sinh không nhớ đƣợc kiến thức cũ để áp dụng giải tập - Các yếu tố làm ảnh hƣởng đến chất lƣợng, hiệu học I.4.2 Số liệu điều tra trƣớc thực đề tài Lớp Sĩ Trung số Giỏi Khá Bình Yếu Kém 11A1 (Thực nghiệm) 42 13 11 12 11A2 (Đối chứng) 42 12 13 12 Trang 3/15 PHẦN 2: GIẢI QUYẾT VẤN ĐỀ Tên đề tài sáng kiến kinh nghiệm: “RÈN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON TRONG CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH” ” Sáng kiến gồm nội dung : +Hệ thống kiến thức chƣơng trình + Phân biệt hàm thủ tục + Các lỗi học sinh thƣờng mắc + Đề xuất giải pháp khắc phục +Khai thác số ví dụ chƣơng trình để giải tập +Thử nghiệm sƣ phạm II.1 HỆ THỐNG KIẾN THỨC VỀ CHƢƠNG TRÌNH CON II.1.1 Chƣơng trình lợi ích việc sử dụng chƣơng trình a) Khái niệm - Chƣơng trình dãy lệnh mô tả số thao tác định đƣợc thực nhiều vị trí chƣơng trình b) Lợi ích việc sử dụng chƣơng trình con: - Tránh việc phải viết lặp lại nhóm lệnh nhóm lệnh đƣợc thực nhiều lần khác chƣơng trình - Hỗ trợ cho chƣơng trình lớn - Có thể giao cho nhiều ngƣời viết chƣơng trình - Thuận tiện cho việc phát triển, nâng cấp chƣơng trình c) Phân loại - Chƣơng trình gồm hai loại : Hàm thủ tục d) Cấu trúc chƣơng trình - Chƣơng trình có cấu trúc tƣơng tự chƣơng trình, nhƣng thiết phải có tên phần đầu dùng để khai báo tên, hàm phải khai báo kiểu liệu cho giá trị trả hàm II.1.2 Thủ tục - Là chƣơng trình thực thao tác định nhƣng không trả giá trị qua tên - Cấu trúc thủ tục Procedure []; [] Begin [] End; Trang 4/15 +Phần đầu: gồm Procedure, tên thủ tục tham số hình thức +Phần khai báo: hằng, kiểu, biến chƣơng trình +Phần thân: dãy lệnh viết Begin end; II.1.3 Hàm - Là chƣơng trình thực số thao tác trả giá trị qua tên - Cấu trúc hàm Function [()]: ; [] Begin [] ; := ; End; Chú ý: +Kiểu liệu kiểu liệu giá trị mà hàm trả kiểu: integer, real, char, boolean, string +Trong thân hàm cần phải có câu lệnh gán giá trị cho tên hàm II.1.4 So sánh hàm thủ tục * Giống nhau: Đều chƣơng trình có cấu trúc tƣơng tự * Khác nhau: Điểm khác thủ tục hàm việc thực hàm trả giá trị kết thuộc kiểu xác định giá trị đƣợc gán cho tên hàm - Trong thân hàm cần có lệnh gán giá trị cho tên hàm :=; II.2 CÁC LỖI CỦA HỌC SINH THƢỜNG MẮC VÀ CÁCH KHẮC PHỤC II.2.1 Học sinh cịn lúng túng việc viết chƣơng trình - Đây lỗi hầu hết học sinh mắc phải, em chƣa phân biệt rõ khác hàm thủ tục Các em lúng túng việc xác đinh toán nhƣ nên chọn thủ tục hay toán cần sử dụng hàm - Khi biết chƣơng trình học sinh nhầm lẫn việc khai báo biến Cách khắc phục: Giáo viên phân biệt cho học sinh thấy rõ em nên chọn hàm nên chọn thủ tục cách đƣa hệ thống tập từ dễ đến khó -Khi cần thực cơng việc ngƣời ta dùng thủ tục, cịn cần tính giá trị ngƣời ta dùng hàm Trang 5/15 - Rèn luyện khả sử dụng chƣơng trình Đó đƣờng có hiệu để phát triển học sinh lực xây dựng chƣơng trình đơn giản từ phát triển tƣ lập trình có cấu trúc - Đối với tập giáo viên lặp lặp lại cách có dụng ý câu hỏi sau: 1) Bài tốn cho chia thành toán nhỏ ? 2) Những biến cần dùng tồn chương trình ? 3) Những biến cần cho chương trình cụ thể ? 4) Chương trình cần viết dạng hàm ? 5) Có thể cấu trúc chương trình nào? - Qua việc rèn luyện lập trình giải tập, học sinh lĩnh hội vận dụng chúng nhƣ chiến lƣợc xây dựng sử dụng chƣơng trình con, yếu tố quan trọng lập trình có cấu trúc VÍ DỤ Bài tốn 1: Viết chƣơng trình thực nhập vào hai số thực a,b độ dài hai cạnh hình chữ nhật Tính diện tích hình chữ nhật (có sử dụng chƣơng trình con) Với câu hỏi nhƣ lặp lại phần trên, ta chờ đợi học sinh câu trả lời : + Bài toán chia nhỏ thành tốn sau: - Nhập hai số thực từ bàn phím - Tính diện tích hình chữ nhật tích a*b - Biến a,b,S : thực biến dùng cho chƣơng trình - Bài tốn có thực cơng việc tính tốn diện tích hình chữ nhật học sinh lựa chọn chƣơng trình thủ tục hàm Từ học sinh viết đƣợc chƣơng trình có sử dụng chƣơng trình thủ tục nhƣ sau: Program DTICH_HCN; Var a,b , S: real; Procedure Nhap; Begin Write(„Nhap a,b‟); Readln(a,b); End; Procedure DTICH_HCN; Begin S:=a*b; Write(„Dien tich hcn = ‟,S:2:1); End; Trang 6/15 BEGIN Nhap; DTICH_HCN; END Bài tốn 2: Lập chƣơng trình thực tính diện tích hình tứ giác biết số đo cạnh đƣờng chéo nhập vào từ bàn phím Dẫn dắt học sinh : Câu hỏi 1: Có thể chia nhỏ tốn nhƣ nào? - Nhập số từ bàn phím - Tính diện tích đƣa kết hình Dẫn dắt: Bài tốn tính diện tích tam giác biết độ dài cạnh a,b,c quen thuộc với em, công thức Hê-Rông S p(p a)(p b)(p c) với p  abc - Tìm đƣa tốn tốn quen thuộc, để tính diện tích tứ giác cần chia tứ giác thành hai tam giác, diện tích tứ giác đƣợc tính tổng diện tích hai tam giác chia Câu hỏi 2: Chƣơng trình cần viết dƣới dạng hàm hay thủ tục ? - Do cần lấy giá trị chƣơng trình kết diện tích tam giác Học sinh dễ dàng nhận việc sử dụng chƣơng trình tốn hàm Câu hỏi 3: Những biến cần dùng toàn chƣơng trình ? - Cần biến a,b,c,d, e để lƣu trữ độ dài cạnh đƣờng chéo tứ giác Câu hỏi 4: Những biến cần cho hàm tính diện tích? - Cần biến tính chu vi, diện tích: S, p Câu hỏi 5: Có thể cấu trúc chƣơng trình nhƣ ? Kết mong đợi Program Tugiac; Var a,b,c ,d,e: real; Function Dientich(x,y,z: real): real ; Var S, p: real; Begin p:=(x+y+z)/2; S:= SQRT(p*(p-x)*(p-y)*(p-z)); Dientich:=S; End; Trang 7/15 BEGIN Write(„nhap a,b,c,d,e =‟); Readln(a,b,c,d,e); Write(„dien tich cua tu giac la :‟, Dientich(a,b,c)+ Dientich(d,e,c):5:2); END Bài tốn 3: Viết chƣơng trình nhập vào ba số thực, kiểm tra xem ba số có số đo ba cạnh tam giác không ? Nếu ba số số đo ba cạnh tam giác tam giác tam giác ? (tam giác có ba góc nhọn, tam giác vng, cân hay tam giác tù) Với câu hỏi nhƣ lặp lại phần trên, ta chờ đợi học sinh câu trả lời : + Bài tốn chia nhỏ thành toán sau: - Nhập ba số thực a,b,c từ bàn phím Đƣa giá trị lớn ba số c Kiểm tra xem c có nhỏ tổng a+b hay khơng (học sinh kiểm tra trực tiếp điểu kiện tổng hai số ba số lớn số lại hiệu hai số nhỏ số lại) - Nhận dạng tam giác theo ba cạnh, suy từ việc so sánh tổng bình phƣơng cạnh lớn với tổng bình phƣơng hai cạnh cịn lại + Biến a,b,c : Thực biến dùng cho chƣơng trình Trong chƣơng trình đƣa số lớn c cần biến trung gian tg: thực biến dùng chƣơng trình để tráo đổi a cho b + Chƣơng trình nhận vào ba số, đƣa số lớn c kiểm tra xem c1 then Begin Tuso:=Tuso div a; Mauso:=Mauso div a; End; Writeln(Tuso:5, Mauso:5); END Mở rộng toán: Giao cho nhóm học sinh nhà thực Bài tốn: Viết chƣơng trình nhập số N, sau nhập N số hạng, tính UCLN BCNN N số Trang 12/15 Gợi mở: Viết hàm tính UCLN, BCNN số UCLN (A1 An) = UCLN( UCLN(A1 An-1) ,An) BCNN (A1 An) = BCNN( BCNN(A1 An-1) ,An)} Kết mong đợi uses crt; VAR a,i,n:integer; u,b:integer ; Function UCLN(a,b:integer):integer; Begin while ab if a>b then a:=a-b else b:=b-a; UCLN:=a; End; Function BCNN(a,b:integer):integer; Begin BCNN:=a*b div ucln(a,b); End; BEGIN clrscr; write('N = '); Readln(n); write('So thu : '); Readln(a); u:=a;b:=a; for i:=2 to n begin write('So thu ',i,' : '); Readln(a); u:=UCLN(u,a); b:=bcnn(b,a); end; writeln('UCLN = ', u); writeln('BCNN = ', b); readln; END Trang 13/15 II.2.2 Hàm tìm giá trị nhỏ hai số nguyên a b - Ý tưởng: Khai thác hàm tìm Min hai số Function Min(a,b: Real): Real; Begin If a

Ngày đăng: 17/05/2021, 20:44

Từ khóa liên quan

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

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

Tài liệu liên quan