Bµi 11. KiÓu m¶ng Bµi 11. KiÓu m¶ng Bµi thùc hµnh sè 3, 4 Bµi thùc hµnh sè 3, 4 Bµi 12. kiÓu x©u Bµi 12. kiÓu x©u Bµi 13. kiÓu b¶n ghi Bµi 13. kiÓu b¶n ghi Bµi thùc hµnh sè 5 Bµi thùc hµnh sè 5 Viết chương trình nhập họ tên của các học sinh trong lớp. Ta nên chọn kiểu dữ liệu nào? Bài toán sẽ có những khó khăn gì? Ta có thể chọn kiểu khai báo mảng Một chiều để lưu tên của từng học sinh. Với kiểu phần tử của mảng là kiểu kí tự Var hoten:array[1 40] of char; Nhưng sẽ gặp những khó khăn đó là chương trình viết sẽ rất dài - Xâu là dãy các kí tự trong bộ mã ASCII; - Mỗi kí tự là 1 phần tử của xâu, được đánh chỉ số bắt đầu từ 1; - Độ dài của xâu bằng số lượng phần tử trong xâu; - Xâu rỗng là xâu có độ dài bằng 0; - Tham chiếu đến 1 phần tử của xâu: Tên biến[chỉ số] Chiem Hoa 2009 Giả sử biến Hoten lưu giữ giá trị hằng xâu Nguyen Van A Hoten[8] ? VAR <tªn biÕn x©u> : string[ ®é dµi lín nhÊt cña x©u ] ; VAR Hoten : string[ 26 ] ; Chuthich : string ; Chó ý: §é dµi cña x©u ®îc khai b¸o tõ 1 ®Õn 255 VAR Hoten : string[ 26 ]; Chuthich : string ; BEGIN Readln(hoten) ; Chuthich:=‘hoc sinh truong PTTH Chiem Hoa’ ; Writeln(hoten,chuthich); readln END. NhËp x©u kÝ tù vµo tõ bµn phÝm cho biÕn hoten G¸n x©u kÝ tù cho biÕn chuthich ViÕt ra mµn h×nh gi¸ trÞ cña biÕn hoten vµ chuthich Nguyen Van A VAR Hoten : string[ 26 ]; Chuthich : string ; BEGIN Readln(hoten) ; Chuthich:=‘hoc sinh truong PTTH Chiem Hoa’ ; Writeln(hoten,chuthich); readln END. Nguyen Van Ahoc sinh truong PTTH Chiem Hoa NhËp x©u kÝ tù vµo tõ bµn phÝm cho biÕn hoten Nguyen Van A Sö dông kÝ hiÖu “+ ®Ó ghÐp nhiÒu x©u thµnh mét x©u” ‘Ha ’ + ‘ ’ + Noi‘ ’ ⇒ ‘Ha Noi’ Hoten + chuthich ⇒ ‘Nguyen Van Ahoc sinh truong PTTH Chiem Hoa’ Sử dụng kí hiệu = , <> , < , <= , > , >= để so sánh xâu Xâu A = B nếu chúng giống hệt nhau. Xâu A > 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. Tin hoc Tin hoc Ha Noi Ha N am Xau Xau ki tu = > < Ví dụ st := Song Hong ; Delete(st,1,5); s1:= 1 ; s2:= Hinh .2 ; Insert(s1,s2,6); ý nghĩa Xoá n kí tự của xâu st bắt đầu từ vị trí vt. Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt. Thủ tục a. Delete(st,vt,n) b. Insert(s1,s2,vt) st = Hong s2 = Hinh 1.2 Ví dụ st := Song Hong ; St := Chiem Hoa ; Length(St) = ? ý nghĩa 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 Cho giá trị là độ dài của xâu S Thủ tục c. Copy(S,vt,n) d. Length(S) Copy(st,6,4)= Length(St) = 8 Hong . m¶ng Bµi 11. KiÓu m¶ng Bµi thùc hµnh sè 3, 4 Bµi thùc hµnh sè 3, 4 Bµi 12. kiÓu x©u Bµi 12. kiÓu x©u Bµi 13. kiÓu b¶n ghi Bµi 13. kiÓu b¶n ghi Bµi thùc hµnh. xâu B. + Xâu B là đoạn đầu của xâu A. Tin hoc Tin hoc Ha Noi Ha N am Xau Xau ki tu = > < Ví dụ st := Song Hong ; Delete(st,1,5); s1:= 1 ;