Giáo án Tin học 11 - Bài 12: Kiểu xâu (tiết 1)

8 260 0
Giáo án Tin học 11 - Bài 12: Kiểu xâu (tiết 1)

Đang tải... (xem toàn văn)

Thông tin tài liệu

- Dữ liệu trong các bài toán Chú ý theo dõi không chỉ thuộc kiểu số mà cả kiểu phi số - dạng kí tự Cho ví dụ : Viết chương trình nhập họ tên của 30 học sinh trong lớp, cho biết tên bạn n[r]

(1)GIÁO ÁN GIẢNG DẠY Người soạn: Nguyễn Thị Hòa Giáo viên hướng dẫn: Hồ Ngọc Phụng Lớp: 11B6 Tiết 28 Ngày soạn: Ngày dạy: 02/03/2010 04/03/2010 §12 KIỂU XÂU (Tiết 1) I MỤC TIÊU BÀI HỌC: Kiến thức:  Biết nguyên nhân sinh kiểu sữ liệu xâu  Phân biệt giống và khác kiểu mảng các ký tự với xâu  Biết cách khai báo biến, nhập xuất liệu, tham chiếu đến ký tự xâu  Biết các phép toán, thủ tục và hàm thông dụng liên quan đến xâu Kĩ năng:  Nhận biết trường hợp nào cần sử dụng kiểu xâu  Khai báo biến kiểu xâu ngôn ngữ lập trình Pascal  Nhận biết biến xâu và các phép toán xử lí trên xâu Thái độ:  Ham thích môn học, có tính kỷ luật cao  Rèn luyện các phẩm chất cần thiết người lập trình như: xem xét vấn đề cách cẩn thận, chu đáo, sáng tạo II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:  Phương pháp: Giải vấn đề, thuyết trình, diễn giảng, vấn đáp  Phương tiện: Bảng  Chuẩn bị  Giáo viên : Giáo án, sách giáo viên, tài liệu tham khảo  Học sinh: Vở ghi chép, sách giáo khoa Lop11.com (2) III TIẾN TRÌNH LÊN LỚP Ổn định tổ chức lớp (1’)  Nắm sĩ số: Vắng:  Ổn định trật tự, tạo tâm lý tốt để bắt đầu tiết học Kiểm tra bài cũ (5’) - Hỏi: Hãy cho biết mảng chiều là gì? Em hãy khai báo biến mảng chiều có tên Hoten gồm 30 kí tự? - Trả lời: Nêu định nghĩa mảng chiều - Var Hoten : array[1 30] of char; - Type Mang_ht =array[1 30] of char; Var Hoten: Mang_ht; - Nhận xét và cho điểm.( Có thể mời học sinh khác nhận xét) Nội dung bài TG HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS Hoạt động 1: Nguyên nhân sinh kiểu liệu xâu (3’) - Dữ liệu các bài toán Chú ý theo dõi không thuộc kiểu số mà kiểu phi số - dạng kí tự Cho ví dụ : Viết chương trình nhập họ tên 30 học sinh lớp, cho biết tên bạn nào dài Với các kiểu liệu em đã học, làm nào để lưu trữ họ tên học sinh? - Dùng mảng chiều với kiểu phần Lop11.com (3) tử là kiểu char Var Hoten: array[1 30] of char; Hoten … 30 Vấn đề đặt là số lượng phần tử mảng 30 kí tự, - 30 mà lần nhập kí tự, thì số lần nhập là bao nhiêu? - Có khó khăn nào gặp - Chương trình viết phải? dài dòng Khi nhập liệu phải gõ nhiều phím => Nhận xét và kết luận: Chúng ta có thể dùng mảng chiều với kiểu phần tử là kiểu - Học sinh chú ý lắng nghe char để lưu họ tên học sinh, nhiên gặp nhiều khó khăn thao tác trên mảng đó như: nhập, xuất…(phải dùng vòng lặp for và phải Enter nhiều lần nhập từ bàn phím) - Do vậy, để giải khó khăn đó, ngôn ngữ lập trình có kiểu liệu cho phép ta nhập/xuất liệu cho dãy kí tự lệnh đó là kiểu xâu - Vậy xâu là gì? Khai báo sao? Chúng ta tìm hiểu bài Tiết 28 KIỂU XÂU 12 kiểu xâu Lop11.com (4) Hoạt động 2: Tìm hiểu kiểu xâu 5’ Cho số dãy kí tự ví dụ như: - Chú ý theo dõi ‘Le Van Anh’; ‘12345’=> khái niệm +> Đưa và giải thích khái niệm +>Nhắc lại: Kí tự bao gồm các chữ cái thường và hoa a, b, c, , z, A, B, C, , Z, các chữ số thập phân 0, 1, 2, , và số kí tự khác các phép toán… +> Dựa vào khái niệm và các - Lấy ví dụ ví dụ trên, em nào hãy cho cô ví dụ khác? - Hỏi: Xâu có bao nhiêu kí tự? - Trả lời - Kí hiệu xâu - Hỏi: Xâu gồm kí tự gồm kí tự trắng trắng viết nào? Độ là ‘ ’ Xâu này có dài xâu bao nhiêu? độ dài là 1 Khái niệm - Xâu là dãy kí tự bảng mã ASCII Ví dụ: ‘LỚP 11B6’ - Mỗi kí tự gọi là phần tử xâu - Số lượng kí tự xâu gọi là độ dài xâu Ví dụ: Xâu trên có kí tự => Độ dài xâu trên là Chú ý: - Xâu kí tự đặt cặp nháy đơn (‘’) - Xâu có tối đa 255 kí tự - Hỏi: Xâu rỗng viết - Kí hiệu xâu nào? Độ dài xâu bao rỗng là ‘’ Xâu này - Xâu không có kí tự nào gọi là xâu rỗng nhiêu ? có độ dài là Khai báo 3’  Cú pháp: - Để khai báo biến có kiểu liệu xâu ta sử dụng tên dành riêng STRING, là độ dài lớn xâu(<=255), ghi cặp dấu [] Theo cú pháp sau: Var <Tên_biến>: String[độ dài lớn nhất]; Trong đó: - String: Từ khóa khai báo kiểu xâu * Ví dụ: Var Hoten: String [50]; Var Que_quan: String[60] - Nêu và giải thích cách khai báo biến kiểu xâu * Cho ví dụ: - Yêu cầu học sinh cho ví dụ? Hỏi: Khi khai báo không có[n] - Số kí tự tối đa là 255 Chú ý: - Trong mô tả xâu có thể Lop11.com (5) thì số lượng kí tự tối đa là bao nhiêu? bỏ qua phần khai báo độ dài Ví dụ: Que_quan: String; - Nếu không khai báo độ dài tối đa cho xâu kí tự thì độ dài ngầm định cho xâu là 255 3’  Tham chiếu đến phần tử xâu: - Giới thiệu cấu trúc chung - Yêu cầu học sinh tìm ví dụ - Hỏi: Có gì giống và khác - Giống cấu trúc so với cách tham chiếu đến chung tham phần tử mảng chiếu tên biến[chỉ số] Hoten[2]=? Hoten[3]=? Có thể xem xâu là mảng chiều - Cách tham chiếu tới phần tử xâu giống kiểu mảng Tên biến[chỉ số] Ví dụ: Hoten:= ‘Le Anh’ Ví dụ: Hoten[5]= ‘n’; ‘e’ ‘’ Hoạt động 3: Tìm hiểu các thao tác xử lí xâu Lop11.com (6) 2’ +>Tìm hiểu chức số phép toán kiểu xâu qua số ví dụ - Phép ghép xâu: Kí hiệu phép cộng - Sử dụng để ghép nhiều xâu thành xâu Chú ý theo dõi a Phép ghép xâu: - Kí hiệu là dấu ( +) - Ghép nhiều xâu thành xâu Ví dụ: ‘Le Van’ + ‘ An’ kết quả: ‘Le Van An’ - Thực chất phép ghép xâu là viết tiếp xâu sau dấu cộng vào cuối xâu trước dấu cộng 5’ - Nếu xâu sau ghép có nhiều 255 kí tự => báo lỗi +> Lấy ví dụ b Các phép so sánh xâu: - So sánh xâu: - Thực so sánh các cặp kí tự từ trái sang phải theo quy tắc sau: - Nêu các qui tắc so sánh +> Gồm các toán tử: =, <>, <, >, <=, >= Qui tắc: - A> B <=> Kí tự khác đầu tiên xâu A có mã ASCII lớn Ví dụ: AC> AB; - Nhắc lại các mã thập phân các kí tự bảng mã ASCII - A(65)  Z(90) - A< B <=> Nếu xâu A là đoạn đầu xâu B ‘An’< ‘Anh’ - a(97)  z(122) - ‘0’ (48)  ‘9’(57) - Cho các ví dụ cụ thể và hỏi HS trả lời Ví dụ: 5’ Các thao tác xử lí xâu So sánh ‘Lop 11B6’ ? ‘Lop 11B5’ Lan ? Lam Lưu ý : Một xâu có độ dài nhỏ có thể lớn (>) xâu có độ dài lớn Ví dụ: ‘AC’ < ‘ABC’ Giới thiệu cấu trúc chung Chú ý theo dõi, các thủ tục và lấy ví dụ minh chép bài họa - Với ví dụ trên cho ta kết nào? - A=B <=> Hai xâu A và B giống hoàn toàn Ví dụ: ‘Tin hoc’= ‘Tin hoc’; c) Các thủ tục: * Delete(s, vt, n): Xóa n kí tự vị trí vt xâu s Ví dụ: s:= ‘abcdef’; Delete(s, 3, 2); Kết quả: s = ‘abef’ * Insert(s1, s2, vt): Lop11.com (7) - Bạn nào cho cô biết, với ví dụ ‘abef’ trên sau thực lệnh Insert thì giá trị xâu s2 thu là gì? ‘Truong THPT Phong Dien’ 10’ Giới thiệu cấu trúc chung các hàm và lấy ví dụ minh họa - Với ví dụ trên cho ta kết - Chú ý theo dõi nào? và trả lời câu hỏi - Lấy thêm ví dụ cho học sinh thực Để chèn xâu s1 vào xâu s2, bắt đầu vị trí vt Ví dụ: s1 := ‘THPT ’ s2 := ‘Truong Phong Dien Insert(s1, s2, 8); Kết : s2 = ‘Truong THPT Phong Dien d) Các hàm: * Copy(S, vt, n): Để tạo xâu gồm n kí tự liên tiếp vị trí vt xâu S Ví dụ: S := ‘Mon Tin Hoc’ S1 := Copy(S, 5, 3); Kết : S1=‘Tin’ * length(S): Cho giá trị là độ dài xâu S Ví dụ : S := ‘Thua Thien Hue’; N := length(S); Kết : N = 14 * Pos(s1, s2): Cho vị trí xuất đầu tiên xâu s1 xâu s2 Ví dụ: s1 := ‘bc’ s2 := ‘abcdef’ Vt := Pos(s1, s2); Kết : Vt = * upcase(ch): Cho kí tự in hoa kí tự thường ch Ví dụ: ch := ‘a’; upcase(ch); Kết : ‘A’ Lop11.com (8) Củng cố và bài tập nhà ( 2’) Những nội dung đã học  Khái niệm kiểu xâu  Cách khai báo biến kiểu xâu  Các thao tác xử lí xâu: phép ghép xâu, phép so sánh xâu, các hàm và thủ tục Câu hỏi và bài tập nhà - Xem trước nội dung phần ví dụ SGK GIÁO VIÊN HƯỚNG DẪN SINH VIÊN THỰC TẬP HỒ NGỌC PHỤNG NGUYỄN THỊ HÒA Lop11.com (9)

Ngày đăng: 01/04/2021, 04:24