Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11Sáng kiến kinh nghiệm, SKKN Sử dụng hệ thống bài tập thực hành nhằm nâng cao hiệu quả dạy học chương trình con trong tin học lớp 11
Sáng kiến kinh nghiệm Môn: Tin học lớp 11 MỞ ĐẦU 1.1 Lý chọn đề tài Tốc độ phát triển công nghệ thông tin ngày vũ bão, người thầy cần phải tìm phương pháp dạy học tích cực để tăng hiệu dạy học Dạy học sinh học cách chủ động, phương pháp học, cách học điều mà thực tế đòi hỏi thay chuyển tải lượng kiến thức nhiều đến mức học sinh nhớ nổi, có nhớ lúc học, lại chóng qn Mơn Tin học, học sinh chưa có tư lập trình tốt, khó cho việc dạy học, ngơn ngữ lập trình học sinh giới thiệu lớp dưới, dần hình thành tư lập trình em, phần đơng học sinh chưa tích cực học tập, học tập lơ dẫn đến kết yếu Xuất phát từ thực tiễn giảng dạy trường THPT Gia Nghĩa thấy rằng, để đạt hiệu cao phần học, tiết học cần có cách thiết kế giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học phải phù hợp với đối tượng học sinh Để qua phần học, tiết học học sinh thích thú với kiến thức mới, qua hiểu kiến thức học lớp, đồng thời học sinh thấy tầm quan trọng vấn đề việc ứng dụng kiến thức trước hết để đáp ứng yêu cầu môn học, sau việc ứng dụng vào công việc thực tiễn đời sống xã hội Vấn đề sử dụng chương trình để giải toán lớn tin học mẽ học sinh tơi, học sinh khó tiếp cận với đơn vị kiến thức trên, đặc biệt thực hành thường khơng hồn thành tập, đa số học sinh thường lười thực hành, e ngại tập có sử dụng chương trình Trước thực giải pháp sử dụng ví dụ sách giáo khoa, sách tập mà khơng có hệ thống chọn lọc tập làm bật vấn đề chương trình con, kết học sinh thực hành không đạt yêu cầu, thường than khó, hứng thú học tập Xuất phát từ sở trên, chọn lọc số tập thực hành để đưa vào hệ thống tập thực hành nhằm nâng cao hiệu dạy học môn tin học cho học sinh lớp 11 trường THPT Gia Nghĩa, “Sử dụng hệ thống tập thực hành nhằm nâng cao hiệu dạy học chương trình tin học lớp 11” nhằm giúp em hệ thống lại nội dung lý thuyết chương trình vận dụng vào tập thực hành góc độ trực quan dễ tiếp thu hơn, từ hiểu rõ ngữ nghĩa cách sử dụng “chương trình con” làm tốt tập áp dụng, từ cảm thấy u thích với mơn tin học 1.2 Mục đích nghiên cứu Tìm cách khắc phục khó khăn học sinh vấn đề tiếp thu kiến thức chương VI, tin học lớp 11, phần “chương trình lập trình có cấu trúc” từ tạo cho học sinh hứng thú học tập, thực hành tốt môn học 1.3 Đối tượng nghiên cứu Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 2/14 Sáng kiến kinh nghiệm Môn: Tin học lớp 11 Sử dụng hệ thống tập thực hành có chọn lọc để giúp học sinh hứng thú hơn, dễ tiếp nhận đơn vị kiến thức chương trình ngơn ngữ lập trình, tin học lớp 11 THPT 1.4 Phương pháp nghiên cứu Xây dựng hệ thống tập chọn lọc có ứng dụng chương trình bám sát mục tiêu môn học, để cung cấp cho học sinh làm tập thực hành học Chương VI: Chương trình lập trình có cấu trúc, mơn tin học lớp 11 Đánh giá thử nghiệm câu hỏi trắc nghiệm khách quan kết hợp với viết luận học sinh để đánh giá tiếp thu kiến thức học sinh 1.5 Giới hạn phạm vi nghiên cứu Sử dụng hệ thống tập cho tiết dạy thực hành phần chương trình tin học lớp 11A5, 11A6 (năm học 2015 – 2016) trường THPT Gia Nghĩa, Đăk Nông Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 3/14 Sáng kiến kinh nghiệm Mơn: Tin học lớp 11 NỘI DUNG 2.1 Cơ sở lý luận vấn đề 2.1.1 Lợi ích việc dùng chương trình ngơn ngữ lập trình Trong kỹ thuật lập trình việc tổ chức lập trình kiểu cấu trúc modul hóa với chương trình ngơn ngữ lập trình bậc cao, chương trình diễn đạt hàm (function) thủ tục (procedure) phương thức (method), Chương trình kiểu cấu trúc modul hóa, tức chia chương trình thành nhiều modul, chương trình muốn thực gọi chúng, điều đem lại cho người lập trình lợi ích sau: + Thay đoạn trình giống chương trình con, làm cho mã chương trình ngắn hơn, sáng sủa dễ kiểm tra tính đắn chương trình + Đưa chương trình viết sẵn vào thư viện (library) dạng văn trình dạng mã, để lập trình cần liên kết tới thư viện sử dụng + Những chương trình lớn thiết kế dạng cấu trúc chia nhỏ thành nhiều chương trình cho nhiều người nhóm lập trình khác 2.1.2 Khai báo chương trình Tùy theo ngơn ngữ lập trình cụ thể chương trình khai báo thông thường nằm sau phần khai báo chương trình Trong ngơn ngữ lập trình Pascal phần khai báo chương trình nằm phần cuối phần khai báo chương trình PROGRAM ; { Tên chương trình} USES ; {Khai báo thư viện} CONST ;{Khai báo hằng} TYPE ;{Khai báo kiểu} VAR ;{Khai báo biến} {Khai báo chương trình con} BEGIN {Chương trình chính} ; END 2.1.2.a Khai báo hàm: + Khai báo hàm (Function): FUNCTION [()]:; [] BEGIN ; :=; END; 2.1.2.b Khai báo thủ tục: + Khai báo thủ tục (Procudure): Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 4/14 Sáng kiến kinh nghiệm Môn: Tin học lớp 11 PROCEDURE [()]; [] BEGIN ; END; 2.1.3 Biến toàn cục biến cục Biến tồn cục biến khai báo chương trình Các biến dùng nơi chương trình tồn suốt thời gian làm việc chương trình Biến cục (biến địa phương) biến khai báo chương trình con, biến sử dụng phạm vi chương trình mà khai báo, sau kết thúc chương trình biến giải phóng khỏi nhớ 2.1.4 Cách truyền tham số chương trình Chương trình khơng cần có tham số khơng dùng đến chúng dùng trực tiếp biến toàn cục Khi truyền tham số tham số lời gọi chương trình phải thứ tự kiểu tương ứng với khai báo chương trình + Tham số hình thức (đối) tham số sau tên hàm thủ tục khai báo + Tham số thực tham số sau tên hàm thủ tục lời gọi + Tham biến: Là tham số khai báo sau từ khóa var Các tham số thực phải biến không giá trị Tham biến thay đổi chương trình sau khỏi chương trình giữ giá trị thay đổi + Tham trị: Là tham số khai báo mà không đứng sau từ khóa var + Các tham số thực giá trị, hằng, biến Tham trị thay đổi chương trình sau kết thúc chương trình giá trị trở ban đầu + Các tham số hàm tham trị, tham số thủ tục tham trị tham biến 2.1.5 Phân biệt cách sử dụng hàm thủ tục Hàm khác thủ tục chỗ hàm trả giá trị cho lệnh gọi thơng qua tên hàm cịn thủ tục khơng + Dùng hàm: o Kết tốn trả giá trị (kiểu vơ hướng, kiểu string kiểu trỏ) o Lời gọi hàm cần nằm biểu thức tính tốn + Dùng thủ tục Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 5/14 Sáng kiến kinh nghiệm Môn: Tin học lớp 11 o Kết tốn khơng trả giá trị trả nhiều giá trị trả kiểu liệu có cấu trúc (Array, Record, File) o Lời gọi thủ tục không nằm biểu thức tính tốn 2.1.6 Tính đệ quy chương trình Một chương trình ngơn ngữ lập trình gọi nó, lời gọi gọi lời gọi đệ quy 2.2 Thực trạng vấn đề Chương trình nội dung khó, Bộ giáo dục giảm tải nhiều phần, để học sinh thực hành vận dụng kiến thức với học sinh THPT Gia Nghĩa cịn nhiều khó khăn, đa số học sinh trung bình yếu nên khó hồn thành tập thực hành Trong trình giảng dạy thân thực số giải pháp, số giải pháp sử dụng hệ thống tập chọn lọc có sử dụng chương trình để làm sáng tỏ vấn đề giúp học sinh học tốt hơn, hứng thú học tập 2.3 Các biện pháp tiến hành để giải vấn đề Ngồi sử dụng ví dụ sách giáo khoa, sử dụng thêm tập sau để bổ sung cho học sinh từ dễ đến khó trình thực hành phịng máy tính tập nhà Bài tập 1: Viết chương trình in hình hình chữ nhật vẽ kí tự * có N dịng M cột, N M nhập từ bàn phím u cầu: Chương trình vẽ nhiều lần cách gọi thủ tục Vehcn(N,M); Ví dụ N=3, M=5 ***** ***** ***** N=5, M=3 *** *** *** *** *** N=2, M=10 ********** ********** Bài tập bổ sung sau tập ví dụ thủ tục vẽ hình chữ nhật ví dụ 18 Ví dụ cách viết sử dụng chương trình con, trang 96, sách giáo khoa tin học 11 Để khắc sâu cho học sinh cách sử dụng thủ tục, truyền tham số, thay tham số hình thức tham số thực Ngoài sử dụng thủ tục nhắc lại cho học sinh kiến thức vòng lặp PROGRAM Vidu1; USES crt; VAR N, M : byte; Ch: Char; PROCEDURE Vehcn(A, B: byte); {A,B la tham so hinh thuc} Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 6/14 Sáng kiến kinh nghiệm Môn: Tin học lớp 11 Var i,j: Byte; BEGIN For i:=1 to A Begin For j:=1 to B Write('*'); Writeln; End; END; BEGIN Ch := 'Y'; While(Upcase(Ch)='Y') Begin Write('Nhap so N = ' ); Readln (N); Write('Nhap so M = '); Readln(M); Vehcn(N,M); {M,N la tham so thuc su duoc truyen vao chuong trinh Vehcn(A,B)} Write('Ban muon ve nua khong? (Y/N)'); Readln(Ch); End; END Bài tập bổ sung thêm sau ví dụ tham biến 1(trang 97, sách giáo khoa tin học 11) nhằm làm cho học sinh hiểu rõ tham trị trước kết ví dụ tham biến (trang 100, sách giáo khoa tin học 11) để học sinh hiểu rõ cách sử dụng tham biến, tham trị chương trình Bài tập 2: Một học sinh viết chương trình cho phép nhập hai số vào hai biến, thực đổi giá trị hai biến cho Yêu cầu dùng chương trình để thực chức đổi giá trị Nhận xét chương trình sau viết hay chưa? Có thỏa mãn yêu cầu đề bài? PROGRAM Vidu2; USES crt; VAR M,N: integer; PROCEDURE DoiAB(A,B :Integer); Var T: Integer; Begin T:=A; A:=B; B:=T; End; BEGIN Write('Nhap vao so N = '); Readln(N); Write('Nhap vao so M = '); Readln(M); DoiAB(N,M); Writeln('So N co gia tri la:',N); Writeln('So M co gia tri sau doi la:',M); Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 7/14 Sáng kiến kinh nghiệm Môn: Tin học lớp 11 Readln; END Bài tập đưa vào sau dạy mục cách viết sử dụng hàm trang 101 sách giáo khoa tin học lớp 11 trước ví dụ sách giáo khoa tìm ước số chung lón hai số ngun Nhằm để học sinh dễ hiểu sử dụng hàm Với ví dụ sách giáo khoa học sinh tơi khó tiếp nhận phải đưa ví dụ trước sau đến tập Bài tập 3: Viết chương trình tìm số lớn số nguyên A B Yêu cầu: Chương trình so sánh nhiều lần cách sử dụng hàm trả số lớn hai số PROGRAM Vidu3; USES crt; VAR A, B, Max : integer; Ch:Char; FUNCTION Max2so (A, B: integer): integer; BEGIN If A > B then Max2so := A else Max2so :=B; END; BEGIN Ch := 'Y'; While(Upcase(Ch)='Y') Begin Write('Nhap so nguyen thu nhat = ' ); Readln(a); Write('Nhap so nguyen thu hai= '); Readln(b); Max:= Max2so(a,b); {Max chua gia tri tra ve cua ham Max2so(a,b)} Writeln('So Max la: ' , Max); Write('Ban muon so sanh nua khong? (Y/N)'); Readln(Ch); End; END Bài tập dùng để thay cách tìm ước số chung lớn hai số nguyên dương Sau u cầu học sinh nghiên cứu ví dụ sách giáo khoa Khẳng định lại với học sinh tốn có nhiều thuật tốn để giải u cầu học sinh so sánh thuật toán tốt hơn, sao? Bài tập 4: Viết chương trình tìm ước số chung lớn hai số N M, với N, M nguyên dương nhập vào từ bàn phím u cầu: Chương trình dùng hàm tìm ước số chung lớn USCLN(N,M) PROGRAM Vidu4; USES crt; VAR M,N: integer; FUNCTION USCLN(N,M :Integer):Integer; Begin While MN If M>N then M:=M-N else N:=N-M; USCLN:=N; Giáo viên thực hiện: Nguyễn Trí Dũng Trang: 8/14 Sáng kiến kinh nghiệm Mơn: Tin học lớp 11 End; BEGIN N:=0; M:= 0; While N