Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (114.99 KB, 7 trang )
<span class='text_page_counter'>(1)</span>GIÁO ÁN GIẢNG DẠY ĐTTT. Ngày soạn : 21/02/2012 Tiết (theo PPCT) : 29 Tên bài. Ngày giảng : 25/02/2012 Tại lớp : 11C4 Phòng học : PII.3. : Bài 12: KIỂU XÂU(Tiết 2). I. Mục tiêu: 1. Kiến thức: Hiểu đượ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 chính một số hàm liên quan đến xâu. 2. Kỹ năng: Bước đầu sử dụng được một số hàm, thủ tục thông dụng về xâu. Có thể cài đặt được một số chương trình đơn giản có sử dụng xâu. II. Ph¬ng ph¸p d¹y häc vµ c«ng t¸c chuÈn bÞ: 1. Phương pháp: Sử dụng phương pháp trao đổi. Đặt câu hỏi kết hợp thuyết trình giảng giải. 2. Chuẩn bị: Gv: Giáo án, bảng phụ. Hs: Sách giáo khoa, vở ghi… III. Hoạt động dạy học: 1. Bài cũ : Lồng vào bài mới. 2. Nội dung:. HOẠT ĐỘNG 1 (7’): PHÂN TÍCH VÍ DỤ 1 HOẠT ĐỘNG CỦA GV VÀ HS. NỘI DUNG GHI BẢNG.
<span class='text_page_counter'>(2)</span> Gv: Tiết trước chúng ta biết thế nào là xâu, cách khai báo xâu, các thao tác xâu...chúng ta đi một số ví dụ sử dụng xâu. Hs: Đọc đề ví dụ 1. Gv: Bài toán yêu cầu chúng ta thực hiện công việc gì, Input và Output của bài này là gì? Hs: Nhập 2 xâu, xuất ra màn hình xâu dài hơn nếu bằng nhau thì xuất ra xâu thứ 2). Gv: Đưa ra ví dụ và cùng với hs tìm ra xâu dài hơn. Vd: S1:= ‘HOC SINH’ S2:= ‘11C4’ Gv: Vậy em nào có thể đưa ra ý tưởng bài này? Hs: Nêu ý tưởng. Gv: Để so sánh xâu dài hơn thì so sánh gì? Làm thế nào để so sánh được? Để tính được độ dài xâu chúng ta dùng hàm gì? Hs: Độ dài, tính độ dài, hàm Length(S). Gv: Vậy các công việc chính cần làm để xây dựng chương trình này gồm những công việc nào? Gv: Treo bảng phụ và giải thích: cách khai báo và nhập giá trị cho một biến xâu, cách sử sụng hàm Length(S). Vì bài toán yêu cầu đưa ra xâu nhập sau.Giả sử giờ cô có: If length(S1) < length(S2) then Write(S2) else Write(S1); Thì chúng ta phải thay đổi gì trong thuật toán này? Hs: Thêm dấu =. BÀI 12. KIỂU XÂU(Tiết 2) 3. Một số ví dụ : 3.1 Ví dụ 1: Input: S1, S2 Output: Xâu dài hơn ( đưa ra xâu S2 nếu S1=S2).. Thuật toán. Chương trình. 1. Khai báo. Var S1, S2: String ;. 2. Nhập xâu. Begin Write('Nhap ho ten thu 1 : ') ; Readln(S1) ; Write('Nhap ho ten thu 2 : ') ; Readln(S2) ; If length(S1) > length(S2) then Write(S1) else Write(S2); Readln ; End .. 3. Xử lí xâu. If length(S1) <= length(S2) Write(S2) Else Write(S1). HOẠT ĐỘNG 2 (8’):. then.
<span class='text_page_counter'>(3)</span> PHÂN TÍCH VÍ DỤ 2 HOẠT ĐỘNG CỦA GV VÀ HS Hs: Đọc đề ví dụ 2. Gv: Đề bài yêu cầu chúng ta thực hiện công việc gì, Input và Output của bài này là gì? Hs: TL. Gv: Đưa ra ví dụ. Vd: S1:= ‘HA MY’ S2:= ‘DUC THANH’. Gv: Phần tử đầu tiên của S1 ở đâu? Là kí tự gì? Cách tham chiếu như thế nào? (tương tự cho phần tử cuối) Hs: Ở đầu tiên xâu, kí tự ‘H’, S[1] Gv: Vậy các công việc chính cần làm để xây dựng chương trình này gồm mấy công việc? Đó là những công việc nào? Gv: Treo bảng phụ và giải thích : đặc biệt cách tham chiếu đến kí tự đầu tiên và kí tự cuối cùng. Lưu ý: Mục đích của ví dụ 2 là cách tham chiếu đến phần tử S1[1] và S2[Length(S2)]. NỘI DUNG GHI BẢNG 3.2 Ví dụ 2: Input: S1, S2 Output: Kí tự đầu tiên của S1 có trùng với kí tự cuối cùng của S2? Thuật toán 1. Khai báo. Chương trình. VarS1,S2: String[30]; 2. Nhập xâu x : Byte ; Begin Write('Nhap ho ten thu 1 : ') ; Readln(S1) ; 3. Xử lí xâu Write('Nhap ho trong đó: ten thu 2 : ') ; Readln(S2) ; - Kí tự đầu x := length(S2) ; tiên của xâu If S1[1] = S2[x] A: A[1] then Write('Trung -Kí tự cuối nhau') cùng của xâu else S2: S2[x] Write('Khac trong đó x là nhau'); độ dài của xâu S2 Readln ; End ..
<span class='text_page_counter'>(4)</span> HOẠT ĐỘNG 3 (3’): PHÂN TÍCH VÍ DỤ 3 HOẠT ĐỘNG CỦA GV VÀ HS Hs: Đọc đề ví dụ 2. Gv: Đề bài yêu cầu chúng ta thực hiện công việc gì, Input và Output của bài này là gì? Gv: Theo em xâu đảo ngược là xâu như thế nào? Cho ví dụ? S:= ‘TIN HOC’ S1:= ‘COH NIT’. NỘI DUNG GHI BẢNG 3.3 Ví dụ 3: Input: Xâu S Output: Xâu ngược của xâu S S:= ‘TIN HOC’ Length(S) ..... Length(S) – 1 S[1] S1:= ‘COH NIT’. Gv: Hướng dẫn thuật toán (dùng vòng for lùi)để hs hoàn thành vì mục đích ví dụ 3 là củng cố lại việc tham chiếu (Hoàn thành chương trình vào vở) kí tự trong một xâu thông qua vị trí của nó. Hs: Hoàn thành HOẠT ĐỘNG 4 (12’): PHÂN TÍCH VÍ DỤ 4.
<span class='text_page_counter'>(5)</span> HOẠT ĐỘNG CỦA GV VÀ HS Hs: Đọc đề ví dụ 4. Gv: Đề bài yêu cầu chúng ta thực hiện công việc gì, Input và Output của bài này là gì? Hs: TL: Gv: Đưa ra ví dụ Vd: Xâu ban đầu: a:= ‘ H OC’ Xâu đã xử lí: b:= ‘HOC’ Gv: Vậy em nào có thể đưa ra ý tưởng bài này? Hs: Nêu ý tưởng. Gv: Vậy các công việc chính cần làm để xây dựng chương trình này gồm mấy công việc? Đó là những công việc. NỘI DUNG GHI BẢNG 3.4 Ví dụ 4: Input: a Output: Xâu b (loại bỏ dấu cách từ xâu a).. Thuật toán 1. Khai báo 2. Nhập xâu. Chương trình Var i,k : Byte ; a,b : String ; Begin Write('Nhap xau : ');.
<span class='text_page_counter'>(6)</span> HOẠT ĐỘNG 5 (8’): PHÂN TÍCH VÍ DỤ 5 HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG GHI BẢNG Gv: Gọi hs đọc đề bài. 3.5 Ví dụ 5: Hs: Đọc đề ví dụ 5. Gv: Đề bài yêu cầu chúng ta thực Input: S1 hiện công việc gì, Input và Output của Output: S2(các chữ số có trong S1) bài này là gì? Thuật toán Chương trình Hs: TL. Ví dụ : S1:= ‘A1B2C4D3’ 1. Khai báo S2:= ‘1243’ Gv: Các chữ số trong toán học từ bao nhiêu tới bao nhiêu các em. Var S1,S2 : String ; Hs: Từ 0….9 2. Nhập xâu i : Byte ; -Gv: Giải thích khởi tạo xâu S2 rỗng để lưu trữ những kí tự là số trong xâu S1. Phải có điều kiện để xác định số trong xâu S1. Gv: Cho hoc sinh xem đoạn chương trình và giải thích ý nghĩa từng dòng lệnh.. 3. Xử lí trong đó:. xâu. - Tạo xâu mới bằng cách ghép dần các kí tự thỏa mãn điều kiện. -Những chữ số ở xâu ban đầu được nhặt ra để ghép vào xâu mới. Begin Write('Nhap xau S1 : ') ; Readln(S1) ; S2 := '' ; For i := 1 to length(S1) do If ('0'<=S1[i]) and (S1[i]<='9') then S2 := S2 + S1[i] ; Write(S2); Readln ; End .. IV. Củng cố bài học: 1. Nhắc lại những nội dung đã học. 2. Câu hỏi, bài tập về nhà : - Đọc và làm bài tập 10 sách giáo khoa trang 80. V. Rút kinh nghiệm ,bổ sung: ..................................................................................................................
<span class='text_page_counter'>(7)</span> ..................................................................................................................
<span class='text_page_counter'>(8)</span>