Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 23 Tiết: 27 --------------------------------------------------------------------------------------------------------------------------- Ngày soạn: 22/2/2008 Ngày dạy: Lớp: Chương IV: Kiểu dữ liệu có cấu trúc §12. Kiểu xâu (tiết 1) I. Mục đích, yêu cầu: 1. Kiến thức Giúp HS biết xâu là một dãy kí tự (có thể coi xâu là mảng 1 chiều); Biết cách khai báo xâu, truy cập phần tử của xâu; Biết sử dụng một số thủ tục, hàm thông dụng về xâu; 2. Kỹ năng: Rèn luyện cho học sinh các kỹ năng: Khai báo kiểu xâu; So sánh hai xâu; Nhận biết và bước đầu sử dụng được các hàm, thủ tục xử lý xâu. 3. Thái độ: Tiếp tục gợi lòng ham muốn giải toán bằng lập trình trên máy tính; Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình. II. Phương pháp - phương tiện dạy học: Thuyết trình, nêu câu hỏi, gợi mở, thảo luận nhóm, tóm tắt và ghi ý chính; Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal; Netop school; Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi. III. NộI dung dạy – học: Nội dung bài giảng Hoạt động của thầy Hoạt động của trò Ổn định lớp; Ghi sổ đầu bài. Chào thầy. Cán bộ lớp báo sĩ số. Khái niệm Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự gọi là một phần tử của xâu. Số lượng phần tử trong xâu gọi là độ dài của xâu. Xâu có độ dài bằng 0 gọi là xâu rỗng. Tham chiếu đến một phần tử trong xâu xác định bởi tên xâu và chỉ số đặt trong cặp ngoặc vuông. 1. Khai báo kiểu xâu Var <tên biến> : string[độ dài lớn nhất]; Ví dụ: Var Hoten : string[26]; Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255. Ví dụ: Var Chuthich : string; Trình bày khái niệm về xâu. Nêu ví dụ; đặt câu hỏi vấn đáp. Xâu A: có giá trị là ‘Tin học’ Tên xâu là gì ? (A) Độ dài của xâu? (7) A[5] = ? (‘H’) Nhận xét, chốt lại ý chính. Chú ý: Xâu có độ dài bằng 0 gọi là xâu rỗng. Nêu cách khai báo kiểu xâu trong Pascal ? Cho ví dụ. Nhận xét, chốt lại ý chính, giải thích ví dụ. Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất] được không? Nhận xét, chốt lại ý chính. Chú ý lắng nghe, quan sát, ghi bài. Chú ý lắng nghe, quan sát, trả lời. Lắng nghe; ghi bài. Lắng nghe, đọc sách, trả lời. Lắng nghe; ghi bài. Lắng nghe, đọc sách, trả lời. Lắng nghe; ghi bài. Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Nội dung bài giảng Hoạt động của thầy Hoạt động của trò 2. Các thao tác xử lý xâu a. Phép ghép xâu: kí hiệu là « + », dùng để ghép nhiều xâu thành một xâu. Ví dụ:‘Ha’ + ‘ Noi’ + ‘ Viet Nam’ Cho kết quả là: ‘Ha Noi Viet Nam’ b. Phép so sánh: =,<>,<,<=,>,>= Qui tắc so sánh hai xâu: - Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn. Ví dụ: ‘Tin hoc’ = ‘Tin hoc’ - Xâu A>B nếu kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B. Ví dụ: ‘Ha Noi’ > ‘Ha Nam’ - Nếu xâu B là đoạn đầu của xâu A thì A>B. Ví dụ: ‘Tin hoc’ > ‘Tin’ c. Các thủ tục và hàm chuẩn: Thủ tục Delete(S,vt,n): xóa n kí tự của biến xâu S bắt đầu từ vị trí vt. Thủ tục Insert(S1,S2,vt): chèn xâu S1 vào xâu S2 bắt đầu ở vị trí vt. Hàm copy(S,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 S. Hàm Length(S): Cho giá trị là độ dài của xâu S. Hàm Pos(S1,S2): Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2. Hàm Upcase(ch) cho chữ cài in hoa ứng với chữ cái trong ch. Kí hiệu và ý nghĩa của phép ghép xâu? Nhận xét, chốt lại ý chính, nêu VD Nêu các phép so sánh 2 xâu. Qui tắc so sánh 2 xâu: - Hai xâu bằng nhau khi nào ? - Xâu A > B trong những trường hợp nào? Nhận xét, chốt lại ý chính, nêu VD Hãy so sánh: - ‘Toan hoc’ với ‘Toan lop 11’ Hãy đọc sách giáo khoa về các thủ tục và hàm chuẩn xử lý xâu, sau đó áp dụng giải các bài tập sau: 1. S:= ’Chuc mung nam moi’ Delete(S,6,5) cho kết quả: ? (’Chuc nam moi’) 2. T:= ’Tin hoc 11’ Insert(‘ lop’,T,8) cho kết quả: ? (‘Tin hoc lop 11’) 3. X:= ’Bai tap tin hoc’ Copy(X,5,7) cho kết quả: ? (‘tap tin’) 4. Length(X) cho kết quả: ? (15) 5. S1:= ’Hom nay thu 6’ Pos(‘thu’,S1) cho kết quả: ? (9) Gọi HS lên bảng nêu ý nghĩa của thủ tục, hàm và thực hiện bài tập tương ứng. Nhận xét, sửa bài, cho điểm. Lắng nghe, đọc sách, trả lời. Lắng nghe; ghi bài. Lắng nghe; quan sát, ghi bài. Lắng nghe, đọc sách, trả lời. Lắng nghe; quan sát, ghi bài. Lắng nghe, quan sát, trả lời. Lắng nghe, đọc sách, thực hiện các bài tập trên giấy nháp. Lên bảng thực hiện bài tập. Lắng nghe, quan sát, ghi bài. IV. Củng cố: Cách khai báo xâu trong Pascal? Cách truy cập đến một phần tử của xâu? Qui tắc so sánh hai xâu? V. Dặn dò: Xem trước nội dung phần 3. Một số ví dụ, trong sgk trang 71-72. VI. Rút kinh nghiệm: . . . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 23 Tiết: 28 --------------------------------------------------------------------------------------------------------------------------- Ngày soạn: 23/2/2008 Ngày dạy: Lớp: Chương IV: Kiểu dữ liệu có cấu trúc §12. Kiểu xâu (tiết 2) I. Mục đích, yêu cầu: 1. Kiến thức Biết cách khai báo xâu, truy cập phần tử của xâu; Biết vận dụng một số thủ tục, hàm thông dụng về xâu; Cài đặt được một số chương trình đơn giản có sử dụng xâu. 2. Kỹ năng: Rèn luyện cho học sinh các kỹ năng: Khai báo kiểu xâu; So sánh hai xâu; Nhận biết và bước đầu sử dụng được các hàm, thủ tục xử lý xâu. 3. Thái độ: Tiếp tục gợi lòng ham muốn giải toán bằng lập trình trên máy tính; Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình. II. Phương pháp - phương tiện dạy học: Nêu bài toán, đặt câu hỏi gợi mở, hướng dẫn, hoạt động thảo luận nhóm; Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal; Netop school; Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi. III. NộI dung dạy – học: Nội dung bài giảng Hoạt động của thầy Hoạt động của trò Ổn định lớp; Ghi sổ đầu bài. Chào thầy. Cán bộ lớp báo sĩ số. Kiểm tra bài cũ 1. Cách khai báo kiểu dữ liệu xâu trong Pascal. Cho ví dụ? 2. Qui tắc so sánh hai xâu. Cho ví dụ? 3. Nêu ý nghĩa các thủ tục và hàm chuẩn xử lý xâu đã học? Lần lượt gọi HS lên bảng trả lời câu hỏi. Gọi HS nhận xét, bổ sung. Nhận xét, sửa bài, cho điểm. Lắng nghe, lên bảng trả lời. Nhận xét, bổ sung (nếu cần). Lắng nghe. 1. Khai báo 2. Các thao tác xử lý xâu 3. Một số ví dụ Ví dụ 1: Nhập họ tên của hai người vào hai biến xâu, đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau. Chương trình: Var A, B: String; Begin Write(‘Nhap ho ten thu nhat: ‘); Readln(A); Write(‘Nhap ho ten thu hai: ‘); Readln(B); Nêu bài toán ví dụ 1. Cần khai báo mấy biến xâu? Viết khai báo. Viết biểu thức so sánh độ dài của hai xâu? Nhận xét, chốt lại câu trả lời. Hướng dẫn và viết chương trình. Các câu lệnh nhập giá trị cho hai biến xâu. Chú ý lắng nghe, trả lời vấn đáp câu hỏi. Lắng nghe, quan sát, ghi bài. Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Nội dung bài giảng Hoạt động của thầy Hoạt động của trò If length(A) > length(B) then write(A) else write(B); readln; End. Ví dụ 2: Viết CT nhập hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ 2 không. Chương trình: Var A, B: String; X: byte; Begin Write(‘Nhap xau thu nhat: ‘); Readln(A); Write(‘Nhap xau thu hai: ‘); Readln(B); X := length(B); If A[1] = B[X] then write(‘Trung nhau’) else write(‘Khac nhau’); readln; End. Ví dụ 3: Viết CT nhập vào một xâu từ bàn phím, đưa ra màn hình xâu đó nhưng theo thứ tự ngược lại. Ví dụ 4: Viết CT nhập vào một xâu từ bàn phím, đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách. Ví dụ 5: Viết CT nhập vào từ bàn phím xâu S1, đưa ra màn hình xâu S2 gồm tất cả các chữ số có trong S1. Lệnh xử lý theo yêu cầu của bài toán. Nêu bài toán ví dụ 2. Khai báo những biến nào? Truy cập đến phần tử đầu tiên của xâu A như thế nào? Truy cập đến phần tử cuối cùng của xâu B như thế nào? Nhận xét, chốt lại câu trả lời. Phần tử cuối cùng của xâu B nằm tại vị trí là độ dài của xâu B. Yêu cầu HS thảo luận theo nhóm tổ để viết chương trình. Quan sát và hướng dẫn HS thực hiện. Nhận xét, chốt lại chương trình đúng. Nêu các bài toán ví dụ 3, 4, 5. Yêu cầu HS tự suy nghĩ và viết chương trình sau đó so sánh với chương trình tương ứng trong sách giáo khoa để kiểm tra lại. Chú ý lắng nghe, trả lời vấn đáp câu hỏi. Thảo luận theo nhóm tổ, đọc sách để viết chương trình. Đại diện một nhóm lên trình bày chương trình. Lắng nghe, quan sát, ghi bài. Chú ý lắng nghe, về nhà thực hiện. Kiểm tra 15 phút (Đề kiểm tra kèm theo) Phát đề kiểm tra, quan sát, nhắc nhở HS làm bài nghiêm túc. Thực hiện bài làm trên đề kiểm tra. IV. Củng cố V. Dặn dò Thực hiện các câu hỏi và bài tập 1- 10 trang 79 – 80 trong sách giáo khoa; Thực hiện nội dung bài tập và thực hành 5 trang 73/sgk. Tiết sau thực hành. VI. Rút kinh nghiệm: . . . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 23 Tiết: 27 ---------------------------------------------------------------------------------------------------------------------------. . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 23 Tiết: 28 ---------------------------------------------------------------------------------------------------------------------------