GIÁO ÁN TIN HỌC LỚP 11 Ngày soạn: 28/11/2010 Ngày dạy: Sinh viên: Thào Xuân Minh Lớp: Sư phạm Tin K42 GVHD: Cô Ngô Thị Tú Quyên KIỂU DỮ LIỆU XÂU (TIẾT 2) I. MỤC TIÊU: 1. Kiến thức - Biết được lợi ích của các hàm và thủ tục liên quan đến 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ên quan đến xâu của ngôn ngữ lập trình Pascal. 2. Kĩ năng - Nhận biết và bước đầu sử dụng được một số hàm và thủ tục để giải quyết một số bài tập đơn giản liên quan. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, máy chiếu projector, giáo án điện tử, sách giáo viên. 2. Chuẩn bị của học sinh - Sách giáo khoa, vở ghi. III. HOẠT ĐỘNG DẠY-HỌC 1. Ổn định tổ chức lớp: (1’) Lớp: Tổng số: Vắng: Lí do: 2. Kiểm tra bài cũ: (8’) Câu hỏi 1: (Chiếu slide 2 và đặt câu hỏi): Nêu cách khai báo biến kiểu xâu?(2đ) Trình bày một số thao tác trên xâu kí tự?(2đ) Giải thích tác dụng của từng hàm và thủ tục?(4đ) 1 Câu hỏi 2: (Chiếu slide 3 và đặt câu hỏi): Lấy ví dụ khai báo biến S có độ dài 30?(1đ) Cho biết kết quả vết ra màn hình sau khi thực hiện 2 câu lệnh sau: s:=‘Ha Noi’;Write(Length(S)); (1đ) Đáp Án: Câu 1: Khai báo: Var <tên biến> : String[độ dài lớn nhất]; Một số thao tác trên xâu kí tự: - Phép ghép xâu : - Các phép so sánh: - Các thủ tục và hàm chuẩn: Thủ tục Delete(St,vt,n): Xóa n kí tự của xâu St bắt đầu từ vị trí vt. Thủ tục Insert(s1,s2,vt): Chèn xâu s1 vào s2 bắt đầu từ 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. Hàm Length(S): Cho giá trị là độ dài 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. Câu 2: (Chiếu slide 4): Khai báo biến S: Var s:string[30]; Kết quả trả về là: 6 3. Tiến trình bài dạy: (30’) Dẫn dắt vào bài mới: Ở tiết trước các em đã được học cách khai báo biến kiểu xâu. Đã biết các phép toán trên xâu và một số hàm và thủ tục xử lí xâu. Vậy để cho các em hiểu rõ hơn về các thủ tục 2 và hàm xử lí xâu thì chúng ta sẽ cùng đi nghiên cứu bài ngày hôm nay đó là. Bài 12. Kiểu dữ liệu xâu (Tiết 2) Nội dung bài dạy: GV Dẫn dắt: Chúng ta tiếp tục sang phần 3. Một số ví dụ. NỘI DUNG GHI BẢNG HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 3. Một số ví dụ: Ví dụ 1: + Input: Xâu a,b là họ tên của hai người. + OutPut: In ra màn hình xâu dài hơn. Begin If Length(a)>Length(b) Then write(a) else write(b); End. Ví dụ 2: + Input: 2 Xâu a,b. + OutPut: In ra màn hình thông báo 2 xâu trùng nhau hay không. Begin If a[1]=b[x] Then - Chiếu Slide 5: bài 12. Kiểu dữ liệu xâu (tiết 2) - Ghi bảng: 3. Một số ví dụ. - Chiếu Slide 6 và ghi bảng Ví dụ 1. Các em hãy đọc kĩ đề bài và xác định input, output cho thầy? Để xác định được độ dài của xâu ta dùng hàm gì? - Các bước giải và chương trình như sau: Chiếu tiếp slide 6 và giải thích chương trình. - Chiếu slide 7: - Ghi bảng: Ví dụ 2: Các em hãy đọc kĩ đề bài và xác định input, output cho thầy? Để xác định được - Ghi tên bài học vào vở. - Ghi đề mục vào vở. - Ghi ví dụ 1 vào vở. - Input: Xâu a,b là họ tên của hai người. - Out put: In ra màn hình xâu dài hơn. - Hàm length(s). - Chú ý theo dõi và ghi bài vào vở. - Ghi ví dụ vào vở. - Input: 2 Xâu a,b. - OutPut: In ra màn hình thông báo 2 xâu trùng nhau hay không. - Hàm Length(S); 3 ? ? ? ? write(‘Trung nhau’) else write(‘Khac nhau’); End. Ví dụ 3: + Input: Xâu a. + OutPut: In ra màn hình xâu ngược lại của xâu a. Begin K:=length(a); For i:=k downto 1 do Write(a[i]); End. Ví dụ 4: + Input: Xâu a. + OutPut: Xâu tạo được từ xâu a nhưng đã loại bỏ dấu cách. Begin k:=length(a); b:= ‘’ ; (*khoi tao xau rong*) IF a[i]<>’ ’ Then b:=b+a[i]; kí tự cuối của xâu ta dùng hàm gì? - Các bước giải và chương trình như sau: Chiếu tiếp slide 7 và giải thích chương trình. - Chiếu slide 8: - Ghi bảng: Ví dụ 3: Các em hãy đọc kĩ đề bài và xác định input, output cho thầy? Để xác định được xâu ngược lại của xâu ta phải làm thế nào? - Các bước giải và chương trình như sau: Chiếu tiếp slide 7 và giải thích chương trình. - Chiếu slide 9: - Ghi bảng: Ví dụ 4: Các em hãy đọc kĩ đề bài và xác định input, output cho thầy? Để xóa được các dấu cách trong xâu ta phải làm thế nào? - Các bước giải và - Chú ý theo dõi máy chiếu và ghi bài vào vở. - Ghi ví dụ vào vở. + Input: Xâu a. + OutPut: In ra màn hình xâu ngược lại của xâu a. - Ta duyệt các kí tự từ cuối xâu lên đầu xâu. Mỗi lần duyệt ta in ra các kí tự đó. - Chú ý theo dõi máy chiếu và ghi bài vào vở. - Ghi ví dụ vào vở. - Input: Xâu a. - OutPut: Xâu tạo được từ xâu a nhưng đã loại bỏ dấu cách. - Ta duyệt các kí tự của xâu a, Nếu là kí tự trống thì bỏ qua, còn không thì lưu lại vào xâu b. - Chú ý theo dõi máy chiếu và ghi bài vào vở. 4 ? ? ? ? write(‘Ket Qua: ’,b); End. Ví dụ 5: + Input: Xâu s1. + OutPut: Xâu s2 được từ xâu s1 bằng cách lấy các chữ số có trong s1. Begin s2:=‘’;{Khoi Tao Xau Rong} for i:=1 to length(s1) do if (‘0’=<s1[i]) and (s1[i]<=‘9’) then s2:=s2+s1[i]; writeln(‘Ket qua: ’,s2); End. chương trình như sau: Chiếu tiếp slide 7 và giải thích chương trình. - Chiếu slide 10: - Ghi bảng: Ví dụ 5: Các em hãy đọc kĩ đề bài và xác định input, output cho thầy? Các kí tự số là các kí tự như thế nào? Hãy nêu thuật toán để giải bài toán trên? - Chiếu slide 11: Thuật toán giải bài toán và ví dụ. Viết chương trình dựa vào thuật toán trên? - Chiếu slide 12: Chương trình giải bài toán và giải thích. - Ghi ví dụ vào vở. - Input: Xâu s1. - OutPut: Xâu s2 được từ xâu s1 bằng cách lấy các chữ số có trong s1. - Là các kí tự từ 0->9. B1. Khởi tạo xâu s2 rỗng; B2. Lần lượt duyệt qua tất cả các phần tử của xâu s1 vừa nhập, nếu phần tử s1[i] thuộc các kí tự từ 0- >9 thì nạp vào xâu s2. - Suy nghĩ và viết thuật toán vào nháp. - Chú ý theo dõi máy chiếu và ghi bài vào vở. IV. CỦNG CỐ VÀ DẶN DÒ: 1. Củng cố: (5’) Chiếu slide 12: Qua bài học ngày hôm nay các em cần nắm vững những vấn dề sau: + Cách khai biến kiểu xâu; + Các phép toán, các thủ tục và hàm: - Thủ tục Delete(st,vt,n); - Thủ tục Insert(st1,st2,vt); - Hàm Copy(st,vt,n) 5 ? ? ? ? - Hàm Length(st) - Hàm Pos(st1,st2) - Hàm UpCase(ch) 2. Dặn dò:(1’) - Các em về nhà học bài và giải bài tập số 10 trang 80. - Làm lại ví dụ 4 nhưng không dùng xâu b mà hãy dùng hàm Delete(St,vt,n) để xóa các kí trống trong xâu. - Đọc trước cho thầy bài bài tập và thực hành số 5 trang 73 SGK. V. RÚT KINH NGHIỆM 6 . GIÁO ÁN TIN HỌC LỚP 11 Ngày soạn: 28/11/2010 Ngày dạy: Sinh viên: Thào Xuân Minh Lớp: Sư phạm Tin K42 GVHD: Cô Ngô Thị Tú Quyên KIỂU DỮ LIỆU XÂU (TIẾT 2) I. MỤC TIÊU: 1 ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, máy chiếu projector, giáo án điện tử, sách giáo viên. 2. Chuẩn bị của học sinh - Sách giáo khoa, vở ghi. III. HOẠT ĐỘNG DẠY-HỌC 1. Ổn định. các em đã được học cách khai báo biến kiểu xâu. Đã biết các phép toán trên xâu và một số hàm và thủ tục xử lí xâu. Vậy để cho các em hiểu rõ hơn về các thủ tục 2 và hàm xử lí xâu thì chúng ta