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;
F Khi tham chiếu đến kí tự thứ i của xâu ta viết A[i].
Ví dụ: A[5]=‘H’.
Bài 15 kiểu dữ liệu xâuGiáo án điện tử tin học lớp 11Nhậ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?HnaNAHPmyNeyuGNABHãy xác định kiểu dữ liệu của hai biến A,B?Bài toán đặt vấn đề: Xâu là dãy các kí tự trong bộ mã ASCII.TInHocA 1 2 3 4 5 6 7 Trong đó:Khi tham chiếu đến kí tự thứ i của xâu ta viết A[i]. Ví dụ: A[5]=‘H’. Tên xâu: A; Mỗi kí tự gọi là một phần tử của xâu; Ví dụ: Độ dài của xâu (số kí tự trong xâu): 7;H1. Khái niệm2. Khai báo kiểu dữ liệu xâu (trong Pascal)Var : String[độ dài lớn nhất];Ví dụ: Var hoten: String[26]; Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.Ví dụ: Var chuthich :String;3. Các thao tác xử lí xâua. Biểu thức xâu: Là biểu thức trong đó các toán hạng là các biến xâu, biến kí tự.Ví dụ: ‘ Ha’ + ‘ Noi’ ‘Ha Noi’* Phép ghép xâu: kí hiệu “+” dùng để ghép nhiều xâu thành một xâu* Phép so sánh: =,, ,>=‘Ha Noi’ > ‘Ha Nam’ ‘Xau’ B nếu: + Kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B. + Xâu B là đoạn đầu của xâu A. - Xâu rỗng là xâu ‘’‘Tin hoc’ = ‘Tin hoc’ Ví dụ b. Các thủ tục và hàm chuẩn xử lí xâu S1=‘1’ S2=‘Hinh .2’Insert(s1,s2,6) ’Hinh 1.2’Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt. 2. Insert(S1,S2,vt)S = ‘Song Hong’Delete(S,1,5) ‘Hong’Xoá n kí tự của xâu S bắt đầu từ vị trí vt.1. Delete(S,vt,n)Ví dụý nghĩaThủ tụcCh=‘a’ UPCase(ch) = ‘A’Chuyển kí tự ch thành chữ hoa4. UPCase(ch)S1=‘1’ S2=‘Hinh 1.2’ Pos(S1,S2) = 6Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S23. Pos(S1,S2)S = ‘Xin chao’ Length(S) = 8Cho giá trị là độ dài của xâu S2. Length(S)Ví dụý nghĩaHàmS = ‘Tin hoc’Copy(S,5,3)= ‘hoc’Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S1. Copy(S,vt,n)4. Một số ví dụ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?1Các bước:Thể hiện bằng pascal1. Khai báo xâu Var a,b: string;2. Nhập xâuBEGINWrite(‘ Nhap xau ho ten thu nhat :’); Readln(a);Write(‘Nhap xau ho ten thu hai :’); Readln(b);3. Xử lí xâuIF Length(a)>Length(b) Then write(a) else write(b);Readln;END.Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?2Các bước:1. Khai báo xâu : A,B2. Nhập xâu3. Xử lí xâu, trong đó:Kí tự đầu tiên của xâu A:A[1]Kí tự cuối cùng của xâu B:B[x] trong đó X là độ dài của xâu B Dựa vào các bước bên, hãy hoàn thiện chương trình?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?3Hãy nêu thuật toán để giải bài toán trên?Ví dụ:- Xâu ban đầu : ‘Mon Tin hoc’- 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.Hãy viết chương trình dựa theo thuật toán bên.Hãy nhớ! Xâu là dãy các kí tự trong bộ mã ASCII. Khai báo: tên xâu, độ dài lớn nhất của xâu. Tham chiếu phần tử của xâu: Tên xâu[chỉ số] Các thao tác xử lí thường dùng: + Phép ghép xâu, so sánh xâu; + Các thủ tục và hàm chuẩn.‘Xin chao cac ban!’Var S : string[30] S[1] = ‘X’
Tài liệu đính kèm: