intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài: KIỂU DỮ LIỆU XÂU

Chia sẻ: Vo Minh Tuan | Ngày: | Loại File: DOC | Số trang:11

203
lượt xem
22
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng ký tự của xâu.

Chủ đề:
Lưu

Nội dung Text: Bài: KIỂU DỮ LIỆU XÂU

  1. KIỂU DỮ LIỆU XÂU (TIẾT 1/2) I. MỤC TIÊU 1. Kiến thức - Biết được một kiểu dữ liệu mới, biết được khái niệm kiểu xâu. - Phân biệt được sự giống và khác giữa kiểu mảng ký tự với xâu ký tự. - Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng ký tự của xâu. - Biết các phép toán liên quan xâu. 2. Kĩ năng - Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal. Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, máy chiếu projector để giới thiệu ví dụ. 2. Chuẩn bị của học sinh - Sách giáo khoa. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Tìm hiểu về xâu và cách sử dụng. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu ý nghĩa của xâu ký tự. 1. Quan sát, suy nghĩ và trả lời. - Chiếu đề bài của bài toán đặt vấn đề: Viết chương trình nhập họ tên của 30 học sinh trong lớp. - Hỏi: Ta sẽ chọn kiểu dữ liệu như - Kiểu mảng một chiều gồm 30 thế nào? Khai báo biến như thế nào? ký tự. - Khai báo một biến mảng A để - Yêu cầu học sinh: Viết đoạn lệnh lưu họ tên của một học sinh. để nhập và xuất dữ liệu cho từng Readln(A[1]);Readln(A[2]); phần tử. Readln(A[3]);Readln(A[4]); ... - Hỏi: Có những khó khăn gì gặp - Chương trình được viết dài phải? dòng. Khi nhập dữ liệu, phải thực hiện gõ nhiều phím.
  2. - Dẫn dắt: Cần có một kiểu dữ liệu mới cho phép ta nhập/xuất dữ liệu cho xâu bằng một lệnh. 2. Quan sát cấu trúc khai báo và 2. Tìm hiểu về kiểu xâu. tham khảo sách giáo khoa. - Chiếu lên bảng cách khai báo biến xâu trong ngôn ngữ lập trình Pascal. - String là tên kiểu xâu. - Hỏi: Ý nghĩa của từ String, [n] - [n] là giá trị quy định số lượng ký tự tối đa mà biến xâu có thể chứa. - Hỏi: Khi khai báo không có [n] thì số - Số ký tự tối đa là 255 lượng ký tự tối đa là bao nhiêu? - Yêu cầu học sinh cho ví dụ một xâu - Ví dụ: ‘HA NOI’ ký tự - Xâu có 6 ký tự, dấu cách là một - Hỏi: Xâu có bao nhiêu ký tự? ký tự. - Diễn giải: Mỗi ký tự được gọi là một phần tử của xâu. Số lượng ký tự trong xâu được gọi là độ dài của xâu. - Ký hiệu của xâu gồm một ký tự - Hỏi: Xâu chỉ gồm một ký tự trống trống là ‘ ’. Xâu này có độ dài là được viết như thế nào? số lượng ký 1. tự bao nhiêu? - Ký hiệu của xâu rỗng là ‘ ’. - Hỏi: Xâu rỗng được viết như thế Xâu này có độ dài là 0. nào? số lượng ký tự bao nhiêu? 3. Quan sát bảng để trả lời. 3. Nhập/xuất dữ liệu cho biến xâu trong ngôn ngữ Pascal. - Giới thiệu cấu trúc chung của thủ tục nhập/xuất dữ liêu. - Ví dụ: Readln(hoten); - Yêu cầu học sinh tìm ví dụ cụ thể. - Ví dụ: Write(‘Ho ten ’,hoten); - Viết một lệnh nhập nguyên cho - Hỏi: Khi viết lệnh nhập/xuất dữ cả xâu. Viết lệnh gọn hơn, liệu cho biến xâu, có gì khác so với chương trình gọn. biến mảng các ký tự. - Dẫn dắt: Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu. Cấu trúc chung: tên_biến_xâu:=hằng_xâu; - Ví dụ: St:= ‘HA NOI’; - Yêu cầu học sinh tìm một ví dụ cụ 4. Quan sát và suy nghĩ để trả lời.
  3. thể. 4. Tham chiếu đến từng ký tự của - Giống cấu trúc chung khi tham chiếu xâu. - Giới thiệu cấu trúc chung. tên biến[chỉ số] - Hỏi: Có gì giống và khác nhau so với cách tham chiếu đến từng phần tử - Ví dụ: st[2]. của mảng. 5. Quan sát chương trình trên - Yêu cầu học sinh tìm một ví dụ. bảng và độc lập suy nghĩ. 5. Kiểm tra kiến thức. - Chiếu nội dung bài tập kiểm tra kiến thức: - Lệnh {1} đúng. - Lệnh {2} sai. Không thể gán Var st:string[1]; c:char; một xâu cho một ký tự. Begin c:=st[1]; {1} c:=st; {2} End. - Hỏi: Trong hai lệnh {1} và {2}, lệnh nào đúng? - Thực hiện chương trình để học sinh tự kiểm nghiệm suy luận. 2. Hoạt động 2: Tìm hiểu các phép toán liên quan đến xâu. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Gợi nhớ các phép toán đã học. 1. Chú ý theo dõi, suy nghĩ và trả - Hỏi: Hãy nhắc lại các phép toán đã lời. học trên kiểu dữ liệu chuẩn. - Phép toán số học. - Phép toán so sánh. 2. Tìm hiểu chức năng của một số - Phép toán logic. phép toán trong kiểu xâu qua một số 2. Quan sát ví dụ, suy nghĩ và trả ví dụ. lời. - Chiếu chương trình ví dụ: - Quan sát chương trình. Var st:string; Begin st:= ‘Ha’+‘Noi’; Write(st); readln;
  4. End. - Hỏi: Kết quả của chương trình in ra - Kết quả cho ta: st = ‘HA NOI’ màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Quan sát kết quả chương trình. - Yêu cầu học sinh tìm một số ví dụ - Ví dụ: st:= ‘HA NOI’ + ‘Co ho khác. GUOM’. Kết quả: st = ‘HA NOICo ho GUOM’ - Hỏi: Chức năng của phép cộng ? - Là phép toán nối xâu thứ hai vào cuối xâu thứ nhất. - Giới thiệu thêm một số ví dụ khác và yêu cầu học sinh cho biết kết quả. st:= ‘Ha’ +‘Noi’; st:= ‘HaNoi’; st:= ‘Ha ’+‘Noi’; st:= ‘Ha Noi’; st:= ‘ ’ + ‘Ha Noi’; st:= ‘ Ha Noi’; st:= ‘Ha Noi’ + ‘Việt’ + ‘Nam’; st:= ‘Ha NoiViệtNam’; - Chiếu chương trình ví dụ về phép so - Quan sát chương trình để dự sánh xâu. tính kết quả. Var bo:boolean; Begin bo:= ‘AB’ < ‘AC’; Write(bo); readln; End. - Hỏi: Kết quả của chương trình in ra - Kết quả là: TRUE màn hình? - Thực hiện chương trình để học sinh - Quan sát kết quả chương trình thấy kết quả. để kiểm chứng suy luận. - Hỏi: Còn các phép so sánh nào nữa? - Có các phép
  5. dài nhỏ hơn có thể lớn hơn (>) xâu có độ dài lớn. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những nội dung đã học - 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: =, , >,
  6. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Tìm hiểu về một số hàm và thủ tục chuẩn liên quan xâu trong ngôn ngữ lập trình Pascal. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Giới thiệu cấu trúc chung của hàm 1. Quan sát cấu trúc chung. length(st) lên bảng. - Hỏi: Ý nghĩa của Length và của st? - Length: là tên hàm, có nghĩa là độ - Chiếu chương trình ví dụ: dài, st: là một biểu thức xâu ký tự. Var st:string; - Quan sát chương trình để dự tính Begin kết quả. st:= ‘Ha Noi’; Write(length(st)); readln; End. - Hỏi: Kết quả của chương trình in - Kết quả là: 6 ra màn hình? - Thực hiện chương trình để học - Quan sát kết quả của chương sinh thấy kết quả. trình. - Hỏi: Chức năng của hàm length() là - Hàm cho số lượng ký tự của xâu gì? - Chiếu đề bài tập ứng dụng: Viết st. chương trình nhập một xâu, in ra màn hình số ký tự ‘a’ có trong xâu. 2. Giới thiệu cấu trúc chung của hàm 2. Quan sát cấu trúc chung của Upcase(ch). - Chiếu chương trình ví dụ: hàm Upcase. Var ch:char; - Quan sát chương trình để dự tính Begin kết quả. ch:= ‘h’; Write(upcase(ch)); readln; End. - Hỏi: Kết quả của chương trình in - Kết quả là: H ra màn hình? - Thực hiện chương trình để học
  7. sinh thấy kết quả. - Quan sát kết quả của chương - Hỏi: Chức năng của hàm upcase()? trình. - Chiếu bài tập ứng dụng: Viết chương trình nhập một xâu, in ra - Cho giá trị là chữ cái in hoa của màn hình xâu đó dạng in hoa. ch. Var st:string; Begin readln(st); 3. Giới thiệu cấu trúc chung của hàm For i:=1 to length(st) do Pos(s1,s2). write(upcase(st[i])); - Chiếu chương trình ví dụ: End. 3. Quan sát cấu trúc chung của Var vt:byte; hàm Pos và các ví dụ để biết chức Begin vt:=Pos(‘cd’, ‘abcdefcd’); năng. Write(vt); - Quan sát chương trình để dự tính readln; kết quả. End. - Hỏi: Kết quả của chương trình in ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi: Chức năng của hàm pos? - Kết quả là: 3 - Thay tham số của hàm Pos trong - Quan sát kết quả của chương chương trình bằng Pos(‘k’, ‘abc’). trình. Hỏi kết quả của hàm bằng bao - Hàm cho giá tri là một số nguyên nhiêu? - Chiếu bài tập ứng dụng: Viết là vị trí của xâu st2 trong xâu st2. chương trình nhập vào một xâu st. - Bằng không 0. Xét xem trong xâu có dấu cách hay không? Var st:string; Begin readln(st);
  8. - Hỏi: Có cách giải nào khác? if pos(‘ ’, st)0 then write(‘Co’) else write(‘Khong’); 4. Giới thiệu cấu trúc chung của hàm End. - Có thể sử dụng For để tìm dấu copy(st,vt,n). - Chiếu chương trình ví dụ: cách trong xâu. 4. Quan sát cấu trúc chug của hàm Var st:string; copy và ví dụ để biết chức năng. Begin - Quan sát chương trình để dự tính st:=copy(‘bai tap’,3,4); kết quả. Write(st); readln; End. - Hỏi: Kết quả của chương trình in ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Kết quả là: ‘i ta’ - Hỏi: Chức năng của hàm copy? - Quan sát kết quả của chương - Thay các tham số của hàm copy trình. trong chương trình ví dụ trên như sau và hỏi kết quả in ra màn hình: - Hàm cho giá trị là một xâu ký tự được lấy trong xâu st, gồm n ký tự Copy(‘abc’,1,5) bắt đầu tại vị trí vt. Copy(‘abc’,5,2) Copy(‘abc’,1,0) - Thực hiện chương trình để học sinh thấy kết quả. Cho giá trị là: ‘abc’ 5. Giới thiệu cấu trúc chung của thủ Cho giá trị là xâu rỗng tục delete(st,vt,n); Cho giá trị là xâu rỗng - Chiếu chương trình ví dụ: - Quan sát kết quả của chương trình để kiểm nghiệm suy luận. Var st:string; 5. Quan sát cấu trúc chung của thủ Begin tục Insert và các ví dụ. st:= ‘HaNoi’; delete(st,3,2); - Quan sát chương trình để dự tính Write(st); kết quả. readln; End. - Hỏi: Kết quả của chương trình in
  9. ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả. - Hỏi chức năng của thủ tục delete(); st=’Hai’ - Quan sát kết quả của chương - Thay lệnh gán st:= ‘HaNoi’; và thủ trình. tục xóa bởi các lệnh sau và hỏi kết quả in ra màn hình. - Thủ tục thực hiện việc xóa đi trong biến xâu st gồm n ký tự, bắt st:=’abc’; Delete(st,1,5); đầu từ vị trí vt. st:=’abc’; Delete(st,5,2); st:=’abc’; Delete(st,1,0); - Chiếu bài tập ứng dụng: Viết chương trình nhập một xâu và xoá đi các dấu cách thừa ở đầu xâu. st:= ‘’; xâu rỗng. st:= ‘abc’; st:= ‘abc’; Var st:string; begin 6. Giới thiệu cấu trúc chung của thủ readln(st); tục Insert(st1,st2,vt); while st[1]= ‘ ’ do delete(st,1,1); - Chiếu chương trình ví dụ: writeln(st); Var st1,st2:string; readln; Begin end. 6. Quan sát cấu trúc chung của thủ st2:=‘HaNoi’; tục Insert. st1:= ‘ ’; insert(st1,st2,3); - Quan sát chương trình để dự tính Write(st); kết quả. readln; End. - Hỏi: Kết quả của chương trình in ra màn hình? - Thực hiện chương trình để học sinh thấy kết quả.
  10. - Hỏi chức năng của thủ tục insert(); - Kết quả st2=’Ha Noi’ - Thay lệnh gán st2:=‘HaNoi’; và thủ tục chèn bởi các lệnh như sau và hỏi - Quan sát kết quả của chương kết quả: trình. st2:=‘ef’; Insert(‘abc’,st2, 5); - Thủ tục thực hiện việc chèn xâu st2:=‘ef’; Insert(‘abc’,st2, 0); st1 vào trong biến xâu st2 bắt đầu tại vị trí vt. st2= ‘efabc’; st2= ‘abcef’; 2. Hoạt động 2: Rèn luyện kĩ năng vận dụng hàm và thủ tục. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Xác định bài toán. 1. Quan sát, suy nghĩ để trả lời. - Chiếu nội dung đề bài lên bảng. - Xác định dữ liệu vào, dữ liệu ra. - Vào: Một xâu ký tự bất kỳ. - Ra: Một xâu chỉ có 1 ký trắng giữa hai từ. - Hỏi: Các nhiệm vụ chính khi giải - Xoá mọi dấu cách thừa đầu xâu quyết bài toán này? và cuối xâu. - Xoá các dấu cách thừa giữa hai - Hỏi: Trong bài này, ta cần sử dụng từ. những hàm và thủ tục nào? - Hàm Pos(), thủ tục delete(); 2. Chia lớp làm 3 nhóm. Yêu cầu viết chương trình lên bìa trong. 2. Thảo luận theo nhóm để viết - Thu phiếu trả lời. Chiếu kết quả chương trình. lên bảng. Gọi học sinh nhóm khác - Thông báo kếtquả. nhận xét, đánh giá và bổ sung. - Nhận xét và bổ sung những 3. Chiếu chương trình mẫu giáo viên thiếu sót của nhóm khác. đã viết để chính xác hóa lại cho học 3. Quan sát và ghi nhớ. sinh. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những hàm và thủ tục liên quan đến xâu - Thủ tục Delete(st,vt,n);
  11. - Thủ tục Insert(st1,st2,vt); - Hàm Copy(st,vt,n) - Hàm Length(st) - Hàm Pos(st1,st2) - Hàm UpCase(ch) 2. Câu hỏi và bài tập về nhà - Giải bài tập số 10 trang 80.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2