SKKN Dạy học kiểu dữ liệu xâu theo định hướng phát triển năng lực học sinh
Qua nghiên cứu thực tế dạy học cho thấy việc rèn luyện phương pháp học tập cho học sinh không chỉ là một biện pháp nâng cao hiệu quả dạy học mà còn là mục tiêu dạy học. Hiện nay một số học sinh học rất chăm chỉ nhưng vẫn học chưa tốt, nhất là ở các môn tự nhiên, những em này thường học bài nào biết bài đấy, học phần sau đã quên phần trước và không biết liên kết các kiến thức với nhau, không biết vận dụng kiến thức đã học trước đó vào những phần sau. Phần lớn số học sinh này khi đọc sách hoặc nghe giảng trên lớp không biết cách tự ghi chép để lưu thông tin, lưu kiến thức trọng tâm vào trí nhớ của mình. Dạy học theo định hướng phát triển năng lực học sinh sẽ học được phương pháp học, tăng tính độc lập, chủ động, sáng tạo và phát triển tư duy. Cách học này còn phát triển được năng lực riêng của từng học sinh không chỉ về trí tuệ, hệ thống hóa kiến thức (huy động những điều đã học trước đó để chọn lọc các ý để ghi) mà còn là sự vận dụng kiến thức được học qua sách vở vào cuộc sống. Kể từ năm học 2014 - 2015, hình thức dạy học theo định hướng phát triển năng lực đã tập huấn đến từng giáo viên. Phương pháp có ưu điểm là phát huy tối đa tính sáng tạo của học sinh, phát triển năng khiếu. Tất cả những điều đó làm học sinh giảm áp lực trong học tập.
MỤC LỤC Trang I. Mở đầu . 2 1.1. Lí do chọn đề tài ... 2 1.2. Mục đích nghiên cứu .... 2 1.3. Đối tượng nghiên cứu 3 1.4. Phương pháp nghiên cứu ... 3 II. Nội dung sáng kiến kinh nghiệm ... 3 2.1. Cơ sở lí luận ...... 3 2.2. Thực trạng vấn đề trước khi áp dụng SKKN .... 3 2.3. Giải quyết vấn đề và tổ chức thực hiện ........ 4 2.4. Hiệu quả bước đầu của SKKN .... 18 III. Kết luận, kiến nghị .... 19 3.1. Kết luận 19 3.2. Kiến nghị .. 20 DẠY HỌC KIỂU DỮ LIỆU XÂU THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC HỌC SINH I. MỞ ĐẦU 1.1. Lí do chọn đề tài. Qua nghiên cứu thực tế dạy học cho thấy việc rèn luyện phương pháp học tập cho học sinh không chỉ là một biện pháp nâng cao hiệu quả dạy học mà còn là mục tiêu dạy học. Hiện nay một số học sinh học rất chăm chỉ nhưng vẫn học chưa tốt, nhất là ở các môn tự nhiên, những em này thường học bài nào biết bài đấy, học phần sau đã quên phần trước và không biết liên kết các kiến thức với nhau, không biết vận dụng kiến thức đã học trước đó vào những phần sau. Phần lớn số học sinh này khi đọc sách hoặc nghe giảng trên lớp không biết cách tự ghi chép để lưu thông tin, lưu kiến thức trọng tâm vào trí nhớ của mình. Dạy học theo định hướng phát triển năng lực học sinh sẽ học được phương pháp học, tăng tính độc lập, chủ động, sáng tạo và phát triển tư duy. Cách học này còn phát triển được năng lực riêng của từng học sinh không chỉ về trí tuệ, hệ thống hóa kiến thức (huy động những điều đã học trước đó để chọn lọc các ý để ghi) mà còn là sự vận dụng kiến thức được học qua sách vở vào cuộc sống. Kể từ năm học 2014 - 2015, hình thức dạy học theo định hướng phát triển năng lực đã tập huấn đến từng giáo viên. Phương pháp có ưu điểm là phát huy tối đa tính sáng tạo của học sinh, phát triển năng khiếu. Tất cả những điều đó làm học sinh giảm áp lực trong học tập. Phương pháp Dạy học theo định hướng phát triển năng lực trong dạy học Tin học sẽ dần dần hình thành cho học sinh tư duy mạch lạc, hiểu biết vấn đề một cách sâu sắc, có cách nhìn vấn đề một cách hệ thống, khoa học. Chính vì vậy, tôi mạnh dạn viết sáng kiến “DẠY HỌC KIỂU DỮ LIỆU XÂU THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC HỌC SINH”. Hy vọng rằng những kinh nghiệm này của tôi có thể góp phần giúp các em học sinh hiểu bài hơn và có hứng thú hơn với môn Tin học. 1.2. Mục đích nghiên cứu Mục tiêu nghiên cứu của đề tài là giúp các em học sinh lớp 11 khi học kiểu dữ liệu xâu thay vì cách tiếp cận theo nội dung sẽ là cách tiếp cận theo định hướng phát triển năng lực. Thông qua các ví dụ và bài tập học sinh sẽ biêt vận dụng các thao tác xử lí xâu để viết chương trình. Đồng thời thông qua các bài tập này để phát triển năng lực tư duy phát hiện và giải quyết vấn đề, tư duy sáng tạo cho học sinh. 1.3. Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là kiểu dữ liệu xâu trong chương trình tin học 11. Sử dụng hình thức dạy học theo định hướng phát triển năng lực để học sinh nắm vững và vận dụng thành thạo các thao tác xử lí xâu. 1.4. Phương pháp nghiên cứu Nghiên cứu lí luận: Nghiên cứu các tài liệu về kiểu dữ liệu có cấu trúc nói chung, kiểu dữ liệu xâu nói riêng trong chương trình tin học 11. Nghiên cứu thực tiễn: Khảo sát năng lực học sinh khi xử dụng kiểu dữ liệu xâu để viết chương trình. Thực nghiệm sư phạm: Tiến hành thực nghiệm trên những đối tượng học sinh cụ thể nhằm đánh giá hiệu quả của đề tài. II. NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1. Cơ sở lí luận: Môn Tin học không phải là môn khoa học lý thuyết thuần túy vì vậy học sinh không thể nhớ nếu như không hiểu bài. Việc giáo viên bắt học sinh ghi nhớ thụ động từng nội dung trong sách giáo khoa là một điều rất khó, cho dù học sinh có cố gắng ghi nhớ thì vẫn bị lẫn lộn. Do đó, giáo viên phải không ngừng đổi mới phương pháp dạy học, lấy “chuẩn kiến thức, kỹ năng” làm kim chỉ nam trong quá trình dạy học, đồng thời phải biết chọn nội dung “lồng ghép” phù hợp với kiến thức trong từng bài giảng, nhằm hình thành cho học sinh thói quen tích cực, độc lập, sáng tạo và giải quyết tình huống có vấn đề. Một trong những phương pháp dạy học mới và hiện đại nhất được đưa vào là phương pháp dạy học theo định hướng phát triển năng lực. Đây một phương pháp dạy học mới đang được rất nhiều nước trên thế giới áp dụng. Qua việc tìm hiểu và vận dụng phương pháp dạy học theo định hướng phát triển năng lực, tôi nhận thấy phương pháp dạy học này rất có hiệu quả trong quá trình dạy học của giáo viên và học tập của học sinh 2.2. Thực trạng của vấn đề trước khi áp dụng SKKN Từ thực tiễn giảng dạy phần “kiêu xâu” trong chương trình tin học lớp 11 tại trường THPT Tống Duy Tân tôi nhận thấy rằng: Sau khi học xong, giáo viên kiểm tra lại khả năng nhớ bài và khả năng trình bày lại phần nội dung chính trong bài thì học sinh thể hiện rất máy móc, gò bó. Học sinh chỉ nhớ qua loa và học bài theo hình thức thuộc lòng, những kỹ năng vận dụng rất hạn chế. Do không nhớ được trình tự cú pháp các câu lệnh, các thao tác xử lí xâu nên học sinh không viết ra được những gì mình nhớ, không thực hiện được các thao tác cơ bản với kiểu xâu. Cũng chính vì vậy mà học sinh không hoàn thành được mục tiêu kiến thức kỷ năng mà giáo viên đã đặt ra. 2.3. Giải quyết vấn đề và tổ chức thực hiện Bước 1: Lựa chọn chủ đề, nội dung dạy học Chủ đề: Kiểu dữ liệu xâu. Bước 2: Xác định yêu cầu kiến thức, kĩ năng, thái độ Kiến thức: - Biết định nghĩa kiểu dữ liệu xâu; - Biết cú pháp khai báo xâu, truy cập phần tử của xâu; - Biết một số hàm và thủ tục xử lí xâu; - Hiểu một số chương trình đơn giản có sử dụng kiểu dữ liệu xâu; Kỹ năng: - Biết khai báo biến kiểu xâu; - Biết sử dụng một số hàm và thủ tục xử lí xâu; Thái độ: - Thấy được sự cần thiết của kiểu dữ liệu xâu khi xử lí dữ liệu là kí tự; - Học sinhh làm quen dần với các chương trình xử lí dữ liệu dạng văn bản; - Tiếp tục rèn luyện tư duy lập trình. Bước 3: Lập bảng mô tả yêu cầu cần đạt Nội dung Loại câu hỏi/bài tập Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao 1. Khai báo. Câu hỏi/bài tập định tính HS chỉ ra được dữ liệu trong các bài toán không chỉ thuộc kiểu số mà cả kiểu phi số - dạng kí tự. HS chỉ ra và giải thích được các kiểu dữ liệu đã được học chủ yếu được thực hiện đối với kiểu số. HS tìm hiểu và đề xuất các thao tác có thể khi làm việc với kiểu dữ liệu kí tự. HS chỉ ra được ưu điểm và sự cần thiết của kiểu dữ liệu xâu. Bài tập định lượng Hs biết cú pháp khai báo xâu HS biết các cách khai báo xâu. Tham chiếu đến các phần tử trong xâu. HS lấy được ví dụ khai báo xâu. Bài tập thực hành HS thực hiện khai báo các biến kiểu xâu. HS chỉ ra các khai báo kiểu xâu đúng (sai) trong các ví dụ khai báo xâu. 2. Các thao tác xử lí xâu. Câu hỏi/bài tập định tính HS biết được cú pháp ghép xâu HS biết được cú pháp so sánh hai xâu. HS biết được các hàm thường dùng khi làm việc với xâu. HS biết được các thủ tục thường dùng khi làm việc với xâu HS hiểu được các thành phần trong câu lênh ghép nhiều xâu thành một.. HS hiểu được quy ước so sánh hai xâu kí tự. HS hiểu được ý nghĩa các hàm thường dùng khi làm việc vời xâu. HS hiểu được ý nghĩa các thủ tục thường dùng khi làm việc vời xâu. HS lấy được ví dụ ghép xâu. HS lấy được ví dụ so sánh hai xâu HS lấy được ví dụ trường hợp sử dụng các hàm khi làm việc với kiểu dữ liệu kí tự (xâu). HS lấy được ví dụ trường hợp sử dụng các thủ tục khi làm việc với kiểu dữ liệu kí tự (xâu). Bài tập định lượng HS biết thao tác ghép nhiều xâu thành một xâu. Học sinh biết được ý nghĩa các hàm và thủ tục xử lí xâu. HS hiểu được ý nghĩa của phép ghép xâu, phép so sánh hai xâu. Học sinh hiểu được ý nghĩa các hàm và thủ tục xử lí xâu. HS viết được chương trình có sử dụng phép ghép xâu, phép so sánh hai xâu. HS viết được các chương trình có sử dụng kiểu dữ liệu xâu. Trong chương trình có các hàm và thủ tục xử lí xâu. HS viết được chương trình sử dụng kết hợp các thao tác ghép xâu, so sánh hai xâu thực hiện một tình huống mới. HS viết được các chương trình kết hợp các thao tác xử lí xâu thực hiện một tình huống mới trong bài toán lập trình. Bài tập thực hành HS vận dụng kiểu dữ liệu xâu, các phép ghép xâu, phép so sánh, các hàm và thủ tục hàm xử lí xâu kết hợp với các kiêu dữ liệu khác đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống quen thuộc. HS vận dụng kiểu dữ liệu xâu, các phép ghép xâu, phép so sánh, các hàm và thủ tục hàm xử lí xâu kết hợp với các kiêu dữ liệu khác đã học để viết được chương trình hoàn chỉnh giải quyết vấn đề trong tình huống mới. Bước 4: Đề xuất năng lực có thể hướng tới Qua dạy học chủ đề “kiểu dữ liệu xâu” có thể hướng tới hình thành và phát triển năng lực: - Năng lực sử dụng ngôn ngữ, thao tác với kiểu dữ liệu xâu bước đầu làm quen với khái niệm hàm và thủ tục. - Năng lực thực hành thao tác với xâu. - Năng lực thực hành, vận dụng kiến thức tin học vào cuộc sống.. Bước 5: Tiến trình dạy học. Chuẩn bị của giáo viên và học sinh: - Chuẩn bị của học sinh: Sách GK tin 11, vở ghi. - Chuẩn bị của giáo viên: + Giáo án, Sách GK Tin 11, Sách GV Tin 11, chuẩn kiến thức kĩ năng Tin học 11, máy tính, máy chiếu; + Giáo viên chuẩn bị các chương trình có sử dụng kiểu dữ liệu xâu, các thao tác cơ bản với xâu (sử dụng để chạy minh họa các chương trình trong Pascal và trình chiếu) Chương trình ghép xâu (chương trinh 1- hoạt động 7) Chương trình có sử dụng kết hợp thủ tục delete và insert (chương trinh 2- hoạt động 10) Chương trình bài tập 1 (chương trình 3- hoạt động 13). Chương trình bài tập 2 (chương trình 4 - hoạt động 13). Chương trình sử dụng kết hợp các thao tac xử lí xâu bài tập 3 (chương trình 5- hoạt động 14) Chương trình sử dụng kết hợp các thao tac xử lí xâu bài tập 4 (chương trình 6 - hoạt động 14) Chương trình sử dụng kết hợp các thao tac xử lí xâu bài tập 5 (chương trình 7 - hoạt động 14) Hoạt động 1. Lựa chọn tình huống công việc (gợi động cơ). GV đặt vấn đề yêu cầu HS hãy cho biết các kiểu dữ liệu từ trước đến nay ta sử dụng chủ yếu thuộc loại số hay phi số? GV nhận xét câu trả lời và nhấn mạnh các kiểu dữ liệu đã học chủ yếu là các kiểu dữ liệu loại số. Hoạt động 2: Phát hiện tình huống có vấn đề. GV đặt vấn đề vậy với những bài toán có sử dụng kiểu dữ liệu kí tự (văn bản) thì thực hiện như thế nào? GV nhận xét và trình bày cho học sinh thấy nếu chỉ sử dụng kiểu dữ liệu chuẩn Char (kiểu kí tự) đã học thì có thể sẽ không hoàn thành được các bài toán. GV nêu vấn đề yêu cầu học sinh chỉ ra cách khắc phục hạn chế của kiểu dữ liệu Char (kiểu kí tự chuẩn đã học). Giới thiệu kiểu dữ liệu xâu có thể khắc phục các nhược điểm trên. Hoạt động 3: HS đọc skg. Hoạt động 4: Tìm hiểu về định nghĩa xâu, cách tham chiếu đến các phần tử trong xâu. GV yêu cầu học sinh cho biết định nghĩa xâu. GV trình bày để học sinh biết được xâu trong ngôn ngữ lập trình pascal được viết trong cặp dấu nháy đơn. GV trình bày cho HS thấy rằng có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự. GV yêu cầu học sinh dựa vào cách thức truy cập phần tử trong mảng một chiều trình bày cách tham chiếu phần tử trong xâu. Ví dụ 1: Xâu st là ‘Hoc_sinh’ st[1] là ‘H’ st[5] là ‘s’ Hoạt động 5: Tìm hiểu về cú pháp khai báo xâu. GV yêu cầu học sinh đọc tìm hiểu SGK và cho biết cú pháp khai báo xâu. GV trình bày cú pháp khai báo xâu. Chú ý nhấn mạnh xâu trong Turbo pascal có độ dài tối đa 255 kí tự. GV trình bày (ghi bảng) cú pháp khai báo xâu. VAR : string[]; Hoặc VAR : string; GV giải thích các thành phần trong cú pháp khai báo xâu. Lưu ý HS không cần phải ghi phần giải thích. GV đưa ra các ví dụ về khai báo biến xâu. Yêu cầu học sinh lấy ví dụ tương tự về việc khai báo biến xâu. Ví dụ 2: VAR St: string[10]; Hoten: string[20]; Diachi: string; {độ dài ngầm định là 255} GV lưu ý học sinh trong lập trình khi đặt tên các biến ngoài việc đặt tên gần với ý nghĩa bài toán, ta thường đặt các biến xâu là st, st1,st2,st3... để tạo thành thói quen tránh nhầm lẫn sau này. GV yêu cầu học sinh chỉ ra các khai báo đúng trong phần khai báo sau: Ví dụ 3: VAR St1, St2: string[50]; St3: string(30); St3: string[300]; GV nhận xét phần trình bày của học sinh. Đồng thời nhắc lại cú pháp khai báo xâu. Hoạt động 6: HS đọc skg. Hoạt động 7: Tìm hiểu về thao tác ghép xâu. GV yêu cầu HS đọc thông tin SGK và cho biết thao tác ghép xâu là gì? GV nhấn mạnh thao tác ghép xâu cho phép ghép nhiều xâu thành một xâu GV trình bày (ghi bảng) cú pháp ghép xâu. Ví dụ 4: ‘Viet’ + ’ Nam’ ta được xâu ‘Viet Nam’ ‘Hoc’ + ‘-‘ +’mon’ + ‘-‘ + ‘tin’ ta được xâu ‘Hoc-mon-tin’ GV trình chiếu mô phỏng các thao tác ghép xâu bằng chương trình đã được chuẩn bị sẵn. Program ghep_xau; {chương trình 1} Var st, st1, st2: string; Begin st1:= ‘Thanh’; st2:= ‘_Hoa’; st:= st1 + st2; writeln(‘ Ket qua la’, st); readln; End. GV chạy chương trình, cho HS xem kết quả. Hoạt động 8: Tìm hiểu về các phép so sánh hai xâu. GV yêu cầu HS đọc thông tin SGK và cho biết các phép so sánh hai xâu. GV (ghi bảng) các phép so sánh hai xâu bao gồm =, , =. GV yêu cầu học sinh cho biết qui tắc so sánh hai xâu. GV giải thích cho học sinh biết trong bài lập trình nếu có phép so sánh ngôn ngữ lập trình pascal sẽ sử dụng qui tắc này để so sánh. GV đặt vấn đề hãy sử dụng qui tắc so sánh để so sánh hai xâu trong ví dụ sau. Ví dụ 5: ‘Hoc’ và ‘Hoc’ ‘Hoc’ và ‘Hoc sinh’ ‘Hoc_bai’ và ‘Lam_bai’ GV nhận xét phần trả lời của học sinh. Hoạt động 9: Giới thiệu các thủ tục xử lí xâu. GV giới thiệu về các thủ tục xử lí xâu: Thủ tục delete(st,vt,n) GV giới thiệu các thành phần trong thủ tục st là xâu, vt và n là các giá trị nguyên (lưu ý các đại lượng st, vt, n sẽ được sử dụng tiếp ở các thủ tục và hàm xử lí xâu tiếp theo). GV giới thiệu ý nghĩa của thủ tục là xóa n kí tự trong xâu st bắt đầu từ vị trí vt (lưu ý xâu st bị thay đổi sau khi xóa n kí tự) GV trình bày ví dụ Ví dụ 6: st := ‘Thanh_hoa’ Delete(st,6,4); Sau khi thực hiện thủ tục xâu st còn lại là: ‘Thanh’ GV đặt vấn đề. Hãy theo dõi ví dụ sau (GV có thể trình chiếu ví dụ lên bảng) Ví dụ 7: St := ‘Vinh_hung’; Delete(st,1,5); GV đặt vấn đề sau khi thục hiện thủ tục xâu st còn lại là gì. GV nhận xét kết quả và cho biết xâu st còn lại là ‘hung’ (nếu học sinh trả lời sai giáo viên có thể giải thích để học sinh rõ) Thủ tục insert(st1, st2, vt); Chèn xâu st1 vào xâu st2 bắt đầu từ vị trí vt. GV trình bày ví dụ. Ví dụ 8: st1:=’mon’; st2:= ‘hoc--sinh’; Insert(st1, st2, 5); Sau khi thưc hiện thủ tục xâu st2 là: ‘hoc-mon-sinh’ GV đặt vấn đề. Hãy theo dõi ví dụ sau (GV có thể trình chiếu ví dụ lên bảng) Ví dụ 9: St11 := ‘va’; St2:=’hoa--hong’; Insert(st1,st2, 5); GV đặt vấn đề sau khi thục hiện thủ tục xâu st2 là gì? GV nhận xét kết quả và cho biết xâu st2 là ‘hoa-và-hong’’ (nếu học sinh trả lời sai giáo viên có thể giải thích để học sinh rõ) Hoạt động 10: GV chiếu chương trình đã được chuẩn bị sẵn có sử dụng thủ tục delete và insert yêu cầu học sinh cho biết kết quả. Program tong_hop; {chương trình 2} Var st, st1, st2: string; Begin st1 := ‘Vinh_Loc’; st2 := ‘Hung’; delete(st1,6,3); Writeln(‘ket qua 1’, st1); insert(st2, st1, 6); Writeln(‘ket qua2’, st1); Writeln(‘ket qua3’, st2); readln; End. GV nhận xét câu trả lời của học sinh (lưu ý đây là chương trình đầu tiên có sử dụng kết hợp thủ tuc delete và insert có thể học sinh trả lời chưa chính xác kết quar1, kết quar2 và kết quả 3). GV chạy chương trình và giải thích các kết quả cho học sinh. Như vậy học sinh sẽ nhớ và hiêu ý nghĩa các thủ tục vừa học. Hoạt động 11: Giới thiệu các hàm xử lí xâu GV giới thiệu về các hàm xử lí xâu: Hàm copy(st,vt,n) tạo xâu gồm n kí tự liên tiếp bắt đầu tự vị trí vt của xâu st. GV Giới thiệu các thành phần và ý nghĩa của hàm copy. GV trình bày ví dụ Ví dụ 10: st:= ‘Tin_hoc’; st1:= copy(st,4,3); Sau khi thực hiện xong hàm trên xâu st1 là ‘học’ GV cần nhấn mạnh hàm copy() tạo ra một xâu mới từ những kí tự trong xâu đã có. GV đặt vấn đề. Hãy theo dõi ví dụ sau (GV có thể trình chiếu ví dụ lên bảng) Ví dụ 11: st := ‘Vinh_loc’; st1:=copy(st,1,4); GV đặt vấn đề sau khi thực hiện hàm ta được xâu st1là gì? GV nhận xét kết quả và cho biết xâu st1 là ‘Vinh’ (nếu học sinh trả lời sai giáo viên có thể giải thích để học sinh rõ) GV giới thiệu tiếp các hàm xử lí xâu: Hàm Length(st): Cho kết quả là độ dài xâu st. GV đặt vấn đề tập giá trị của hàm length() là gì? GV nhấn mạnh kết quả hàm trả về là độ dài xâu vì vậy giá trị của hàm trong khoảng từ 0 đến 255. Ví dụ 12: St:= ‘Tin_hoc’ X:= length(st); X có giá trị là 7. Hàm Pos(st1, st2): Cho vị trí xuất hiện đầu tiên của xâu st1 trong st2. GV giải thích ý nghĩa của hàm. Cần nhấn mạnh vị trí đầu tiên là gì. Trường hợp có nhiều xâu st1 trong st2 (tức là có nhiều vị trí) thì hàm sẽ trả về kết quả là vị trí đầu tiên. GV trình bày ví dụ. Ví dụ 13: st1:= ‘a’; st2:= ‘cdbae’; X:=pos(st1,st2); X sẽ có giá trị là 4. Gv đặt vấn đề hãy theo dõi ví dụ sau và cho biết giá trị của hàm pos? Ví dụ 14: st1:=’a’; st2:= ‘cabdaeah’; x:=pos(st1,st2); GV nhấn mạnh giá trị của x là 2. Trong xâu st2 có nhiều xâu st1 nhưng hàm trả về kết quả là vị trí đầu tiên. Hàm upcase(ch): cho kết quả là chữ cái viết hoa của ch (ch là kí tự). GV lưu ý học sinh xâu là dãy các kí tự. Muốn viết hoa xâu ta phải viết hoa lần lươt tất các kí tự trong xâu. GV trình bày ví dụ. Ví dụ 14: ch:=’b’; ch1:=upcase(ch); Ta được kí tự ch1 là ‘B’. Hoạt động 12: Giới thiệu chương trình. GV chiếu chương trình có sử dụng các hàm và thủ tục. Thực hiện chạy các chương trình trong TP hoặc Freepascal. GV nhắc các em quan sát chương trình không ghi chép. Program do_dai_xau; {chương trinh 3} Var st: string; N: byte; Begin Write(‘nhap xau’); Readln(st); N:= length(st); Writeln(‘ xau vua nhap la’, st); Writeln(‘Xau có do dai’, N); Readln; End. GV chạy chương trình, cho HS xem kết quả. GV chỉ vào chương trình và giải thích các câu lênh chứa các hàm xử lí xâu. Program Vi_tri; {chương trinh 5} Var st, st1, st2: string; N, M:byte Begin st:=’ab’; st1:= ‘abc’; st2:=’abdceab’; N:=pos(st,st2); M:=pos(st1,st2); Writeln(‘Vi tri xau’, st, ‘trong xau’, st2, ‘ la: ’, N); Writeln(‘Vi tri xau’, st1, ‘trong xau’, st2 ,‘ la: ’, M); Readln; End. GV chạy chương trình, cho HS xem kết quả. GV chỉ vào chương trình và giải thích các câu lênh chứa các hàm xử lí xâu. GV trình chiếu chương trình kết hợp một số hàm xử lí xâu. Program Viet_hoa; {chương trinh 6} Var st: string; N, i: byte; Begin Write(‘Nhap xau’) Readln(‘st); N:= lenhth(st); Writeln(‘Xau vua nhap la’, st); For i:=1 to N do st[i]:= upcase(st[i]); Writeln(‘Xau viet hoa la: ’, st) ; Readln; End. GV giải thích chương trình, chạy chương trình cho học sinh xem kết quả. Đồng thời giải thích cho học sinh ở đây ta đã truy cập từng phần tử trong xâu (tương tự như mảng một chiều). GV có thể gợi động cơ cho học sinh giả sử yêu cầu của bài toán chỉ là viết hoa một phần trong xâu ta sẽ xử lí như thế nào (trường hợp viết hoa phần tên trong xâu họ và tên)? Qua việc trả lời của học sinh như vậy học sinh đã có sự liên hệ đến bài toán thực tế. Hoạt động 13: Vận dụng các thao tác xử lí xâu (vận dụng thấp). GV yêu cầu HS hoàn thành bài tập sau: (Bài tập giải quyết tình huống thực tế). Bài tập 1: Viết chương trình nhập vào từ bàn phím hai xâu. Đưa ra màn hình xâu dài hơn, nếu bằng nhau thi đưa ra xâu nhập sau. GV có thể gợi ý cho HS vân dụng các câu lênh như trong chương trình 4 vừa trình chiếu (chương trình tính độ dài xâu). GV yêu cầu một HS lên bảng trình bày. Học sinh có thể làm một trong các chương trình tương đương như sau (chương trình học sinh làm có thể các em sử dụng các biến để lưu lại độ dài các xâu) Program bai_tap1; Var st1, st2: string; Begin Write(‘Nhap xau thu nhat’); Readln(st1); Writeln(‘Nhap xau thu hai’); Readln(st2); If length(st1) > length(st2) then Writeln(‘ Ket qua la’, st1) Else Writeln(
Tài liệu đính kèm:
- skkn_day_hoc_kieu_du_lieu_xau_theo_dinh_huong_phat_trien_nan.doc