I- MỤC TIÊU
1. Kiến thức
-Giúp học sinh hiểu biết xâu là một dãy kí tự.
-Biết cách khai báo xâu, truy cập phần tử xâu.
2. Kĩ năng
-Sử dụng được 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
II- PHƯƠNG TIỆN DẠY HỌC
1. Chuẩn bị của giáo viên
- Giáo án, sách giáo khoa, sách giáo viên, bảng phụ
2. Chuẩn bị của học sinh
- Sách giáo khoa, tập ghi
III- HOẠT ĐỘNG DẠY VÀ HỌC
- Ổn định lớp
- Kiểm tra sĩ số
- Tiến hành tiết dạy
- Kiểm tra bài cũ
Tuần 24 Tiết 27 Ngày soạn: 30/01/2010 Ngày dạy: 02/02/2010 § 12 KIỂU XÂU ( tiết 2) I- MỤC TIÊU 1. Kiến thức -Giúp học sinh hiểu biết xâu là một dãy kí tự. -Biết cách khai báo xâu, truy cập phần tử xâu. 2. Kĩ năng -Sử dụng được 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 II- PHƯƠNG TIỆN DẠY HỌC Chuẩn bị của giáo viên - Giáo án, sách giáo khoa, sách giáo viên, bảng phụ 2. Chuẩn bị của học sinh - Sách giáo khoa, tập ghi III- HOẠT ĐỘNG DẠY VÀ HỌC Ổn định lớp Kiểm tra sĩ số Tiến hành tiết dạy Kiểm tra bài cũ HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG CƠ BẢN - GV ghi câu hỏi và gọi 1 HS lên bảng : Cho xâu s ‘bai hoc dau tien’ + khai báo xâu s với độ dài lớn nhất là 16 + length(s) bằng bao nhiêu? + chú ý khi làm việc với xâu? + tham chiếu đến phần tử thứ 9 của xâu s HS trả lời, Câu trả lời dự kiến + var s: string[16] + length(s)=16 + Chú ý: Tên kiểu xâu, cách khai báo kiểu xâu, số lượng kí tự của xâu, các phép toán thao tác với xâu, cách tham chiếu đến phần tử của xâu + s[9] : ‘d’ Ở tiết trước chúng ta đã tìm hiểu về khái niệm, cách khai báo, các thao tác xử lý xâu trong đó có các hàm và thủ tục, và các em đã biết răng hàm length cho ta biết giá trị độ dài của xâu. Như vậy khi viết chương trình chúng ta sử dụng hàm length ra sao thì hôm nay chúng ta sẽ đi tìm hiểu về điều này qua ví dụ 1 của phần 4 là các ví dụ GV yêu cầu HS viết ngôn ngữ Pascan với ngôn ngữ tự nhiên HS lên bảng ghi GV Hỏi với việc nhập họ tên hai người thì khai báo mấy biến và khai báo như thế nào? HS trả lời và lên bảng ghi GV nhắc lại câu lệnh if- then dạng đủ và gọi HS viết ngôn ngữ Pascan khi biết cấu trúc và ngôn ngữ tự nhiên HS lên bảng ghi GV cho ví dụ để hiểu rõ về chương trình và yêu cầu HS áp dụng đoạn chương trình trên xuất ra kết quả là gì? HS lên bảng ghi GV nhận xét và nêu ý nghĩa của đoạn chương trình - GV Yêu cầu HS nhắc lại các tham chiếu đến phần tử bất kì trong xâu HS trả lời - GV giải thích tại sao phải gán ký tự cuối cùng của xâu b bằng giá trị độ dài của b HS lắng nghe và theo dõi Ví dụ: s:= ‘TIN HOC’ length(s)= 7 s[7]= ‘C’ à chỉ số của phần tử cuối cùng của xâu cũng chính bằng độ dài của xâu nên ta có thể gán vị trí cuối cùng của xâu bằng chiều dài của xâu - GV cho ví dụ để hiểu rõ về chương trình và yêu cầu HS áp dụng đoạn chương trình trên xuất ra kết quả là gì? HS lên bảng ghi GV nhận xét và nêu ý nghĩa của đoạn chương trình - GV nhắc lại dạng lặp lùi for:= downto do ; - GV cho ví dụ để hiểu rõ về chương trình và yêu cầu HS áp dụng đoạn chương trình trên xuất ra kết quả là gì? GV nhận xét và nêu ý nghĩa của đoạn chương trình GV gọi Hs làm những phần tương tự như ở các ví dụ trước là nhập xâu và khai báo xâu HS lên bảng ghi GV tương tự như ví dụ 3 ta vẫn gán kí tự cuối cùng của xâu bằng độ dài xâu a GV Nhắc lại xâu rỗng là xâu không có kí tự nào - GV cho ví dụ để hiểu rõ về chương trình và yêu cầu HS áp dụng đoạn chương trình trên xuất ra kết quả là gì? HS lên bảng làm GV nhận xét và nêu ý nghĩa của đoạn chương trình GV gọi Hs làm những phần tương tự như ở các ví dụ trước là nhập xâu và khai báo xâu HS lên bảng ghi - GV cho ví dụ để hiểu rõ về chương trình và yêu cầu HS áp dụng đoạn chương trình trên xuất ra kết quả là gì? GV nhận xét và nêu ý nghĩa của đoạn chương trình 4. Các ví dụ a) ví dụ 1 Ngôn ngữ Pascan - input: xâu a, xâu b - output: xâu a hoặc xâu b - var a, b: string; - write(‘Nhap vao ho ten nguoi thu nhat: ’); readln(a); write(‘Nhap vao ho ten nguoi thu hai: ’); readln(a); - if length(a) >length(b) then write(a) else write(b); Ngôn ngữ tự nhiên - Thông tin đã có: hai xâu a và b - Thông tin cần tìm: xâu có giá trị độ dài lớn hơn - Khai báo 2 xâu - Nhập họ tên của hai người vào hai biến xâu - Nếu độ dài xâu a lớn hơn xâu b thì xuất xâu a ngược lại xuất xâu b - readln - end. - Dừng chương trình - Kết thúc chương trình Ví dụ 1: a:= ‘tran nam’; àlength(a)=8 b:= ‘hoai phong’; àlength(b)=10 length(b)>length(a) kq= ‘hoai phong’ à Đây là chương trình nhập họ tên của hai người vào hai biến xâu và đư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. b, Ví dụ 2 Ngôn ngữ tự nhiên - Thông tin đã có: hai xâu a và b - Thông tin cần tìm: hai xâu trùng nhau hay khác nhau - Khai báo - Nhập vào hai biến xâu - gán ký tự cuối cùng của xâu b bằng độ dài xâu b - nếu kí tự đầu tiên của xâu a trùng với kí tự cuối cùng của xâu b thì xuất ra trùng nhau ngược lại thì xuất ra không trùng - Dừng chương trình - kết thúc chương trình Ngôn ngữ Pascan - input: xâu a, xâu b - output: trùng nhau hoặc khác nhau - var a, b: string; x: byte; - write(‘Nhap vao xâu thu nhat: ’); readln(a); write(‘Nhap vao xâu thu hai: ’); readln(b); - x:= length(b); - if a[1]=b[x] then write(‘trung nhau’) else(‘khac nhau’); - readln - end. Ví dụ : a:= ‘tran’; a[1]= ‘n’ b:= ‘tuyet’; length(b)=5 b[9]= ‘n’ kq:trùng nhau àĐây là chương trình nhập hai xâu từ bàn phím và kiểm tra 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ứ hai c) Ví dụ 3 Ngôn ngữ Pascan - input: xâu a - output: xâu đảo ngược xâu a - var a: string; i, k: byte - write(‘Nhap vao xâu thu nhat: ’); readln(a); - k:= length(b); - for i:=k downto 1 do write(a[i]); - readln - end. Ngôn ngữ tự nhiên - Thông tin đã có: xâu a - Thông tin cần tìm: xâu được đảo ngược lại - Khai báo - Nhập vào một xâu - gán ký tự cuối cùng của xâu b bằng độ dài xâu b - Đưa ra màn hình xâu được viết theo thứ tự ngược lại - Dừng chương trình - kết thúc chương trình Ví dụ: a= ‘TIN HOC’ length(a)=7 a[7]= ‘C’ a[6]= ‘O’ a[5]= ‘H’ a[4]= ‘ ’ a[3]= ‘T’ a[2]= ‘I’ a[1]= ‘N’ kq ‘COH NIT’ à Đây là chương trình nhập vào từ bàn phím và đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại Ngôn ngữ Pascan - input: xâu a - output: xâu a không có dấu cách - var a, b: string; i, k: byte - write(‘Nhap vao xâu thu nhat: ’); readln(a); - k:= length(a); - b:= ‘’; - for i:=1 to k do if a[i] ‘ ’ then b:=b+a[i]; Writeln (‘ket qua:’,b); - readln - end. Ngôn ngữ tự nhiên - Thông tin đã có: xâu a - Thông tin cần tìm: xâu đã được loại bỏ dấu cách - Khai báo - Nhập vào một xâu - gán ký tự cuối cùng của xâu b bằng độ dài xâu b - Khởi tạo xâu rỗng - Đưa ra màn hình xâu được viết theo thứ tự ngược lại - Dừng chương trình - kết thúc chương trình d) Ví dụ 4 Ví dụ: Với xâu được nhập là a:= ‘van phong’ length(a)= 9 a[1]= ‘v’ khác kí tự trắng b= ‘’ +‘v’ = ‘v’ a[2]= ‘a’ khác kí tự trắng b= ‘v’+ ‘a’ = ‘va’ a[3]= ‘n’ khác kí tự trắng b= ‘va’ +‘n’ = ‘van’ a[4]= ‘ ’ là kí tự trắng b= ‘van’ a[5]= ‘p’ khác kí tự trắng b= ‘van’ +‘p’= ‘vanp’ a[6]= ‘h’ khác kí tự trắng b= ‘vanp’ +‘h’= ‘vanph’ a[7]= ‘o’ khác kí tự trắng b= ‘vanph’ +‘o’= ‘vanpho’ a[8]= ‘n’ khác kí tự trắng b= ‘vanpho’ +‘n’= ‘vanphon’ a[9]= ‘g’ khác kí tự trắng b= ‘vanphon’ +‘g’ = ‘vanphong’ kq ‘vanphong’ à Đây là chương trình nhập một xâu từ bàn phím và đưa ra màn hình bởi việc loại bỏ dấu cách nếu có e) Ví dụ 5 Ngôn ngữ Pascan - input: xâu a - output: xâu chỉ có chữ số - var a, b: string; i, : byte - write(‘Nhap vao xâu a: ’); readln(a); - b:= ‘’; - for i:=1 to length(a) do if (‘0’<=a[i] and a[i] <= 9) then b:=b+a[i]; Writeln (‘ket qua:’,b); - readln - end. Ngôn ngữ tự nhiên - Thông tin đã có: xâu a - Thông tin cần tìm: xâu gồm tất cả chữ số có trong a - Khai báo - Nhập vào một xâu - Khởi tạo xâu rỗng - Đưa ra màn hình xâu gồm tất cả chữ số có trong a - Dừng chương trình - kết thúc chương trình Ví dụ a:= ‘11C5’ a[1]= ‘l’ lớn hơn 0 b= ‘’ + ‘1’ = ‘1’ a[2]= ‘1’ lớn hơn 0 b = ‘1’ + ‘1’ = ‘11’ a[3]= ‘C’ b= ‘11’ a[4]= ‘5’lớn hơn 0 b= ‘11’ + ‘5’ = ‘115’ kq ‘115’ à Đây là chương trình nhập một xâu a từ bàn phím tạo xâu b gồm tất cả các chữ số có trong xâu a IV.CỦNG CỐ Cách so sánh hai xâu bằng cách dựa vào độ dài length(s) Kiểm tra sự trùng nhau giữa 2 xâu Nhập vào một xâu và cho ra thứ tự ngược lại Loại bỏ dấu cách trong xâu nếu có Tạo xâu mới gồm tất cả các chữ số có từ xâu ban đầu Dặn dò học sinh xem lại bài mảng một chiều và mảng hai chiều để chuẩn bị bài tập và thực hành số 4. Thới Bình, ngày 31 tháng 01 năm 2010 Ký duyệt của GVHD TRẦN VĂN CHÍNH
Tài liệu đính kèm: