bai15 kieu du lieu xau - tin11
TRANSCRIPT
Bµi
15
Gi¸o ¸n ®iÖn tö tin häc líp 11
GV Dinh Nguyen Thanh Tu suu tam va gioi thieu voi CENTEA Data
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?
HnaNAHP
m yNeyuGN
A
B
H·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.
T I n H o cA 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;
H
1. Kh¸i niÖm
2. 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], 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©u
a. 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’ < ‘Xau ki tu’
* Quy íc:
- 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.
- 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ôc
Ch=‘a’ UPCase(ch) = ‘A’
ChuyÓn kÝ tù ch thµnh ch÷ hoa
4. UPCase(ch)
S1=‘1’ S2=‘Hinh 1.2’ Pos(S1,S2) = 6
Cho vÞ trÝ xuÊt hiÖn ®Çu tiªn cña x©u S1 trong x©u S2
3. Pos(S1,S2)
S = ‘Xin chao’ Length(S) = 8
Cho gi¸ trÞ lµ ®é dµi cña x©u S2. Length(S)
VÝ dôý nghÜaHµm
S = ‘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 S
1. 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?
1
C¸c b íc: ThÓ hiÖn b»ng pascal
1. Khai b¸o x©u Var a,b: string;
2. NhËp x©uBEGIN
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.
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?
2
C¸c b íc:
1. Khai b¸o x©u : A,B
2. NhËp x©u
3. 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?
3
H·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’