SKKN sử dụng một số khái niệm về chương trình con và các ví dụ để củng cố kiến thức về kiểu dữ liệu xâu

16 66 0
SKKN sử dụng một số khái niệm về chương trình con và các ví dụ để củng cố kiến thức về kiểu dữ liệu xâu

Đ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 THANH HOÁ TRƯỜNG THPT NGA SƠN SÁNG KIẾN KINH NGHIỆM SỬ DỤNG MỘT SỐ KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON VÀ CÁC VÍ DỤ ĐỂ CỦNG CỐ CÁC KIẾN THỨC VỀ KIỂU DỮ LIỆU XÂU Người thực hiện: Nguyễn Văn Hải Chức vụ: Giáo viên SKKN thuộc lĩnh vực mơn: Tin Học THANH HỐ NĂM 2017 MỤC LỤC NỘI DUNGTRANG I Mở đầu 1.1 Lí chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu II Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm a Hàm (Function) b Thủ tục (Procedure) c Tham số hình thức d Tham số thực e Tham biến g Tham trị 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm .3 2.3 Các giải pháp giải vấn đề a Thủ tục Delete(Var St:String; vt, n: Byte) b Thủ tục Insert(S1: String; Var S2: string; Vt : byte) c Hàm Copy(S: string; vt, N:byte) d Hàm length(s:string) e Hàm upcase(ch :char) g Hàm Pos(s1,s2:string) 2.4 Kết thu 11 III.Kết luận, kiến nghị 11 3.1 Kết luận 11 3.2 Kiến nghị 12 I.MỞ ĐẦU 1.1 Lí chọn đề tài Sự phát triển vũ bão khoa học công nghệ - kỹ thuật đại đặt giáo dục vào thử thách mới, nhằm đào tạo hệ tương lai vừa có phẩm chất, vừa phải có lực tiếp cận khoa học hội nhập với xu chung xã hội Hiện trường phổ thông trọng tới vấn đề Nếu trước môn Tin học chủ yếu truyền đạt cho em kiến thức lý thuyết, hàn lâm trọng tới thực hành giải tập, giúp em làm quen với lập trình máy tính, trường phổ thông trang bị sở vật chất phục vụ dạy học: phòng máy, phòng nghe nhìn chuẩn hóa, học sinh ý thức môn học nên tập trung hơn, Tuy nhiên, thay đổi chưa thực mang lại hiệu cao việc tiếp thu nhận thức học học sinh phần lớn học sinh chưa có điều kiện để tiếp cận với nhiều tài liệu, thời gian để làm việc với máy tính cịn Mơn Tin học học sinh mơn khó, đặc biệt chương trình lớp 11 kiến thức lập trình đa số với nhiều học sinh khó tiếp cận Trong q trình giảng dạy chương trình lớp 11 học sinh gặp nhiều khó khăn việc giải tập từ việc soạn thảo chương trình việc cho chương trình chạy được.Việc dạy học nội dung kiểu xâu, chương trình khái niệm trừu tượng học sinh, học sinh thường gặp khó khăn việc tiếp thu kiến thức lập trình Do để phần giải thích cách sử dụng hàm thủ tục xâu, chọn sáng kiến kinh nghiệm : “Sử dụng số khái niệm chương trình ví dụ để củng cố kiến thức kiểu liệu xâu” Giúp học sinh nắm thủ tục hàm để giải số toán đơn giản phần lập trình tin học 11 1.2 Mục đích nghiên cứu Đưa cấu trúc cụ thể hàm thủ tục xâu, giải thích việc sử dụng hàm xâu Nâng cao kỹ sử dụng hàm thủ tục xâu số trường hợp cụ thể 1.3 Đối tượng nghiên cứu - Nghiên cứu cấu trúc thủ tục hàm xâu, số ví dụ sử dụng hàm thủ tục - Thực trạng học làm tập môn Tin học học sinh khối 11 trường THPT Nga Sơn 1.4 Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết - Phương pháp nghiên cứu thực tiễn - Phương pháp thực nghiệm sư phạm - Phương pháp thống kê toán học II NỘI DUNG SÁNG KIẾN KINH NGHIỆM Khi học sinh học học Bài 12 “Kiểu xâu”, học sinh có nhiều khó khăn, nhầm lẫn việc xử lý liệu em quen với tốn xử lý liệu kiểu số, toán quen thuộc tính tổng tích dãy số thoả mãn điều kiện Cách sử dụng hàm thủ tục xâu, sử dụng hàm, sử dụng thủ tục trình bày cụ thể qua phần sáng kiến kinh nghiệm 2.1 Cơ sở lí luận Việc sử dụng khái niệm chương trình để giải thích cho thủ tục, hàm xâu thể qua khái niệm chương trình sau: a Hàm (Function) : Là chương trình thực số thao tác trả giá trị qua tên nó[1] Ví dụ : Hàm sqrt(x), sqr(x), abs(x) Trong mục 2.1 Khái niệm hàm tham khảo từ tài liệu tham khảo số b Thủ tục (Procedure) : Là chương trình thực thao tác định khơng trả giá trị qua tên nó[1] Ví dụ: Thủ tục Writeln, Readln, Delete c Tham số hình thức: Các biến khai báo cho liệu vào/ra chương trình gọi tham số hình thức[1] d Tham số thực : Trong lời gọi chương trình con, biến thay tương ứng tham số hình thức gọi tham số thực [1] e Tham biến: Trong lời gọi chương trình tham số hình thức thay tương ứng tên biến chứa liệu gọi tham biến [1] g Tham trị: Trong lời gọi chương trình tham số hình thức thay tương ứng giá trị cụ thể gọi tham trị [1] Để phân biệt tham trị tham biến, ngôn ngữ lập trình pascal sử dụng từ khóa var để khai báo tham số biến 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Mặc dù công tác dạy học môn Tin học trường phổ thông quan tâm, sở vật chất trang bị chất lượng học sinh chưa thực nâng cao Tại trường THPT Nga Sơn, phần lớn học sinh có ý thức học tập hứng thú với môn Tin học Trong năm trở lại đây, ý thức yêu cầu xã hội, điều kiện sở vật chất nâng lên nên em học sinh dành nhiều thới gian cho mơn học, từ mà chất lượng học sinh nâng lên, đặc biệt lớp Trong mục 2.1 Khái niệm thủ tục, tham số hình thức, tham số thực sự, tham biến, tham trị tham khảo từ tài liệu tham khảo số 10 lớp 12 Tuy nhiên, có thực tế mà đồng nghiệp tổ cịn nhiều băn khoăn, trăn trở chất lượng học sinh khối lớp 11 chưa cao, đặc biệt kiểm tra hay tập đề cập đến em lúng túng, tỉ lệ giải tập lớp tính đầu ngón tay Một tập em gặp khó khăn tập kiểu xâu, đặc biệt khâu thao tác khai báo biến, mục cần sai dấu chấm, hay dấu phẩy không chạy chương trình Việc sử dụng thủ tục hàm vấn đề khó khăn với học sinh, em khơng biết dùng thủ tục gì, dùng hàm Từ khó khăn đó, học sinh ngại làm tập kiểu xâu rói riêng tập chương trình tin học 11 nói chung Từ chỗ khơng biết làm, ngại làm mà em dần hứng thú dẫn đến sợ phải làm tập kết không cao 2.3 Các giải pháp để giải vấn đề a Thủ tục Delete(Var St:String; vt, n: Byte) thực xóa n kí tự biến xâu st vị trí vt [2] Giá trị xâu St 'abcd' Thực thủ tục Delete(St,2,2) Kết xâu St 'ad' Đúng tên gọi thủ tục thực cơng việc xóa xâu, khơng trả giá trị qua tên thủ tục Khi thực thủ tục nhiều học sinh viết Delete('abcd',2,2) ='ad' giáo viên giải thích cho học sinh trường hợp em viết không Việc giải thích nhiều học sinh giỏi chung chung, nhiều học sinh không phục Bản chất thủ tục xóa xâu có cấu trúc sau Delete(Var St:String; vt, n: Byte).Khi học xong phần chương trình học sinh nhận xâu St khai báo tham biến, Vt n tham trị Để hiểu rõ thủ tục delete ta tìm hiểu qua ví dụ sau : Cấu trúc thủ tục Delete(Var St:String; vt, n: Byte) tham khảo từ TLTK số Ví dụ : Lập trình nhập vào xâu st u cầu xóa dấu cách vị trí đầu xâu cuối xâu Program xoa_xau; Var s: string; Procedure xoa_xau_cach(Var st:string); Begin // Xoa dau cach dau xau While St[1]= #32 Do delete(st,1,1); // Xoa dau cach cuoi xau While St[Length(st)]= #32 Do delete(st,length(st),1); Xoa_dau_cach:=st; End; BEGIN Write('Nhap xau S:'); Readln(S); xoa_xau_cach(s); Writeln(s); Readln; END b Thủ tục Insert(S1: String; Var S2: string; Vt : byte) chèn xâu s1 vào xâu s2 vị trí vt[2] Từ cấu trúc thủ tục học sinh nhận thấy s1 vt khai báo tham trị s2 khai báo tham biến Học sinh không viết sau Insert('add','he',2)='hadde' mà phải lấy giá trị từ xâu s2 Để hiểu rõ thủ tục chèn xâu xem xét số trường hợp sau : Cấu trúc Thủ tục Insert(S1: String; Var S2: string; Vt : byte) tham khảo từ TLTK số Ví dụ tham khảo từ TLTK số Trường hợp 1: Chèn vào vị trí nhỏ độ dài xâu s2 Giá trị xâu S1 Giá trị xâu S2 Thao tác 'abcd' 'gha' Insert(s1,s2,2) Trường hợp 2: Chèn vào vị trí lớn độ dài xâu s2 Kết xâu s2 'gabcdha' Giá trị xâu S1 Giá trị xâu S2 'abcd' 'gha' Trường hợp 3: Chèn vào xâu rỗng Thao tác Insert(s1,s2,4) Kết xâu s2 'ghaabcd' Giá trị xâu S1 'abcd' Thao tác Insert(s1,s2,0) Kết xâu s2 'abcd' Giá trị xâu S2 '' c Hàm Copy(S: string; vt, N:byte) tạo xâu gồm N kí tự liên tiếp vị trí vt xâu s Giá trị xâu S 'abcd' Biểu thức Copy(s,2,2) Kết 'ab' Từ cấu trúc ta nhận thấy s,vt,n khai báo tham trị Do sử dụng hàm học sinh thay tham số hình thức giá trị tương ứng Hàm copy tham gia vào tính tốn biểu thức Để hiểu rõ ta xem xét ví dụ sau : Ví dụ 4: Viết chương trình liệt kê từ xâu ký tự nhập vào từ bàn phím, từ phải viết dòng Program liet_ke_tu; Uses Crt; Cấu trúc Hàm Copy(S: string; vt, N:byte) tham khảo từ TLTK số Ví dụ tham khảo từ TLTK số Var St:String; Procedure XoaTrangThua(Var St:String); Begin {Xóa ký tự trắng đầu xâu} While St[1]=#32 Do Delete(St,1,1); {Xóa ký tự trắng cuối xâu} While St[Length(St)]=#32 Do Delete(St,Length(St),1); {Xóa ký tự trắng xâu} While POS(#32#32,St)0 Do Delete(St,POS(#32#32,St),1); End; Begin Write('Nhap xau St:'); Readln(St); XoaTrangThua(St); St:=St+#32; Writeln('Liet ke cac tu xau: '); While POS(#32,St)0 Do Begin Writeln(Copy(St,1,POS(#32,St))); Delete(St,1,POS(#32,St)); End; Readln; End d Hàm length(s:string) cho giá trị độ dài xâu s [2] Giá trị xâu S 'abcd' Biểu thức Length(s) Kết Cấu trúc Hàm length(s:string) tham khảo từ TLTK số Hàm trả giá trị độ dài xâu s, xâu s rỗng giá trị Ví dụ [3]: Lập trình nhập vào hai xâu s1 s2 Thơng báo hình kí tự xâu s1 có trùng với kí tự cuối xâu s2 hay không? Program kiem_tra_trung; Var st1,st2:string; Function ktt(s1,s2:string):boolean; Begin IF s1[1]= s2[length(s2)] then ktt:=true else ktt:=false; End; BEGIN Write('Nhap xau St1:'); Readln(St1); Write('Nhap xau St2:'); Readln(St2); IF ktt(st1,st2)=true then writeln('Trung nhau') else then writeln('Khac nhau') ; Readln; END Ví dụ 3: Lập trình nhập vào xâu s Kiểm tra xâu có phải xâu đối xứng hay không? Program kiem_tra_doi_xung; Var st:string; Function dxx(s:string):boolean; Begin Dxx:=true; Ví dụ tham khảo từ TLTK số 3, Ví dụ tham khảo từ TLTK số For i:=1 to length(s) div Do If s[i] s[ length(s)-i+1] then exit(false); End; BEGIN Write('Nhap xau St:'); Readln(St); IF dxx(st)=true then writeln('Xau doi xung') else then writeln('Xau khong doi xung') ; Readln; END e Hàm upcase(ch :char) cho chữ in hoa ứng với ch Giá trị xâu ch 'a' 'ab' Biểu thức Upcase(ch) Upcase(ch) Kết 'A' Khơng có giá trị chương trình dịch Turbo Pascal Đối với Free Pascal chương trình có kết 'AB' Để hiểu rõ hàm upcase ta xem xét ví dụ sau đây: Ví dụ 4: Lập trình nhập vào xâu gồm chữ in hoa Chuyển xâu vừa nhập sang in thường Program doi_in_thuong; Uses Crt; Var St:String; i:Byte; Begin Write('Nhap xau St: '); Readln(St); Cấu trúc Hàm upcase(ch :char) tham khảo từ TLTK số , Ví dụ tham khảo từ TLTK số For i:=1 to length(St) If St[i] IN ['A' 'Z'] Then St[i]:=CHR(ORD(St[i])+32); Write('Xau ket qua: ', St); Readln; End g Hàm Pos(s1,s2:string) trả vị trí xâu s1 xâu s2 [2] Giá trị xâu s1 Giá trị xâu s2 'a' 'haa' 'ab' 'cdde' Sử dụng khái niệm chương trình ta Biểu thức Kết Pos(s1,s2) Pos(s1,s2) nhận thấy s1 s2 khai báo tham trị hàm Pos Hàm Pos sử dụng nhiều toán xâu để hiểu thêm hàm Pos ta xét số ví dụ sau đây: Ví dụ 3: Lập trình nhập vào xâu đưa hình xâu thu loại bỏ hết dấu cách xâu Program xoa_cach_xau; Var st: string; BEGIN Write('Nhap xau St:'); Readln(St); While Pos(#32,St) Do delete(st,Pos(#32,st),1); Writeln(st); Readln; END Ví dụ 23: Lập trình nhập vào xâu Đếm số từ xâu Ví dụ 1, ví dụ tham khảo từ TLTK số 3; Cấu trúc Hàm Pos(s1,s2:string) tham khảo từ TLTK số Program dem_so_tu_trong_xau; Var s:string; Function dem_tu(st:string):integer; Var i,d:integer; Begin {Xóa ký tự trắng đầu xâu} 10 While St[1]=#32 Do Delete(St,1,1); {Xóa ký tự trắng cuối xâu} While St[Length(St)]=#32 Do Delete(St,Length(St),1); {Xóa ký tự trắng xâu} While POS(#32#32,St)0 Do Delete(St,POS(#32#32,St),1); d:=0; st:=st + #32; For i:=1 to length(st) -1 Do If ( St[i] #32) and ( st[i+1]= #32) then d:=d+1; Dem_tu:=d; BEGIN Write('Nhap xau S:'); Readln(S); Writeln(dem_tu(s)); Readln; END 2.4 Kết thu Trong trình trao đổi, thảo luận, trình bày học sinh thể khả vận dụng, hiểu biết nên em tỏ hăng hái việc giơ tay phát biểu tranh luận Đồng thời tiết học trở nên sinh động giáo viên không đóng vai trị người xây dựng lý luận mà học sinh người chủ động để giải vấn đề Tiến hành giảng dạy lớp, nhận thấy sau hướng dẫn học sinh biết làm tập Từ đó, kết kiểm tra, đánh giá có thay đổi theo hướng tích cực, kết cụ thể lớp áp dụng dạy lớp đối chứng sau: Tỉ lệ (%)\Lớp Giỏi Khá Trung bình 11A (lớp dạy) 11E (lớp đối chứng) 11C (lớp dạy) 11D (lớp đối chứng) 25 45 30 14 40 33 15 42 35 36 33 11 Yếu Kém 0 13 20 III KẾT LUẬN, KIẾN NGHỊ 3.1 Kết luận Sau vận dụng vào để củng cố, hướng dẫn học sinh thực hiện, nhận thấy: - Học sinh tiếp thu tốt hơn, em làm tập, chạy chương trình tạo hứng thú học tập - Kết kiểm tra, đánh giá nâng lên Ở lớp hướng dẫn thực hiện, tỉ lệ đạt giỏi tăng lên, khơng cịn học sinh yếu tỉ lệ thấp - Khi vận dụng vào hướng dẫn cho học sinh đòi hỏi thân phải tiếp cận nhiều tài liệu để có nguồn tri thức phong phú, điều kiện để tơi nâng cao tính tự học, nâng cao kiến thức 3.2 Kiến nghị - Đối với đồng nghiệp, cần tăng cường hướng dẫn học sinh làm nhiều tập để việc kiểm tra đánh giá học sinh việc sử dụng tập, ngơn ngữ lập trình đồng - Đối với nhà trường, quan tâm; xây dựng sở vật chất đạt chuẩn để việc giảng dạy tin học, đặc biệt thực hành thuận lợi - Đối với Sở Giáo dục, cần mở thêm lớp tập huấn, tài liệu để nâng cao phương pháp giảng dạy giaó viên XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Thanh Hóa, ngày 25 tháng năm 2017 Tôi xin cam đoan SKKN viết, khơng chép nội dung người khác 12 Nguyễn Văn Hải 13 TÀI LIỆU THAM KHẢO [1] Sách giáo khoa tin học 11 Hồ Sĩ Đàm chủ biên [2] Turbo Pascal cẩm nang tra cứu Quách Tuấn Ngọc chủ biên [3] Sách tập tin học 11 Hồ Sĩ Đàm chủ biên [4] Một số tập tham khảo Internet ... giải thích cách sử dụng hàm thủ tục xâu, chọn sáng kiến kinh nghiệm : ? ?Sử dụng số khái niệm chương trình ví dụ để củng cố kiến thức kiểu liệu xâu? ?? Giúp học sinh nắm thủ tục hàm để giải số toán đơn... thoả mãn điều kiện Cách sử dụng hàm thủ tục xâu, sử dụng hàm, sử dụng thủ tục trình bày cụ thể qua phần sáng kiến kinh nghiệm 2.1 Cơ sở lí luận Việc sử dụng khái niệm chương trình để giải thích cho... thảo chương trình việc cho chương trình chạy được.Việc dạy học nội dung kiểu xâu, chương trình khái niệm trừu tượng học sinh, học sinh thường gặp khó khăn việc tiếp thu kiến thức lập trình Do để

Ngày đăng: 20/07/2020, 07:35

Từ khóa liên quan

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

Tài liệu liên quan