Bài giảng Tin học 11 - Tiết 27+28, Bài 12: Kiểu xâu - Năm học 2009-2010

doc4 trang | Chia sẻ: Thảo Hoa | Ngày: 30/01/2026 | Lượt xem: 8 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Tin học 11 - Tiết 27+28, Bài 12: Kiểu xâu - Năm học 2009-2010, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn 23 tháng 11 năm 2009 Tiết 27 - 28: Bài 12: Kiểu xâu I. Mục tiêu 1. Kiến thức - 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ử của xâu. - Nắm vững cú pháp và ý nghĩa của các thủ tục và hàm với xâu. 2. Kỹ năng - Cài đặt được một số chương trình đơn giản có sử dụng xâu. - Ứng dụng các thao tác, thủ tục và hàm vào các ví dụ đơn giản. 3. Thái độ - Nghiêm túc, chú ý nghe giảng. II. Chuẩn bị - SGK, Giáo án III. Tiến trình dạy học 1. Ổn định lớp 2. Kiểm tra bài cũ 3. Bài mới Hoạt động của học sinh Hoạt động của giáo viên - Những kiểu dữ liệu đã học là gì ? - Kiểu dữ liệu chuẩn: Nguyên, thực, kí tự và logic Tiết 27: Kiểu xâu (Tiết 1) 1. Khái niệm kiểu xâu trong NNLT Pascal Hoạt động 1: Tìm hiểu khái niệm xâu trong - Là dãy kí tự trong bảng mã ASCII, một kí tự NNLT Pascal. mỗi phần tử, được đặt trong hai dấu nháy đơn. - Nêu khái niệm VD: ‘Tin hoc’ ‘Nguyen Van Ti’ - Hãy nêu ví dụ một vài xâu bất kỳ - Độ dài xâu: Số lượng kí tự trong xâu đó. - Xâu rỗng: ‘’ (hai dấu nháy đơn liên tiếp) - Yêu cầu học sinh xác định độ dài xâu trong ví dụ trên. - Pascal cung cấp cho chúng ta các quy tắc, cách thức để xác định: Tên kiểu xâu, cách khai báo biến xâu, độ dài xâu, các phép toán thao tác 2. Khai báo biến kiểu xâu trong Pascal: với xâu và cách tham chiếu tới từng phần tử cuả xâu. Cp: Var :String[n]; Hoạt động 2: Giới thiệu cách khai báo biến Trong đó: xâu trong NNLT Pascal. String: Tên chuẩn. n: Độ dài lớn nhất của xâu (<=255) - Trong trường hợp không khai báo độ dài của Vd: xâu thì mặc định n = 255. Var hoten: string [7]; Với khai báo này: - Hãy khai báo một biến kiểu xâu? - hoten là biến kiểu xâu - Với khai báo này ta xác định được gì? - Độ dài tối đa của xâu là 7 * Cách tham chiếu tới từng phần tử của xâu: - Các kí tự trong xâu được đánh số thứ tự bắt [chỉ số] đầu từ 1. VD: ‘Le dung’ thì: - Cách tham chiếu tới từng phần tử của xâu hoten[1]= ‘l’; hoten[2]= ‘e’; hoten[5]=?;... tương tự như với mảng một chiều. Yêu cầu HS 3. Thao tác với xâu trong Pascal: nhắc lại. a. Nhập giá trị, viết ra giá trị biến kiểu xâu: - hoten[5] là bao nhiêu? *Nhập giá trị cho xâu: Hoạt động 3: Tìm hiểu các thao tác với xâu Read ( ); - Đối với dữ liệu chuẩn, sử dụng thủ tục nào để Readln ( ); nhập giá trị?. *Viết ra giá trị của xâu: Write ( ); Writeln ( ); VD: Viết chương trình nhập vào 2 xâu và in ra màn hình giá trị 2 xâu đó - Input, output của bài toán là gì? - Lên bảng viết chương trình. - Gọi học sinh nhận xét bài của bạn. b. Phép ghép xâu: - Sửa lại bài của học sinh. Nhận xét. - Kí hiệu: Dấu cộng + - Trong Pascal, để thực hiện ghép nhiều xâu - Ghép nhiều xâu thành một xâu thành một xâu sử dụng dấu + Vd: ‘Tin’+ ‘hoc’ Kết quả: ‘Tinhoc’ c. Phép so sánh xâu: - GV: Kết quả của ví dụ trên là gì? - Các phép so sánh: =, , = - Trong danh sách học sinh của lớp chúng ta, - Quy tắc so sánh: các tên được sắp xếp theo trật tự A, B, C, Để ▪ a=b nếu chúng hoàn toàn giống nhau. sắp xếp thì phải có thao tác so sánh. ▪ a < b nếu độ dài của b lớn hơn và a là đoạn - Có những phép so sánh nào? đầu của b. ▪ a > b nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu a có mã ASCII lớn hơn. Vd: ‘abcd’>’aBcd’ - Hãy so sánh các xâu kí tự sau đây? ‘Tin hoc’ < ‘Tinhoc’ Bài tập: Viết CT nhập vào họ đệm và tên của học sinh. In ra màn hình họvà tên của học sinh đó. - Xác định input, output của bài toán? - H/S: Lên bảng làm. d. Hàm LENGTH (s): Trong đó: s: Kiểu xâu - GV: Nhận xét. - Cho giá trị nguyên là độ dài thực sự của xâu - Để biết được độ dài thực sự của xâu, Pascal sử vd: s:= ‘TIN HOC’ dụng hàm Length. n:=Length (s) n=7 - Với ví dụ sau, hãy cho biết kết quả của hàm - Cần so sánh tên của các học sinh với nhau. Length (s) là bao nhiêu? e. Hàm COPY (S, m, n): - Với danh sách học sinh được sắp xếp theo thứ Trong đó: S: Kiểu xâu tự. Để thực hiện công việc này? m, n: Kiểu nguyên - Lấy xâu con trong xâu S bắt đầu từ vị trí m gồm n ký tự liên tiếp. vd: S:= ‘MON TIN HOC’ - Với ví dụ như trên, hãy cho biết giá trị của Copy (S, 5, 7)= ‘TIN HỌC’ hàm bằng bao nhiêu? Copy (S, 15, 5) = ‘’ f. Hàm POS (S1, S2): - Cho giá trị nguyên là vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2. - Nếu xâu S1 không có trong xâu S2 thì cho kết quả là 0. Vd: S1:= ‘HOC’ - Ví dụ sau khi dùng các hàm sau thì cho kết S2:= ‘MON TIN HOC’ quả là gì? Pos (‘ ’, S2) = 4 Với S1:= ‘HOA’ thì Pos (S1, S2) = 0 g. Hàm UPCASE (Ch): - Cho chữ cái in hoa tương ứng với chữ cái Ch Trong đó Ch: kiểu kí tự - Upcase (S) với S là biến xâu là không hợp lệ Ch:= ‘a’ Upcase(Ch) = 'A' h. Thủ tục DELETE (S, m, n): - Ví dụ với một xâu mà giữa 2 từ có nhiều dấu Trong đó: S: Kiểu xâu cách thì xấu vậy thì phải làm sao? m, n: Kiểu nguyên - Xoá trong xâu S bắt đầu từ vị trí m, n ký tự liên tiếp. vd: S:= ‘MON TIN HOC’ Delete (S, 4, 4) Kết quả: - Kết quả của thủ tục này là gì? Giá trị của s là ‘MON HOC’ - Trong trường hợp viết tên thiếu thì phải làm k. Thủ tục INSERT (S1, S2, m): gì? Trong đó: S1, S2: Kiểu xâu m: Kiểu nguyên * Chú ý: Với giá trị m lớn hơn độ dài xâu thì - Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí m. thủ tục Insert luôn cho giá trị chính là xâu đó. vd: S1:= ‘TIN’ S2:= ‘MON HOC’ Insert (S1, S2, 4) Kết quả: Giá trị của s2 là ‘MONTIN HOC’ - Kết quả là gì? Insert (S1, S2, 24) Kết quả: Giá trị của s2 là ‘MONTIN HOC’ 4. Một số ví dụ Ví dụ 1: Viết chương trình nhập từ bàn phím xâu kí tự S. - Hãy xác định các giá trị của bài toán. In ra màn hình xâu đó sau khi được biến đổi thành xâu in hoa. - Trình chiếu chương trình trên Pascal. • Input: Xâu S • Output: Xâu S đã được biến đổi thành xâu in hoa • Khai báo: S: Kiểu string; i: Kiểu byte; Ví dụ 2: Viết chương trình nhập từ bàn phím xâu kí tự S. - Kiểm tra sự tồn tại của dấu cách trong xâu S, In ra màn hình xâu thu được từ nó bởi việc loại sủ dụng hàm nào? bỏ các dấu cách nếu có. Pos (‘ ’, S) • Input: Xâu S a. Trong khi Pos (‘ ’, S)<>0 thì xóa một kí tự • Output: Xâu S sau khi loại bỏ dấu cách ở vị trí pos (‘ ’, S). Sử dụng thủ tục gì? • Khai báo S: Kiểu string Delete (S, pos (‘ ’,S), 1) - GV: Chiếu chương trình. IV. §¸nh gi¸ cuèi bµi 1.- 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. 2. Nh÷ng hµm vµ thñ tôc liªn quan ®Õn x©u. 3. C©u hái vµ bµi tËp vÒ nhµ. - Gi¶i bµi tËp sè 10 trang 80. - ViÕt ch­¬ng tr×nh nhËp mét x©u. In ra mµn h×nh sç tõ cã trong x©u. - Xem phÇn néi dung cña bµi thùc hµnh sè 5, s¸ch gi¸o khoa, trang 73. - ChuÈn bÞ mét sè bµi tËp ®Ó thùc hµnh.

File đính kèm:

  • docbai_giang_tin_hoc_11_tiet_2728_bai_12_kieu_xau_nam_hoc_2009.doc
Giáo án liên quan