i. Mục tiªu
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.
2. Kĩ năng:
- Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal. Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản
Tiết 29 Ngày soạn 09/12/09 Bài 14.KIỂU XÂU (tiết 1) Ngày giảng 11/12/09 Môc tiªu 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. Kĩ năng: - Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal. Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản. Tư duy: Logic các ki ểu đ ã học tạo ta khả năng lập trình với các chương trình phức tạp hơn. Thái độ: Chó ý , høng thó víi lËp tr×nh, nhiÖt t×nh víi bµi häc ChuÈn bÞ bµi gi¶ng Ph¬ng tiÖn: GV: Giáo án, bài giảng điện tử. HS: Sách giáo khoa, vở ghi. Xem trước bài học. Ph¬ng ph¸p d¹y häc Gîi më vÊn ®¸p §µm tho¹i §Æt vÊn ®Ò TiÕn tr×nh d¹y häc KiÓm tra bµi cò: Không Néi dung bµi gi¶ng: Ho¹t ®éng 1 Kiểu xâu. Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cua häc sinh 1. Tìm hiểu ý nghĩa của xâu ký tự. - Chiếu đề bài của bài toán đặt vấn đề: Viết chương trình nhập họ tên của 30 học sinh trong lớp. - Hỏi: Ta sẽ chọn kiểu dữ liệu như thế nào? Khai báo biến như thế nào? - Yêu cầu học sinh: Viết đoạn lệnh để nhập và xuất dữ liệu cho từng phần tử. - Hỏi: Có những khó khăn gì gặp phải? - Dẫn dắt: Cần có một kiểu dữ liệu mới cho phép ta nhập/xuất dữ liệu cho xâu bằng một lệnh. 2. Tìm hiểu về kiểu xâu. - Chiếu lên bảng cách khai báo biến xâu trong ngôn ngữ lập trình Pascal. - Hỏi: Ý nghĩa của từ String, [n] - Hỏi: Khi khai báo không có [n] thì số lượng ký tự tối đa là bao nhiêu? - Yêu cầu học sinh cho ví dụ một xâu ký tự - Hỏi: Xâu có bao nhiêu ký tự? - Diễn giải: Mỗi ký tự được gọi là một phần tử của xâu. Số lượng ký tự trong xâu được gọi là độ dài của xâu. - Hỏi: Xâu chỉ gồm một ký tự trống được viết như thế nào? số lượng ký tự bao nhiêu? - Hỏi: Xâu rỗng được viết như thế nào? số lượng ký tự bao nhiêu? 1. Quan sát, suy nghĩ và trả lời. - Kiểu mảng một chiều gồm 30 ký tự. - Khai báo một biến mảng A để lưu họ tên của một học sinh. Readln(A[1]);Readln(A[2]); Readln(A[3]);Readln(A[4]); ... - Chương trình được viết dài dòng. Khi nhập dữ liệu, phải thực hiện gõ nhiều phím. 2. Quan sát cấu trúc khai báo và tham khảo sách giáo khoa. - String là tên kiểu xâu. - [n] là giá trị quy định số lượng ký tự tối đa mà biến xâu có thể chứa. - Số ký tự tối đa là 255 - Ví dụ: ‘HA NOI’ - Xâu có 6 ký tự, dấu cách là một ký tự. - Ký hiệu của xâu gồm một ký tự trống là ‘ ’. Xâu này có độ dài là 1. - Ký hiệu của xâu rỗng là ‘ ’. Xâu này có độ dài là 0. Ho¹t ®éng 2 Nhập /xuất dữ liệu. Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cua häc sinh 3. Nhập/xuất dữ liệu cho biến xâu trong ngôn ngữ Pascal. - Giới thiệu cấu trúc chung của thủ tục nhập/xuất dữ liêu. - Yêu cầu học sinh tìm ví dụ cụ thể. - Hỏi: Khi viết lệnh nhập/xuất dữ liệu cho biến xâu, có gì khác so với biến mảng các ký tự. - Dẫn dắt: Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu. Cấu trúc chung: tên_biến_xâu:=hằng_xâu; - Yêu cầu học sinh tìm một ví dụ cụ thể. 4. Tham chiếu đến từng ký tự của xâu. - Giới thiệu cấu trúc chung. - Hỏi: Có gì giống và khác nhau so với cách tham chiếu đến từng phần tử của mảng. - Yêu cầu học sinh tìm một ví dụ. 5. Kiểm tra kiến thức. - Chiếu nội dung bài tập kiểm tra kiến thức: Var st:string[1]; c:char; Begin c:=st[1]; {1} c:=st; {2} End. - Hỏi: Trong hai lệnh {1} và {2}, lệnh nào đúng? - Thực hiện chương trình để học sinh tự kiểm nghiệm suy luận. 3. Quan sát bảng để trả lời. - Ví dụ: Readln(hoten); - Ví dụ: Write(‘Ho ten ’,hoten); - Viết một lệnh nhập nguyên cho cả xâu. Viết lệnh gọn hơn, chương trình gọn. - Ví dụ: St:= ‘HA NOI’; 4. Quan sát và suy nghĩ để trả lời. - Giống cấu trúc chung khi tham chiếu tên biến[chỉ số] - Ví dụ: st[2]. 5. Quan sát chương trình trên bảng và độc lập suy nghĩ. - Lệnh {1} đúng. - Lệnh {2} sai. Không thể gán một xâu cho một ký tự. HOẠT ĐỘNG 3 Tìm hiểu các phép toán liên quan đến xâu. Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cua häc sinh 1. Gợi nhớ các phép toán đã học. - Hỏi: Hãy nhắc lại các phép toán đã học trên kiểu dữ liệu chuẩn. 2. Tìm hiểu chức năng của một số phép toán trong kiểu xâu qua một số ví dụ. - Chiếu chương trình ví dụ: Var st:string; Begin st:= ‘Ha’+‘Noi’; Write(st); readln; End. - Hỏi: Kết quả của chương trình in ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Yêu cầu học sinh tìm một số ví dụ khác. - Hỏi: Chức năng của phép cộng ? - Giới thiệu thêm một số ví dụ khác và yêu cầu học sinh cho biết kết quả. st:= ‘Ha’ +‘Noi’; st:= ‘Ha ’+‘Noi’; st:= ‘ ’ + ‘Ha Noi’; st:= ‘Ha Noi’ + ‘Việt’ + ‘Nam’; - Chiếu chương trình ví dụ về phép so sánh xâu. Var bo:boolean; Begin bo:= ‘AB’ < ‘AC’; Write(bo); readln; End. - Hỏi: Kết quả của chương trình in ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Còn các phép so sánh nào nữa? - Chiếu các ví dụ về các phép so sánh và yêu cầu học sinh cho biết kết quả của các phép so sánh đó. ‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’ - Lưu ý cho học sinh: Một xâu có độ dài nhỏ hơn có thể lớn hơn (>) xâu có độ dài lớn. 1. Chú ý theo dõi, suy nghĩ và trả lời. - Phép toán số học. - Phép toán so sánh. - Phép toán logic. 2. Quan sát ví dụ, suy nghĩ và trả lời. - Quan sát chương trình. - Kết quả cho ta: st = ‘HA NOI’ - Quan sát kết quả chương trình. - Ví dụ: st:= ‘HA NOI’ + ‘Co ho GUOM’. Kết quả: st = ‘HA NOICo ho GUOM’ - Là phép toán nối xâu thứ hai vào cuối xâu thứ nhất. st:= ‘HaNoi’; st:= ‘Ha Noi’; st:= ‘ Ha Noi’; st:= ‘Ha NoiViệtNam’; - Quan sát chương trình để dự tính kết quả. - Kết quả là: TRUE - Quan sát kết quả chương trình để kiểm chứng suy luận. - Có các phép =, , = - Kết quả: True. - Kết quả: False. HOẠT ĐỘNG 4 Cñng cè: - Khai báo biến: VAR tên_biến : STRING[độ dài lớn nhất của xâu]; - Nhập xuất giá trị cho biến xâu: read/readln(); write/writeln(); - Tham chiếu đến từng ký tự trong xâu: tên_biến[chỉ_số]. - Phép ghép xâu: ký hiệu là +, được sử dụng để ghép nhiều xâu thành một xâu - Các phép so sánh: =, , >, =: thực hiện việc so sánh hai xâu. DÆn dß: - Xem phần kiến thức lý thuyết còn lại trong bài, bao gồm các hàm và thủ tục liên quan đến xâu, sách giáo khoa, trang 70-71. NhËn xÐt Ph¬ng ph¸p: HiÖu qu¶ sö dông: HiÖu qu¶ SD TBDH: ND cÇn ®iÓu chØnh: NhËn xÐt cña gi¸o viªn híng dÉn:
Tài liệu đính kèm: