Bài giảng Môn Tin học lớp 9 - Bài 12: Kiểu xâu
Ví dụ 1: - Nhập họ tên của 2 người vào 2 biến xâu.
- In ra màn hình xâu dài hơn, bằng nhau thì đưa ra xâu nhập sau.
Ví dụ 2:
- Nhập 2 xâu từ bàn phím.
- Kiểm tra ký tự đầu của xâu 1 có trùng với ký tự cuối cùng của xâu 2 không ?
1. Khai báo kiểu dữ liệu xâu Khái niệm Xâu là một dãy các kí tự trong bảng mã ASCII, có thể coi xâu như mãng một chiều. Độ dài của xâu là số phần tử của xâu đó. Xâu có độ dài tối đa là 255 kí tự. b. Khai báo kiểu xâu Cú pháp: Var :String [độ dài tối đa của xâu]; Lưu ý: độ dài tối đa là 255 kí tự. Trong khi khai báo chúng ta có thể bỏ qua độ dài xâu. 2. Một số thao tác trên xâu Tham chiếu tời phần tử của xâu Tên xâu[chỉ số] Các chỉ số của xâu được đánh số bắt đầu từ 1. Phép toán so sánh Xâu sử dụng được các phép toán so sánh là: , >=, =, . Thứ tự ưu tiên từ trái qua phải. Dựa vào chỉ số trong bảng mã ASCII. Phép ghép xâu Kí hiệu là + để ghép hai hay xâu lại thành một xâu. Ví dụ: ‘Ha’+’Noi’= ‘HaNoi’. Khi ta thực hiện phép cộng các xâu phải chú ý đến độ dài xâu kết quả Mô phóng Mô phóng . Thủ tục Delete(st, vt, n) thực hiện việc xoá n ký tự của xâu st bắt đầu từ vị trí vt . Thủ tục Insert(s1,s2,vt) thực hiện việc chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt . Hàm Copy(s,vt,n) tạo xâu gồm n ký tự liên tiếp bắt đầu từ vị trí vt của xâu s. . Hàm Length(s) cho giá trị là độ dài xâu s. . Hàm pos(s1,s2) cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2. . Hàm Upcase(ch) cho chữ cái viết hoa ứng với chữ cái trong ch. Ví dụ 1: - Nhập họ tên của 2 người vào 2 biến xâu. - In ra màn hình xâu dài hơn, bằng nhau thì đưa ra xâu nhập sau. Ví dụ 2: - Nhập 2 xâu từ bàn phím. - Kiểm tra ký tự đầu của xâu 1 có trùng với ký tự cuối cùng của xâu 2 không ? Ví dụ 3: - Nhập 1 xâu từ bàn phím. - In ra màn hình xâu ngược của xâu trên. Chương trình 3 Ví dụ 4: - Nhập 1 xâu từ bàn phím. - In ra xâu không chứa dấu cách của xâu trên. Ví dụ 5: - Nhập s1 xâu từ bàn phím. - Tạo xâu s2 gồm tất cả các ký tự số của xâu s1và in xâu s2. Chương trình 1 Chương trình 2 Chương trình 4 Chương trình 5 Các Bài Tập Ví Dụ *Ý tưởng: thực hiện phép so sánh length(a) và length(b) Var a,b : string; Begin write(‘nhap xau thu nhat: ’); readln(a); write(‘nhap xau thu 2 : ‘); readln(b); if length(a) > length(b) then write(‘xau dai hon la: ‘,a) else write(‘xau dai nhat la: ‘,b); readln End. Ví Dụ 1 Ví dụ 1: - Nhập họ tên của 2 người vào 2 biến xâu. - In ra màn hình xâu dài hơn, bằng nhau thì đưa ra xâu nhập sau. *Ý tưởng: thực hiện kiểm tra a[1] = b[length(b) ] Var x,y : byte; a,b : string; Begin write(‘nhap xau thu nhat: ’); readln(a); write(‘nhap xau thu 2 : ‘); readln(b); x := length(b); if a[1] = b[x] then write(‘trung nhau’) else write(‘khac nhau’); readln End. Ví Dụ 2 Ví dụ 2: - Nhập 2 xâu từ bàn phím. - Kiểm tra ký tự đầu của xâu 1 có trùng với ký tự cuối cùng của xâu 2 không ? *Ý tưởng: Áp dụng vòng lặp FOR DOWNTO DO . Var i,k : byte; a : string; Begin write(‘nhap xau : ’); readln(a); k := length(a); for i := k downto 1 do write(a[i]); readln End. Ví Dụ 3 Ví dụ 3: - Nhập 1 xâu từ bàn phím. - In ra màn hình xâu ngược của xâu trên. MINH HỌA Var i,k : byte; a,b : string; Begin write(‘nhap xau : ’); readln(a); k := length(a); b := ‘ ’; for i := 1 to k do if a[i] ‘ ’ then b := b+a[i]; writeln(‘ket qua: ‘,b); readln End. *Ý tưởng: thực hiện duyệt các phần tử trong xâu a và sao chép sang xâu b các phần tử của xâu a, nhưng chỉ sao chép các phần tử a[i] ‘ ’. Ví Dụ 4 Ví dụ 4: - Nhập 1 xâu từ bàn phím. - In ra xâu không chứa dấu cách của xâu trên. *Ý tưởng: thực hiện duyệt các phần tử trong xâu s1 và sao chép sang xâu s2 các phần tử của xâu s1 Program xu_ly_xau; Var s1,s2 : string; i : byte; 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]; writeln(‘ket qua: ‘,s2); readln End. Ví Dụ 5 Ví dụ 5: - Nhập s1 xâu từ bàn phím. - Tạo xâu s2 gồm tất cả các ký tự số của xâu s1và in xâu s2.
File đính kèm:
- kieu xau.ppt