Tên kiểu xâu; Cách khai báo biến kiểu xâu; Số lượng kí tự kiểu xâu; Các phép toán thao tác với xâu; - Cách tham chiếu tới phần tử của xâu.. - Có thể xem xâu là mảng một chiều mà mỗi phần[r]
(1)TuÇn thø : Ngµy so¹n: Ngµy gi¶ng: tiÕt : Gi¸o ¸n tin häc 11 **&** vò h÷u thä Bµi 12: KiÓu X©u <tiÕt 1> I : Môc tiªu 1: KiÕn thøc - Khái niệm kiểu xâu - Khai báo và các thao tác xử lý xâu 2: Kü n¨ng - Sử dụng số thủ tục, hàm thông dụng xâu 3: Thái độ - Häc sinh nhËn thøc ®îc kiểu xâu - Chó ý nghe gi¶ng vËn dông lµm bµi tËp - H¨ng h¸i ph¸t biÓu ý kiÕn cña bµi gi¶ng II: Phương pháp, phương tiện 1: §èi víi gi¸o viªn - S¸ch gi¸o viªn, gi¸o ¸n, phÊn, b¶ng, m¸y chiÕu 2: §èi víi häc sinh - Sách giáo khoa, vở, bút, thước… III: Hoạt động dạy và học 1: ổn định tổ chức lớp - KiÓm tra sÜ sè líp, néi vô líp häc 2: KiÓm tra bµi cò Họat động giáo viên Hoạt động học sinh ? M¶ng hai chiÒu lµ g×? Quy t¾c sö - m¶ng hai chiÒu lµ bảng c¸c phÇn tö dông m¶ng hai chiÒu nh thÕ nµo? cïng kiÓu - Tªn kiÓu m¶ng hai chiÒu; - Số lượng phần tử chiều; - KiÓu d÷ liÖu cña phÇn tö; - C¸ch khai b¸o biÕn m¶ng; - Cách tham chiếu đến phần tử ? Khai b¸o biÕn m¶ng hai chiÒu cã nh÷ng c¸ch nµo? Cho vÝ dô ? - Cã hai c¸ch: + C¸ch 1: Var<tªn biÕn m¶ng>: array[kiÓu chØ sè hàng, kiểu số cột ] of <kiÓu phÇn tö>; + C¸ch 2: Type<tªn biÕn m¶ng> = array[kiÓu chØ sè hàng, kiểu số Lop11.com (2) cột] of <kiÓu phÇn tö>; Var<tªn biÕn m¶ng>:<tªn kiÓu m¶ng>; - Khai b¸o trùc tiÕp: var A: array[1 9,1 9] of integer; - Khai b¸o gi¸n tiÕp: type A = array[1 50, 100] of real; var A: arrayreal; 3: Néi dung bµi míi: Họat động giáo viên Trong bài học trước ta đã học kiểu mảng chiều và mảng hai chiều Bài học hôm ta tìm hiểu kiểu xâu, tìm hiểu khái niệm, cách khai báo và các thao tác xử lý xâu Hoạt động học sinh - Học sinh nghe giảng ? Để lưu trữ và xử lý họ tên người dùng kiểu khai báo nào? và khai báo nào? - Khai báo kiểu mảng chiều gồm ký tự - Khai báo: Readln(A[1]); ? Khai báo 30 học sinh lớp ta Readln(A[1]); khai báo nào? Readln(A[2]); Readln(A[3]); Readln(A[4]); … Readln(A[30]); ? Nhận xét cách khai báo trên? - Khi thực dài dòng, và ta phải thực nhiều trên bàn phím - Vậy ta cần phải có kiểu liệu cho phép xuất nhập liệu cách phù hợp Đó là kiểu xâu ? Kiểu xâu là gì? - Xâu là dãy các ký tự mã ASCII, ký tự gọi là phần tử xâu Số lượng ký tự xâu gọi là độ dài xâu Xâu có độ dài gọi là xâu rỗng ? Độ dài lớn và nhỏ xâu - Độ dài lớn xâu 255 và bao nhiêu? nhỏ xâu Lop11.com (3) ? Quy tắc, cách thức xác định kiểu xâu nào? Tên kiểu xâu; Cách khai báo biến kiểu xâu; Số lượng kí tự kiểu xâu; Các phép toán thao tác với xâu; - Cách tham chiếu tới phần tử xâu - - Có thể xem xâu là mảng chiều mà phần tử là ký tự Các ký tự xâu đánh số thứ tự, thường - Tham chiếu tới phần tử xâu xác định tên biến xâu và số đặt cặp [ và] Khai báo ? Biến kiểu xâu khai báo Var <Tên biến>: String[độ dài lớn nào? xâu]; - String: Khai báo liệu kiểu xâu Độ dài lớn xâu không vượt quá 255 ký tự và ghi cặp ngoặc [ và] Ví dụ: Var Hoten: String[26]; Var Chugai: string; Khi khai báo không có n thì hiểu ngầm định n lớn là 255 ? Lấy ví dụ khai báo kiểu xâu? Var Danhsach: String; Var a, b: String; Các thao tác xử lí xâu a Phép ghép xâu Vd: ‘Ha’ + ‘Noi’ = Ha Noi ‘Ha’ + ‘Noi’ + ’-‘ + ‘Viet’ + ‘Nam’ = Ha Noi – Viet Nam ? Cho ví dụ cách ghép xâu? ‘Danh’ + ‘sach’ = Danh sach ‘ Nguyen’ + ‘Van’ + ‘A’ = Nguyen Van A - Phép ghép xâu kí hiệu là dấu ( + ) sử dụng để ghép nhiều xâu thành b Các phép so sánh ? Phép so sánh là các phép toán nào đã Là phép toán logic học? Lop11.com (4) - Phép so sánh xâu tương tự toán học, xử dụng các dấu : =, <, <=, >, >=, < > ? Phép so sánh hai xâu thực Xâu A là xâu lớn xâu B kí tự nào? đầu tiên khác chúng kể từ trái sang xâu A có mã ASCII lớn Nếu A và B là các xâu có độ dài khác và A là đoạn đầu B thì A là nhỏ B Vi dụ: ‘ May Tinh’ < ‘May tinh cua toi’ ‘Tin hoc’ = ‘Tin hoc’ ? Trong các ví dụ sau ví dụ nào đúng? ‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’ ‘1’ > ‘2’ ? Rút kết luận? Lưu ý: Một xâu có độ dài nhỏ có thể lớn (>) xâu có độ dài lớn c Thủ tục xóa Thủ tục delete(st, vt, n) thực việc xóa n ký tự biến xâu st vị trí vt Ví dụ: ‘abcdef’ delete(st, 5, 2) kết : ‘abcd’ ? Cho ví dụ thủ tục delete xâu? d Thủ tục chèn Thủ tục insert(s1, s2, vt) chèn xâu vào xâu vị tri Ví dụ: s1: ‘ PC ‘ s2: ‘IBM486’ Thao tác: Insert(s1, s2, 4) Kết quả: ‘IBM PC 486’ ? Cho ví dụ thủ tục chèn? Đúng (TRUE) Sai (FALSE) Sai (FALSE) - Phép so sánh xâu là phép toán logic - ‘Ho va ten’ delete(st, 3, 3) kết quả: ‘Ho ten’ s1: ‘Ho ten’ s2: ‘va ’ thao tác: Insert(s1, s2, 3) Kết quả: ‘Ho va ten’ e Thủ tục copy Lop11.com (5) Hàm copy(S, vt, N) tạo xâu gồm N kí tự liên tiếp vị trí xâu S Ví dụ: Xâu S: ‘Bai 12 kieu xau’ Biểu thức: copy(S, 1, 6) Kết quả: ‘Bai 12’ f Hàm length(s) Hàm length(s) cho giá trị là độ dài xâu Vi dụ: S Xâu S: ‘500 ki tu’ Biểu thức: length(s) Kết quả: g Hàm Pos(s1, s2) Hàm Pos(s1, s2) cho xuất đầu tiên Vi dụ: Xâu S2: ‘abcdef’ xâu s1 xâu s2 Biểu thức: pos(‘cd’, s2) Xâu S2: ‘abcdef’ Kết quả: Biểu thức: pos(‘k’, s2) Kết quả: h Hàm Upcase Hàm Upcase(ch) cho chữ cái in hoa tương ứng với chữ cái ch ví dụ: ch: ‘d’ Biểu thức: Upcase(ch) Kết quả: ‘D’ 4: Cñng cè kiÕn thøc - Kiểu xâu, cách khai kiểu xâu - Các thao tác xử lý xâu 5: Hướng dẫn học tập - Đọc trước nội dung phần ví dụ kiểu xâu sách giáo khoa, trang 71-72, và xem nội dung bài thực hành IV: Ký duyÖt cña tæ chuyªn m«n …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Lop11.com (6)