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... Var chuthich :String;..[r]
(1)Bµi 15 Gi¸o ¸n ®iÖn tö tin häc líp 11 Lop11.com (2) Bài toán đặt vấn đề: NhËp vµo hä tªn cña hai häc sinh, in mµn h×nh hä tªn dµi h¬n? A P H A N B N G u y a e N Hãy xác định kiÓu d÷ liÖu cña hai biÕn A,B? Lop11.com n H m y (3) Kh¸i niÖm X©u lµ d·y c¸c kÝ tù bé m· ASCII VÝ dô: A T I n H o c 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ù x©u): 7; Khi tham chiếu đến kí tự thứ i xâu ta viết A[i] VÝ dô: A[5]=‘H’ Lop11.com (4) Khai b¸o kiÓu d÷ liÖu x©u (trong Pascal) Var <tên biến> : 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], đó độ dài lớn xâu nhận giá trị ngầm định là 255 VÝ dô: Var chuthich :String; Lop11.com (5) C¸c thao t¸c xö lÝ x©u a Biểu thức xâu: Là biểu thức đó các toán hạng là c¸c biÕn x©u, biÕn kÝ tù * Phép ghép xâu: kí hiệu “+” dùng để ghép nhiều xâu thành xâu VÝ dô: ‘ Ha’ + ‘ Noi’ ‘Ha Noi’ * PhÐp so s¸nh: =,<>, <,<=,>,>= * Quy í c: VÝ dô - X©u rçng lµ x©u ‘’ - X©u A = B nÕu chóng gièng hÖt - X©u A > B nÕu: + KÝ tù ®Çu tiªn kh¸c 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 Lop11.com ‘Tin hoc’ = ‘Tin hoc’ ‘Ha Noi’ > ‘Ha Nam’ ‘Xau’ < ‘Xau ki tu’ (6) b C¸c thñ tôc vµ hµm chuÈn xö lÝ x©u Thñ tôc ý nghÜa VÝ dô Delete(S,vt,n) Xo¸ n kÝ tù cña x©u S b¾t ®Çu tõ vÞ trÝ vt S = ‘Song Hong’ Delete(S,1,5) ‘Hong’ Insert(S1,S2,vt) ChÌn x©u S1 vµo x©u S2 b¾t ®Çu tõ vÞ trÝ vt S1=‘1’ S2=‘Hinh 2’ Insert(s1,s2,6) ’Hinh 1.2’ Lop11.com (7) Hµm Copy(S,vt,n) Length(S) ý 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 VÝ dô S = ‘Tin hoc’ Copy(S,5,3)= ‘hoc’ S = ‘Xin chao’ Length(S) = Pos(S1,S2) Cho vÞ trÝ xuÊt hiÖn ®Çu S1=‘1’ S2=‘Hinh 1.2’ tiªn cña x©u S1 Pos(S1,S2) = x©u S2 UPCase(ch) ChuyÓn kÝ tù ch thµnh ch÷ hoa Lop11.com Ch=‘a’ UPCase(ch) = ‘A’ (8) Mét sè vÝ dô NhËp vµo hä tªn cña hai häc sinh, in mµn h×nh hä tªn dµi h¬n? Các bước : Khai b¸o x©u NhËp x©u ThÓ hiÖn b»ng pascal Var a,b: string; BEGIN Write(‘ Nhap xau ho ten thu nhat :’); Readln(a); Write(‘Nhap xau ho ten thu hai :’); Readln(b); Xö lÝ x©u IF Length(a)>Length(b) Then write(a) else write(b); Readln; END Lop11.com (9) 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? Các bước : Khai b¸o x©u : A,B NhËp x©u Dựa vào các bước bªn, h·y hoµn thiện chương tr×nh? Xử lí xâu, đó: KÝ tù ®Çu tiªn cña x©u A: A[1] Kí tự cuối cùng xâu B: B[x] đó X là độ dài xâu B Lop11.com (10) NhËp vµo mét x©u tõ bµn phÝm, ®ara 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? VÝ dô: - X©u ban ®Çu : ‘Mon Tin hoc’ H·y H·y viÕt nêu chương thuËt trìnhđể dùa theo to¸n gi¶i bµi thuËt to¸n bªn to¸n trªn? - KÕt qu¶ mµn h×nh : ‘MonTinhoc’ ThuËt to¸n B1 Khëi t¹o x©u rçng; B2 Lần lượtduyệt qua tất các phần tử 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 Lop11.com (11) H·y nhí! ‘Xin chao cac ban!’ Var S : string[30] S[1] = ‘X’ X©u lµ d·y c¸c kÝ tù 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ườngdùng: + PhÐp ghÐp x©u, so s¸nh x©u; + C¸c thñ tôc vµ hµm chuÈn Lop11.com (12)