Trong chương trình Tin học 11, dữ liệu kiểu xâu thường gặp rất nhiều trongcác bài toán, vận dụng linh hoạt các thao tác xử lý trên kiểu dữ liệu này vào bàitoán không phải là dễ.. Với mon
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT TRIỆU SƠN 2
SÁNG KIẾN KINH NGHIỆMXÂY DỰNG BÀI HỌC THEO CHỦ ĐỀ: KIỂU XÂU TIN HỌC 11 SỬ DỤNG PHƯƠNG PHÁP DẠY HỌC
TÍCH CỰC
Người thực hiện: Phạm Thị Biên Chức vụ: Giáo viên
SKKN thuộc lĩnh vực (môn): Tin học
THANH HÓA NĂM 2018
Trang 2MỤC LỤC
Phần 1: MỞ ĐẦU
1.1 Lý do chọn đề tài 2
1.2 Mục đích nghiên cứu 2
1.3 Đối tượng, kế hoạch và phạm vi nghiên cứu 3
1.4 Phương pháp nghiên cứu 3
Phần 2: NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận của sáng kiến kinh nghiệm 4
2.2 Thực trạng của vấn đề 4
2.2.1 Thuận lợi 5
2.2.2 Khó khăn 5
2.2.3 Kết quả thực trạng 5
2.3 Các giải pháp giải quyết vấn đề 6
2.3.1 Xác định chủ đề bài học 6
2.3.2 Thiết kế nội dung dạy học 6
2.3.3 Xác định mục tiêu đầu ra cho bài học 6
2.3.4 Mô tả mức độ yêu cầu, kiểm tra, đánh giá 6
2.3.5 Biên soạn câu hỏi, phiếu học tập, bài tập 8
2.3.6 Thiết kế tiến trình dạy học 11
2.4 Hiệu quả sáng kiến kinh nghiệm 19
Phần 3: KẾT LUẬN , KIẾN NGHỊ 3.1 Kết luận 20
3.2 Kiến nghị 20
DANH MỤC TÀI LIỆU THAM KHẢO 21
Trang 3PHẦN 1 MỞ ĐẦU
1.1 LÍ DO CHỌN ĐỀ TÀI
Trong bối cảnh toàn ngành GD-ĐT đang nỗ lực đổi mới phương pháp dạyhọc theo hướng phát huy tính tích cực chủ động của học sinh trong hoạt độnghọc tập Điều 24.2 của Luật giáo dục đã nêu rõ: “Phương pháp giáo dục phổthông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phùhợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học,rèn luyện kỹ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đemlại niềm vui, hứng thú học tập cho học sinh ” Như vậy, chúng ta có thể thấyđịnh hướng đổi mới phương pháp dạy học đã được khẳng định, không còn làvấn đề tranh luận Cốt lõi của việc đổi mới phương pháp dạy học ở trường phổthông là giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen họctập thụ động Với một số nội dung trong đề tài này, học sinh có thể tự học, tự rènluyện thông qua một số bài tập, dạng bài tập cụ thể
Xuất phát từ thực tiễn giảng dạy tại trường THPT Triệu Sơn 2, tôi thấy rằng
để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài giảngcho 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ảiphù hợp với từng đối tượng học sinh Để qua mỗi phần học, tiết học, học sinhthích thú với kiến thức mới, hiểu được kiến thức đã học trên lớp, đồng thời thấyđược tầm quan trọng của vấn đề: trước là ứng dụng của kiến thức để đáp ứngnhững yêu cầu của môn học, sau đó là ứng dụng vào thực tiễn trong đời sống xãhội (nếu có)
Trong chương trình Tin học 11, dữ liệu kiểu xâu thường gặp rất nhiều trongcác bài toán, vận dụng linh hoạt các thao tác xử lý trên kiểu dữ liệu này vào bàitoán không phải là dễ Việc học sinh tìm hiểu về kiểu dữ liệu có cấu trúc nóichung và kiểu dữ liệu xâu nói riêng còn khá nhiều lúng túng Đặc biệt là dữ liệuvào kiểu xâu và những yêu cầu của bài toán liên quan đến kiểu dữ liệu xâu, họcsinh thường không biết bắt đầu từ đâu để giải quyết vấn đề mà bài toán đưa ra
Kỹ năng khi làm việc với kiểu dữ liệu xâu của học sinh thường không đáp ứngđược yêu cầu đề ra
Với mong muốn phần nào giúp học sinh cũng như giáo viên trong việc tìm
ra lời giải cho một số bài toán liên quan tới kiểu dữ liệu xâu dễ dàng hơn, nhất làgiúp cho các em học sinh có thể yêu thích nhiều hơn nữa ngôn ngữ lập trình
Pascal, tôi xin giới thiệu đề tài “Xây dựng bài học theo chủ đề kiểu xâu- Tin
học 11 sử dụng phương pháp dạy học tích cực” mà tôi đã áp dụng có hiệu quả
trong quá trình giảng dạy Đề tài được trình bày dựa trên kinh nghiệm giảng dạycủa bản thân và tham khảo một số tài liệu liên quan
1.2 MỤC ĐÍCH NGHIÊN CỨU
Giới thiệu cách khai báo và truy xuất đến kiểu dữ liệu xâu
Giới thiệu một số phép toán trên kiểu dữ liệu xâu, đặc biệt phần này cócung cấp thêm một số hàm, thủ tục chưa được giới thiệu trong bài 12 sách giáokhoa tin học 11
Trang 4Hệ thống các bài toán dưới dạng một số dạng bài tập thường gặp giúp chogiáo viên và học sinh phần nào nhận dạng và giải một số bài tập liên quan
Mở rộng một số bài tập kiểu xâu dành cho học sinh khá giỏi muốn tìm hiểuthêmy
1.3 ĐỐI TƯỢNG NGHIÊN CỨU, PHẠM VI NGHIÊN CỨU
Đối tượng nghiên cứu là cách xây dựng bài học theo phương pháp dạy họctích cực
Phạm vi nghiên cứu là kiểu dữ liệu xâu và các bài toán trên dữ liệu xâu.Đối tượng khảo sát: học sinh khối 11 của của trường THPT Triệu Sơn 2
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
1.4.1 Phương pháp nghiên cứu xây dựng cơ sở lý thuyết:
Đọc các tài liệu, giáo trình có liên quan đến kiểu dữ liệu xâu kí tự
Tìm hiểu các phương pháp dạy học tích cực, phương pháp xây dựng bàihọc theo chủ đề
Tìm hiểu một số bài tập từ cơ bản đến nâng cao Lựa chọn các bài toán phùhợp với đối tượng học sinh
1.4.2 Phương pháp điều tra khảo sát thực tế, thu thập thông tin
Dự giờ, tham khảo ý kiến của đồng nghiệp
Áp dụng đề tài ở một số lớp, kiểm tra đánh giá và lấy kết quả so sánh giữalớp có áp dụng đề tài và lớp không áp dụng đề tài để kiểm tra tính khả thi của đềtài
Trang 5PHẦN 2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 CƠ SỞ LÍ LUẬN CỦA SÁNG KIẾN KINH NGHIỆM
Trong dạy học Tin học, bài học theo chủ đề là một thành tố của quá trìnhdạy học chứa đựng những nội dung kiến thức khoa học được gắn với một bốicảnh của đời sống hàng ngày Việc dạy học bài học theo chủ đề tạo điều kiện
để học sinh được trải qua các giai đoạn: Xuất phát từ thực tiễn cuộc sống để xâydựng các mô hình khoa học, từ đó ứng dụng vào thực tiễn đời sống Một bài họctheo chủ đề gắn với một số kiến thức của một môn học hoặc của nhiều môn học(chủ đề tích hợp liên môn)
Việc tổ chức dạy học bài học theo chủ đề là sự kết hợp giữa mô hình dạyhọc truyền thống theo tiết học được thực hiện ở trường học với mô hình dạy học
mở trên lớp học, trong phòng thí nghiệm và ngoài lớp học Vì vậy, thời gianthực hiện bài học có thể được kéo dài, có thể từ vài tuần cho đến vài tháng… Dạy học bài học theo chủ đề tạo ra cho học sinh những trải nghiệm học tập
có ý nghĩa và hiệu quả, đòi hỏi học sinh phải lựa chọn các hoạt động xây dựngkiến thức, phát triển sự hiểu biết và phát triển kỹ năng của mình Đồng thời, dạyhọc bài học theo chủ đề tạo cơ hội cho giáo viên, các cấp quản lí giáo dục thuthập các bằng chứng của sự học tập, giúp đánh giá chính xác được học sinh.Phương pháp thu thập bằng chứng cho việc đánh giá có thể bao gồm các quansát thông qua các bảng kiểm của giáo viên, qua việc thực hiện các bài kiểm tra,qua viêc các bạn đồng học đánh giá và qua việc tự đánh giá thể hiện ở các bài tựđánh giá, tự cảm nhận của mỗi học sinh Ngoài ra, cũng có thể là các hoạt độngđánh giá có cấu trúc hơn trên diện rộng như tham gia các đánh giá quốc tế
2.2 THỰC TRẠNG CỦA VẤN ĐỀ TRƯỚC KHI ÁP DỤNG SÁNG KIẾN KINH NGHIỆM
2.2.1.Thuận lợi
Do sự quan tâm và đầu tư của Bộ giáo dục và đào tạo nói chung và của Bangiám hiệu trường THPT Triệu Sơn 2 cùng với sự hỗ trợ của hội phụ huynh họcsinh nói riêng, về cơ sở vật chất môn Tin học đã có 2 phòng thực hành, trong đó
có một phòng kết nối mạng internet Có đa số các máy chiếu được lắp đặt tại cáclớp học tạo điều kiện thuận lợi cho giáo viên trong quá trình giảng dạy
Trong quá trình thực hiện đề tài tôi đã được các giáo viên trong tổ bộ môn
tư vấn và hỗ trợ rất nhiều giúp tôi hoàn thành đề tài
2.2.2 Khó khăn
Ngôn ngữ lập trình Pascal là một môn học mới, cách học cũng hoàn toànmới, vì vậy khi tiếp cận với môn học này đa số học sinh thấy rất bỡ ngỡ Họccác thao tác sử dụng hay dùng phương pháp học thuộc lòng không còn phù hợpnữa Lúc này các em cần phải học cách tư duy logic, tìm thuật toán, và viếtnhững dòng lệnh máy tính chính xác đến từng đấu chấm, dấu phẩy
Với tâm lí thông thường các em học sinh coi tin học là môn phụ khôngquan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên khônghiểu bài và dần bị mất căn bản Đây cũng là lí do mà nhiều em bị điểm kém,
Trang 6thậm chí là thi lại, học lại bộ môn tin học mặc dù có thể các em học rất giỏi cácmôn học khác.
- Khi học sinh học bài học Bài 12 Kiểu xâu là kiểu dữ liệu mới hoàn toàn,không như các kiểu dữ liệu quen thuộc như dữ liệu kiểu số nguyên, số thực dẫnđến học sinh đã có rất nhiều khó khăn, nhầm lẫn trong việc xử lí dữ liệu
2.2.3 Kết quả của thực trạng
Để kiểm tra, đánh giá hiệu quả của đề tài áp dụng cho bài kiểu xâu, tôi đãcho các em học sinh của 2 lớp ban tự nhiên 11C1, 11C2 và 2 lớp ban cơ bản11C3, 11C4 là cùng làm một đề kiểm tra 1 tiết như sau:
SỞ GIÁO DỤC & ĐÀO TẠO
Câu 3 (3điểm) Em hãy viết chương trình nhập vào xâu st có độ dài không
quá 100 Hãy kiểm tra xem st có phải xâu đối xứng hay không?
Câu 4 (2 điểm) Viết chương trình nhập vào họ tên của một người nào đó,
sau đó đưa ra màn hình tên của người đó
Kết quả nhận được đối với 2 lớp không áp dụng đề tài là lớp 11C1, 11C3như sau:
Trang 72.3 GIẢI PHÁP ĐÃ SỬ DỤNG ĐỂ GIẢI QUYẾT VẤN ĐỀ
2.3.1 Xác định chủ đề bài học
Tên chủ đề : Kiểu xâu trong Pascal
2.3.2 Thiết kế nội dung dạy học
Thứ tự Tên nội dung Số tiết
Nội dung 1 Khái niệm xâu, khai báo xâu, các phép
toán dùng trong xâu
1
Nội dung 2 Các hàm và thủ tục xử lí xâu 1
Nội dung 3 Một số bài tập cơ bản và nâng cao 2
2.3.3 Xác định mục tiêu đầu ra cho bài học
1 Kiến thức
- Biết được một kiểu dữ liệu mới, biết được khái niệm kiểu xâu
- Phân biệt được sự giống và khác giữa kiểu mảng ký tự với xâu ký tự
- Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng ký
tự của xâu
- Biết các phép toán liên quan xâu
- Biết được sự lợi ích của các hàm và thủ tục liên quan xâu trong ngôn ngữlập trình Pascal
- Nắm được cấu trúc chung và chức năng của một số hàm và thủ tục liênquan đến xâu của ngôn ngữ lập trình Pascal
2.3.4 Mô tả mức độ yêu cầu, kiểm tra, đánh giá
BẢNG THAM CHIẾU CÁC MỨC YÊU CẦU CẦN ĐẠT CỦA CÂU
HỎI, BÀI TẬP KIỂM TRA ĐÁNH GIÁ
Biết cấu trúc khai báo biến xâu
Biết các phéptoán làm việc với xâu
Phân biệt được sự khác nhau giữ xâu
và mảng
Cho ví dụ một số xâuKhai báo được biến xâu trong mộtbài toán cụ thể
Trang 8Bài tập định
lượng
Phân biệt được khai báo xâu đúng hay sai
Lựa chọn kếtquả của các phép toán trên xâu
Bài tập thực
hành
Lựa chọn được hàm/
thủ tục phù hợp cho tình huống cụ thể
Viết được khai báo xâu cho một tình huống cụ thể
Biết lựa chọn kết quả phù hợp cho bài toán
Giải thích được ý nghĩa của một đoạn lệnh đơn giảncho trướcBài tập định
lượng
Chọn kết quả phù hợp với tình huống cụthể
Bài tập thực
hành
Đưa ra được kết quả thực hiện của các hàm/ thủ tục
Viết được đoạn chương trình giải quyết bài toán trong tình huống quen thuộc
Viết được đoạn chương trình giải quyết bài toán trong tình huống mới
Viết được chương trình cho bài
Trang 9trong tình huống quen thuộc
toán trong tình huống mới
2.3.5 Biên soạn câu hỏi, phiếu học tập, bài tập
Nội dung 1 Tìm hiểu khái niệm xâu, khai báo xâu, các phép toán dùng
trong xâu ND1.ĐT.VDT1 Cho ví dụ một vài xâu kí tự?
ND1.ĐT.NB1. Trong ngôn ngữ lập trình Pascal, xâu kí tự là?
ND1.ĐT.NB2 Trong ngôn ngữ lập trình Pascal, xâu không có kí tự nào gọi
là?
A Xâu không C Xâu trắng
B Xâu rỗng D Không phải là xâu kí tự
ND1.ĐT.TH3 Em hãy so sánh kiểu xâu và kiểu mảng ?
ND1.ĐT.TH4. Trong Pascal, phần tử đầu tiên của xâu kí tự có chỉ số là ?
B Do người lập trình khai báo D Không có chỉ số
ND1.ĐL.TH1 Kết quả của chương trình in ra màn hình cái gì?
Var st:string;
Trang 10xâu lần lượt từ trái qua phải
C Độ dài thực sự của hai xâu
B Độ dài tối đa của hai xâu D Số lượng các kí tự khác nhau
trong xâu
ND1.ĐL.TH3 Kết quả của chương trình in ra màn hình?.
Var b:boolean;
Beginb:= ‘AB’ < ‘AC’;
Write(b);
readln;
End
ND1.ĐT.TH5. Trong các phép so sánh sau, phép so sánh nào đúng?
A ‘abcdh’ > ’abcdef’ C ‘cba’< ‘abc’
B ‘abc’ = ‘ABC’ D ‘ccb’ < ‘abcdef’
Nội dung 2 Các hàm và thủ tục xử lí xâu ND2.ĐT.NB1: Ý nghĩa của Length và của xâu st?
ND2.ĐT.TH1 Cho str là một xâu kí tự, đoạn chương trình sau thực hiện
D In từng kí tự ra màn hình theo thứ tựngược;
ND2.ĐL.TH1 Đoạn chương trình sau in ra kết quả nào ?
Program Welcome ;Var a : string[10];
Trang 11ND2.TH.VDC1: Viết đoạn chương trình đổi xâu kí tự từ in hoa sang in
thường ?
ND2.TH.TH1 Điền kết quả vào bảng sau
ND2.TH.TH2-Điền kết quả vào bảng?
Giá trị của st Thao tác Kết quả
‘ABCDEF’ Delete(st,5,2)
‘BONG HONG’ Delete(st,1,5)
ND2.TH.VDT2: Viết chương trình nhập một xâu và xoá đi các dấu cách
thừa ở đầu xâu
ND2.TH.TH3
‘abcdef’ pos(‘cd’,S)
‘abcdef’ Pos(‘k’,S)
ND2 ĐT.TH3. Để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta viết:
A s1:=’hoa’; i:=pos(s1,’hoa’) C i:=pos(S,’hoa’)
B i:=pos(‘hoa’,S) D i:=pos(‘hoa’ , ’hoa’)
ND2.TH.VDT3 Viết chương trình nhập vào một xâu st Xét xem trong xâu
có dấu cách hay không?
ND2.TH.VDC2 Viết đoạn chương trình nhập vào một xâu ký tự In ra xâu
đó sau khi đã xóa hết ký tự trắng thừa trong xâu (Ký tự trắng thừa là các ký tựđầu xâu, cuối xâu và nếu giữa xâu có 2 ký tự trắng liên tiếp nhau thì có một ký
A ‘Ha Noi Mua thu’ C ‘Mua thu Ha Noi’
B ‘Mua thu Ha Noi mua thu’ D ‘Ha Noi’
Trang 12ND2.TH.VDT4 : Viết đoạn chương trình nhập vào 3 xâu s1, s2, s (với xâu
s1 xuất hiện một và chỉ đúng 1 lần trong xâu s) Tìm và thay thế xâu s1 thànhxâu s2 trong xâu s
Chẳng hạn: s1 := 'hoc'; s2:= 'bai tap'; s :='hoc tin hoc'; kết quả sau khithay thế s1 thành s2 là s = 'bai tap tin hoc'
2.3.6 Thiết kế tiến trình dạy học
NỘI DUNG 1 KHÁI NIỆM XÂU KÍ TỰ, KHAI BÁO XÂU, CÁC PHÉP TOÁN TRÊN XÂU
A KHỞI ĐỘNG
Hoạt động 1 Kiểm tra bài cũ
Câu hỏi: Hãy viết khai báo mảng cho bài toán nhập vào họ tên của một học
sinh có độ dài không quá 50 kí tự
Trả lời: VAR Ten: array[1 50] of char;
Câu hỏi đặt vấn đề: Nếu như bài toán yêu cầu nhập vào họ tên của một lớp
không quá 50 học sinh thì phải làm thế nào?
Trả lời: Chúng ta phải khai báo kiểu mảng của mảng, hay mảng 2 chiều Vì
vậy chương trình trở nên dài dòng và phức tạp
Giáo viên: Để giải quyết các bài toán kiểu kí tự một cách thuận lợi thì ta sử
- Biết được một kiểu dữ liệu mới, biết được khái niệm kiểu xâu
- Phân biệt được sự giống và khác giữa kiểu mảng ký tự với xâu ký tự
- Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng ký
tự của xâu
(2) Phương pháp/Kĩ thuật: Đàm thoại, vấn đáp
(3) Hình thức tổ chức hoạt động: Cá nhân và thảo luận nhóm
(4) Phương tiện dạy học: SGK, máy tính, máy chiếu
(5) Sản phẩm: Học sinh biết
NỘI DUNG HOẠT ĐỘNG
1 Khái niệm xâu kí tự
Xâu là dãy kí tự thuộc bộ mã ASCII, mỗi kí tự là một phần tử của xâu Sốlượng các kí tự trong xâu gọi là độ dài xâu Xâu có độ dài bằng không gọi là xâurỗng
2 Cách khai báo:
Var: STRING[độ dài của xâu];
- Xâu kí tự trong bộ nhớ nó chiếm số byte bằng số kí tự cực đại được khaibáo cộng với byte đầu tiên chứa số kí tự hiện có của xâu Độ dài tối đa của xâu
kí tự là 255
Trang 133 Cách nhập/xuất:
Cách đọc hay viết kiểu STRING cũng tương tự như các kiểu dữ liệukhác, ta sử dụng các thủ tục READ, hoặc WRITE
Ví dụ: Readln(st); Writeln(st);
4 Truy cập từng phần tử của xâu kí tự:
Việc truy cập đến phần tử trong xâu tương tự mảng 1 chiều được
thông qua tên biến xâu và chỉ số của nó
Ví dụ: St := 'Le Thanh Lam'; write(st[4]);
-> Kết quả: cho ra chữ T
PHIẾU CÂU HỎI
Câu 1 Em hãy viết khai báo cho xâu st có độ dài tối đa không quá 100 kí
tự?
Câu 2. Trong ngôn ngữ lập trình Pascal, khai báo xâu kí tự nào sai?
A S: string; C S : string[256];
B X1: string[100]; D X1: string[1];
Câu 3 Cho khai báo sau :
Var hoten : String;
Phát biểu nào dưới đây là đúng ?
E Câu lệnh sai vì thiếu độ
dài tối đa của xâu;
F Xâu có độ dài lớn nhất là
0;
G Xâu có độ dài lớn nhất là255;
H Cần phải khai báo kíchthước của xâu sau đó;
Hoạt động 2 Các phép toán trên xâu kí tự
(1) Mục tiêu: Biết các phép toán liên quan xâu
(2) Phương pháp/Kĩ thuật: Rèn luyện tư duy phân tích, tổng hợp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm
(4) Phương tiện dạy học: SGK, máy tính, máy chiếu
(5) Sản phẩm: Học sinh biết sử dụng các phép toán trên xâu để giải quyếtmột bài toán đơn giản
NỘI DUNG HOẠT ĐỘNG
Hai xâu kí tự được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độdài như nhau)