GIÁO ÁN TIN H C L P 11
Ngày so n: 28/11/2010
Ngày d y: .....................
Sinh viên: Thào Xuân Minh
L p: S ph m Tin K42 ư
GVHD: Cô Ngô Th Tú Quyên
KI U D LI U XÂU (TI T 2 )
I. M C TIÊU:
1. Ki n th cế
- Bi t ếđ cượ l i ích c a các hàm th t c liên quan đ n xâu ế
trong ngôn ng l p trình Pascal.
- N m đ c c u trúc chung ch c năng c a m t s hàm th ượ
t c liên quan đ n xâu c a ngôn ng l p trình Pascal. ế
2. Kĩ năng
- Nh n bi t b c đ u s d ng đ c m t s hàm th t cế ướ ượ
đ gi i quy t m t s bài t p đ n gi n liên quan. ế ơ
II. Đ DÙNG D Y H C
1. Chu n b c a giáo viên
- Máy vi tính, máy chi u projector, ếgiáo án đi n t , sách giáo viên.
2. Chu n b c a h c sinh
- Sách giáo khoa, v ghi.
III. HO T Đ NG D Y-H C
1. n đ nh t ch c l p : (1’)
L p:............T ng s :............V ng: ............ Lí do: ............
2. Ki m tra bài cũ: (8’)
Câu h i 1: (Chi u slide 2 và đ t câu h i): ế Nêu cách khai báo bi n ki uế
xâu?(2đ) Trình bày m t s thao tác trên xâu t ?(2đ) Gi i thích tác
d ng c a t ng hàm và th t c?(4đ)
1
Câu h i 2: (Chi u slide 3 đ t câu h i): ế L y d khai báo bi n S ế
có đ dài 30?(1đ) Cho bi t k t qu v t ra màn hình sau khi th c hi n 2 ế ế ế
câu l nh sau: s:=‘Ha Noi’;Write(Length(S)); (1đ)
Đáp Án:
Câu 1:
Khai báo: Var <tên bi n> : String[đ dài l n nh t];ế
M t s thao tác trên xâu kí t :
- Phép ghép xâu :
- Các phép so sánh:
- Các th t c và hàm chu n:
Th t c Delete(St,vt,n): Xóa n t c a xâu St b t đ u
t v trí vt.
Th t c Insert(s1,s2,vt): Chèn xâu s1 vào s2 b t đ u tắầừ
v trí vt.
Hàm Copy(S,vt,n): T o xâu g m n t liên ti p b t ế
đ u t v trí vt.
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 in hoa ng v i ch cái
trong ch.
Câu 2: (Chi u slide 4):ế
Khai báo bi n S: ếVar s:string[30];
K t qu tr v là:ế 6
3. Ti n trình bài d y:ế (30’)
D n d t vào bài m i: ti t tr c các em đã đ c h c cách ế ướ ượ
khai báo bi n ki u xâu. Đã bi t các phép toán trên xâu m t sế ế
hàm th t c x xâu. V y đ cho các em hi u h n v các ơ
2
th t c hàm x xâu thì chúng ta s cùng đi nghiên c u bài
ngày hôm nay đó là. Bài 12. Ki u d li u xâu (Ti t 2)ế
N i dung bài d y:
GV D n d t: Chúng ta ti p t c sang ph n 3. M t s ví d .ế
N I DUNG GHI
B NG
HO T Đ NG C A
GIÁO VIÊN
HO T Đ NG C A H C
SINH
3. M t s ví d :
Ví d 1:
+ Input: Xâu a,b là h
tên c a hai ng i. ườ
+ OutPut: In ra màn
hình xâu dài h n.ơ
Begin
...
If Length(a)>Length(b)
Then write(a)
else write(b);
End.
Ví d 2:
+ Input: 2 Xâu a,b.
+ OutPut: In ra màn
hình thông báo 2 xâu
trùng nhau hay không.
Begin
...
- Chi u Slide ế5: bài
12. Ki u d li u
xâu (ti t 2)ế
- Ghi b ng: 3. M t
s ví d .
- Chi u Slide 6 vàế
ghi b ng Ví d 1.
Các em hãy đ c
kĩ đ bài và xác đ nh
input, output cho
th y?
Đ xác đ nh
đ c đ dài c a xâuượ
ta dùng hàm gì?
- Các b c gi i vàướ
ch ng trình nhươ ư
sau:
Chi u ti p slide 6 vàế ế
gi i thích ch ng ươ
trình.
-Chi u slide 7:ế
- Ghi b ng: Ví d
2:
Các em hãy đ c
kĩ đ bài và xác đ nh
input, output cho
th y?
- Ghi tên bài h c vào v .
- Ghi đ m c vào v .
- Ghi ví d 1 vào v .
- Input: Xâu a,b là h tên
c a hai ng i. ườ
- Out put: In ra màn hình
xâu dài h n.ơ
- Hàm length(s).
- Chú ý theo dõighi bài
vào v .
- Ghi ví d vào v .
- Input: 2 Xâu a,b.
- OutPut: In ra màn hình
thông báo 2 xâu trùng
nhau hay không.
- Hàm Length(S);
3
?
?
?
If a[1]=b[x] Then
write(‘Trung nhau’)
else
write(‘Khac nhau’);
End.
Ví d 3:
+ Input: Xâu a.
+ OutPut: In ra màn
hình xâu ng c l i c aượ
xâu a.
Begin
...
K:=length(a);
For i:=k downto 1 do
Write(a[i]);
End.
Ví d 4:
+ Input: Xâu a.
+ OutPut: Xâu t o
đ c t xâu a nh ng đãượ ư
lo i b d u cách.
Begin
...
k:=length(a);
b:= ‘’ ; (*khoi tao xau
rong*)
Đ xác đ nh
đ c ượ kí t cu i c a
xâu ta dùng hàm gì?
- Các b c gi i vàướ
ch ng trình nhươ ư
sau:
Chi u ti p slide 7ế ế
gi i thích ch ng ươ
trình.
-Chi u slide 8:ế
- Ghi b ng: Ví d
3:
Các em hãy đ c
kĩ đ bài và xác đ nh
input, output cho
th y?
Đ xác đ nh
đ c ượ xâu ng c l iượ
c a xâu ta ph i làm
th nào?ế
- Các b c gi i vàướ
ch ng trình nhươ ư
sau:
Chi u ti p slide 7 vàế ế
gi i thích ch ng ươ
trình.
-Chi u slide 9:ế
- Ghi b ng: Ví d
4:
Các em hãy đ c
kĩ đ bài và xác đ nh
input, output cho
th y?
Đ xóa đ c cácượ
- Chú ý theo dõi máy
chi u và ghi bài vào v .ế
- Ghi ví d vào v .
+ Input: Xâu a.
+ OutPut: In ra màn hình
xâu ng c l i c a xâu a.ượ
- Ta duy t các kí t t
cu i xâu lên đ u xâu.
M i l n duy t ta in ra các
kí t đó.
- Chú ý theo dõi máy
chi u và ghi bài vào v .ế
- Ghi ví d vào v .
- Input: Xâu a.
- OutPut: Xâu t o đ c ượ
t xâu a nh ng đã lo i b ư
d u cách.
- Ta duy t các kí t c a
xâu a, N u là kí t tr ngế
thì b qua, còn không thì
l u l i vào xâu b.ư
- Chú ý theo dõi máy
4
?
?
?
?
?
IF a[i]<>’ ’ Then
b:=b+a[i];
write(‘Ket Qua:
’,b);
End.
Ví d 5:
+ Input: Xâu s1.
+ OutPut: Xâu s2 đ cượ
t xâu s1 b ng cách l y
các ch s có trong s1.
Begin
...
s2:=‘’;{Khoi Tao Xau
Rong}
for i:=1 to
length(s1) do
if
(‘0’=<s1[i]) and
(s1[i]<=‘9’) then
s2:=s2+s1[i];
writeln(‘Ket qua:
’,s2);
End.
d u cách trong xâu ta
ph i làm th nào? ế
- Các b c gi i vàướ
ch ng trình nhươ ư
sau:
Chi u ti p slide 7 vàế ế
gi i thích ch ng ươ
trình.
-Chi u slide 10:ế
- Ghi b ng: Ví d
5:
Các em hãy đ c
kĩ đ bài và xác đ nh
input, output cho
th y?
Các kí t s
các kí t nh th ư ế
nào?
Hãy nêu thu t
toán đ gi i bài toán
trên?
- Chi u slide 11:ế
Thu t toán gi i bài
toán và ví d .
Vi t ch ngế ươ
trình d a vào thu t
toán trên?
- Chi u slide ế12:
Ch ng trình gi iươ
bài toán và gi i thích.
chi u và ghi bài vào v .ế
- Ghi ví d vào v .
- Input: Xâu s1.
- OutPut: Xâu s2 đ c tượ
xâu s1 b ng cách l y các
ch s có trong s1.
- Là các kí t t 0->9.
B1. Kh i t o xâu s2 r ng;
B2. L n lt duy t quaượ
t t c các ph n t c a
xâu s1 v a nh p, n u ế
ph n t s1[i] thu c các
kí t t 0->9 thì n p vào
xâu s2.
- Suy nghĩ và vi t thu tế
toán vào nháp.
- Chú ý theo dõi máy
chi u và ghi bài vào v .ế
IV. C NG C VÀ D N DÒ:
1. C ng c : (5’) Chi u slide 12: ế
Qua bài h c ngày hôm nay các em c n n m v ng nh ng v n d sau:
5
?
?
?
?