Bài giảng Tin học Lớp 11 - Chủ đề 4: Kiểu dữ liệu có cấu trúc - Bài 12: Kiểu xâu - Nguyễn Thanh Tuyền

ppt 18 trang phanha23b 29/03/2022 3660
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 11 - Chủ đề 4: Kiểu dữ liệu có cấu trúc - Bài 12: Kiểu xâu - Nguyễn Thanh Tuyền", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_tin_hoc_lop_11_chu_de_4_kieu_du_lieu_co_cau_truc_b.ppt

Nội dung text: Bài giảng Tin học Lớp 11 - Chủ đề 4: Kiểu dữ liệu có cấu trúc - Bài 12: Kiểu xâu - Nguyễn Thanh Tuyền

  1. Câu 1: Em hãy cho biết mảng một chiều là gì? Có mấy cách khai báo và cú pháp các cách khai báo đó như thế nào? Câu 2: Áp dụng khai báo trực tiếp biến mảng một chiều M gồm 200 phần tử, các phần tử của mảng thuộc kiểu kí tự. Friday, April 8, 2022
  2. Đáp án: Câu 1: - Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. - Mảng một chiều được khai báo theo hai cách: trực tiếp và gián tiếp. + Cú pháp khai báo trực tiếp: Var : array[kiểu chỉ số] of ; + Khai báo gián tiếp: Type = array[kiểu chỉ số] of ; Var : ; Câu 2: Var M: array[1 200] of char ; Friday, April 8, 2022
  3. Cho biến dữ liệu sau: A : T I N H O C BiếnA Achính cóViết phải là Mảngchương mảng là mảngA trìnhcó 6 phầnnhập mộtmột chiều chiều,vào không?tử mảng, cácmỗi phần A,Cáclần ta nhập phải chỉ phầntử củatử nhậpcủa Amột thuộcbiến bao phần A nhiêukiểu thuộc tử nênlần? để kiểuchar dữ (kiểuliệunhập nào? kí tự).mảng A vào ta phải thực hiện 6 lần. Friday, April 8, 2022
  4.  Viết chương trình nhập họ tên của 50 học sinh trong lớp. Nhận xét: Em có nhận xét gì Việc nhập dữ liệu sẽ rất lâu, tốn về bài toán trên nếu ta thời gian và phải thực hiện gõ rất sử dụng kiểu mảng nhiều phím. một chiều để nhập dữ liệu? Friday, April 8, 2022
  5. Baøi 12: Kieåu xaâu GV: Nguyễn Thanh Tuyền Tổ: Tin- Td- Qp
  6. KIỂU XÂU NỘI DUNG Khái niệm xâu Khai báo biến kiểu xâu Các thao tác xử lí xâu w w w.t
  7. ❖ Khái niệm xâu: • Xâu là dãy kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu. • Số lượng kí tự trong một xâu được gọi là độ dài của xâu. • Xâu có độ dài bằng 0 gọi là xâu rỗng, viết là ‘’ VÝ dô: A T I n H o c 1 2 3 4 5 6 7 Trong ®ã:  Tªn x©u: A;  Mçi kÝ tù gäi lµ mét phÇn tö cña x©u;  §é dµi cña x©u (sè kÝ tù trong x©u): 7;  Khi tham chiÕu ®Õn kÝ tù thø i cña x©u ta viÕt A[i]. VÝ dô: A[5]=‘H’.
  8. 1. Khai báo Cú pháp: Var : string[ độ dài lớn nhất của xâu]; Trong đó: + Var, string : Từ khóa + Độ dài lớn nhất của xâu (không vượt quá 255) ❖ Ví dụ 1 . Khai báo biến xâu để lưu trữ họ tên học sinh: Var hoten : String[30]; ❖ Ví dụ 2. Khai báo biến xâu để lưu trữ giới tính học sinh: Var GT: String [5]; Chú ý: Trong mô tả xâu có thể bỏ qua phần khai báo độ dài lớn nhất của xâu, khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255 Ví dụ 3. Var diachi:string;
  9. 2. Các thao tác xử lí xâu a. Phép ghép xâu: - Phép ghép xâu, được sử dụng để ghép nhiều xâu thành một (có thể thực hiện phép ghép xâu đối với các hằng và biến xâu) - Kí hiệu là dấu (+) Ví dụ1: ‘Kieu’ + ‘Xau’  ‘KieuXau’ Ví dụ2: S1:=‘LOP’ ; S2:=‘_11A9’ S:= S1 + S2  S:=‘LOP_11A9’
  10. 2. Các thao tác xử lí xâu b) Các phép so sánh: * Các phép so sánh xâu: =, >, =, có thứ tự ưu tiên thực hiện thấp hơn phép ghép xâu. * Quy tắc: ❖ Xâu 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. Ví dụ: ‘Ha Noi’ > ‘Ha Nam’ ❖ Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A < B. Ví dụ: ‘lop’ < ‘lop hoc’ ❖ Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn Ví dụ: ‘Tin hoc’ = ‘Tin hoc’
  11. c) C¸c thñ tôc vµ hµm chuÈn xö lÝ x©u Thñ tôc ý nghÜa VÝ dô Xo¸ n kÝ tù cña x©u S b¾t S = Song Hong 1. Delete(S,vt,n) ‘ ’ ®Çu tõ vÞ trÝ vt. Delete(S,1,5)  ‘Hong’ ChÌn x©u S1 vµo x©u S2 S1=‘1’ S2=‘Hinh .2’ 2. Insert(S1,S2,vt) b¾t ®Çu tõ vÞ trÝ vt. Insert(s1,s2,6)  ’Hinh 1.2’
  12. Hµm ý nghÜa VÝ dô S = ‘Tin hoc’ 1. Copy(S,vt,n) T¹o x©u gåm n kÝ tù liªn tiÕp b¾t ®Çu tõ vÞ trÝ vt Copy(S,5,3)= ‘hoc’ cña x©u S Cho gi¸ trÞ lµ ®é dµi cña S = ‘Xin chao’ 2. Length(S) x©u S Length(S) = 8 Cho vÞ trÝ xuÊt hiÖn ®Çu S1=‘1’ S2=‘Hinh 1.2’ 3. Pos(S1,S2) tiªn cña x©u S1 trong x©u Pos(S1,S2) = 6 S2 ChuyÓn kÝ tù ch thµnh ch÷ Ch=‘a’ 4. UPCase(ch) hoa UPCase(ch) = ‘A’
  13. 3. Mét sè vÝ dô 1 NhËp vµo hä tªn cña hai häc sinh, in ra mµn h×nh hä tªn dµi h¬n? C¸c bíc: ThÓ hiÖn b»ng pascal 1. Khai b¸o x©u Var a,b: string; BEGIN 2. NhËp x©u Write(‘ Nhap xau ho ten thu nhat :’); Readln(a); Write(‘Nhap xau ho ten thu hai :’); Readln(b); 3. Xö lÝ x©u IF Length(a)>Length(b) Then write(a) else write(b); Readln; END.
  14. 2 NhËp vµo mét x©u tõ bµn phÝm, ®a ra mµn h×nh x©u thu ®îc b»ng c¸ch lo¹i bá c¸c dÊu c¸ch tõ x©u ®· cho? H·y viÕt ch¬ng VÝ dô: H·y nªu thuËt tr×nh dùa theo to¸n ®Ó gi¶i bµi - X©u ban ®Çu : ‘Mon Tin hoc’ thuËt to¸n bªn. to¸n trªn? - KÕt qu¶ ra mµn h×nh : ‘MonTinhoc’ ThuËt to¸n B1. Khëi t¹o x©u rçng; B2. LÇn lît duyÖt qua tÊt c¶ c¸c phÇn tö cña x©u võa nhËp, nÕu phÇn tö ®îc duyÖt kh¸c dÊu c¸ch th× bæ sung vµo x©u rçng.
  15. 1. Thực hiện so sánh các xâu sau: a.‘Anh’ ‘Lop 10C3’ c. ‘May tinh’ = ‘May tinh’ 2. Cho biết kết quả của biểu thức sau khi thực hiện phép toán sau: Biết S:=‘ Chung tay’; S2:=‘ Viet Nam’ a. ‘CO’ + ‘RONA’ ‘CORONA’ b. S+ ’ phong chong’ + ’ corona ’ ‘Chung tay phong chong corona ’ c. Viết biểu thức ghép xâu để cho kết quả là: ‘Viet Nam Chung tay phong chong virus corona’ S2 + S + ‘ phong chong virus corona’
  16. KIỂU XÂU H·y Nhí! Khái niệm xâu Xâu là dãy kí tự trong bộ mã ASCII Khai báo biến xâu ➢ Var : string[Độ dài lớn nhất của xâu]; Thao tác xử lí xâu ➢ Tham chiếu tới phần tử của xâu: [chỉ số] ➢ Các thao tác xử lí xâu: Phép ghép xâu. Phép so sánh xâu. C¸c thñ tôc vµ hµm chuÈn xö lÝ x©u