BÀI THỰC HÀNH SỐ 5 (Tiết 2) I. MỤC TIÊU 1. Kiến thức - Khắc sâu thêm phần kiến thức về lý thuyết kiểu xâu ký tự, đặc biệt là các hàm và thủ tục liên quan. - Nắm được một số thuật tốn cơ bản: tạo xâu mới, đếm số lần xuất hiện một ký tự . 2. Kĩ năng - Khai báo biến kiểu xâu. - Nhập, xuất giá trị cho biến xâu. - Duyệt qua tất cả các ký tự của xâu. - Sử dụng được các hàm và thủ tuc chuẩn. 3. Thái độ - Tích cực, chủ động trong thực hành. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy chiếu projector để hướng dẫn. Tổ chức trong phòng máy để học sinh có được kĩ năng cơ bản khi làm việc với kiểu xâu. 2. Chuẩn bị của học sinh - Sách giáo khoa, bài tập ở nhà. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Rèn luyện kỹ năng lập trình HOẠT ĐỘNG GIÁO VIÊN HOẠT ĐỘNG HỌC SINH Bài tập 1: Lập trình nhập vào xâu đếm xem trong xâu có bao nhiêu ký tự -Ta có thể cho lệnh for đi từ ‘A’ đến ‘Z’. Làm thế nào để kiểm tra số lần xuất hiện của kí tự? -Hướng dẫn học sinh: ta sẽ có hai lệnh for lòng nhau, một lệnh for đi từ 1 đến cuối xâu, còn lệnh kia đi từ ‘A’ ’Z’. Theo em lệnh nào sẽ ở ngoài? -Hướng dẫn học sinh khai báo biến và hoàn chỉnh chương trình. Program bai_1a; Uses Crt; Var s: String; -Học sinh suy nghó - Lệnh for đi từ ‘A’ ’Z’ sẽ nằm ngoài. - Học sinh hoàn chỉnh chương trình theo hướng dẫn. Dem,l:integer; kt:char; Begin Write(' Nhap xau :');Readln(s); l:=length(s); for kt:='A' to 'Z' do begin dem:=0; For i := 1 to l do if upcase(s[i])=kt then dem:=dem+1; if dem <>0 then begin write('Co ',dem,' ki tu ',kt); writeln; end; end; Readln; End. Bài tập 2: Để kiểm tra xem một xâu s1 có xuất hiện trong s2 không ta có thể sử dụng hàm nào? -Ý nghóa của thủ tục delete,insert? -Hướng dẫn học sinh sử dụng các hàm,thủ tục này để giải quyết bài 3. Bài 3 Program bai_1a; Uses Crt; Var s,s1,s2: String; vt:integer; Begin Write(' Nhap xau :');Readln(s); write('Nhap chuoi can thay the: '); readln(s1); Write('Nhap xau can thay the:'); readln(s2 ); - Ta có thể sử dụng hàm pos(s1,s2). Nếu kết quả <>0 thì s1 có trong s2. -Học sinh trả lời -Học sinh làm theo hướng dẫn của giáo viên. l:=length(s1); while pos(s1,s) <> 0 do begin vt:=pos(s1,s); delete(s,vt,l); insert(s2,s,vt); end; write('Chuoi sau khi da thay the: ',s); Readln; End. 3. Củng cố : Nhắc lại những sai sót mà học sinh thường gặp khi thao tác với xâu. 4. Dặn dò : + Xem lại bài + Chuẩn bò bài tập 2,3 SGK trang 73.