VD: gán st:= copy‘thuc hanh nghe’,9,4; Trả lời: kết quả là ‘nghe’ f.Hàm GV: Giới thiệu cấu trúc chung Hàm 5p lengths của hàm lengths lengths,Cho giá Nêu ý nghĩa của hàm lengths trị là [r]
Trang 1Giáo án tin học lớp 11 Kiểu xâu( tiết 2)
I Mục tiêu
1 Kiến thức
Hiểu được lợi ích của các hàm và 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 chính của một hàm liên quan đến xâu,
2 Kĩ năng
Bước đầu sử dụng được một số hàm, thủ tục thông dụng về xâu
Có thể cài đặt được một số chương trình đơn giản có sử dụng xâu
II Phương pháp dạy học và công tác chuẩn bị
1 Phương pháp
Sử dụng phương pháp trao đổi
Đặt câu hỏi kết hợp thuyết trình giảng giải
2 Chuẩn bị
Giáo viên: giáo án, bảng phụ, phấn, máy chiếu
Học sinh: sách giáo khoa, vở ghi, bút,…
III Hoạt động dạy học
1 Kiểm tra bài cũ
Câu 1: Em hãy cho biết kiểu xâu là gì? Cách khai báo kiểu xâu?
Đáp án:
xâu là dãy kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu, được đặt trong dấu nháy đơn ‘ ’
Cách khai báo xâu: var<tên biến>: string[độ dài lớn nhất của xâu]
Câu 2: Em hãy khai báo một biến mảng một chiều có tên là KT gồm 255
phần tử, mã mỗi phần tử của mảng thuộc kiểu kí tự
Đáp án: Var KT: array[1…255] of char;
Câu 3: với biến mảng KT trên, thì câu lệnh gán nào sau đây là sai? Vì
sao?
a KT[1]:= ‘T’;
b KT[5]:= ‘DAI HOC SU PHAM HA NOI’;
2 Gợi động cơ
Trang 2Chúng ta vừa nhắc lại kiến thức về xâu, cách khai báo xâu, các thao tác với xâu… để làm rõ hơn về vấn đề này hôm nay chúng ta sẽ đi vào một
số ví dụ về sử dụng xâu
3 Nội dung bài mới
STT Hoạt động của GV
Và HS
gian
Phương pháp gợi động cơ
2 Các
thao tác
xử lí
xâu
Giới thiệu cho các em
Hôm nay chúng ta sẽ học bài
kiểu xâu gồm:
Nhập, xuất một xâu
Thủ tục và hàm
Hoạt động 1:
Giới thiệu
2p
d.Thủ
tục
insert
(s1,s2,vt)
GV: Giới thiệu cấu trúc chung
của thủ tục Thủ tục
insert(s1,s2,vt)
Chiếu chương trình ví dụ
Var st1,st2:string;
begin st2:= ‘hinh 2’;
st1:= ‘1’;
insert(st1, st2,6);
Write(st1,st2);
readln;
End
HS: quan sát cấu trúc chung của
thủ tục Insert
GV Hỏi: kết quả của chương
trình in ra màn hình
HS Trả lời: ‘hinh 1.2’
GV hỏi: chức năng của thủ tục
Insert
Chèn xâu s1 vào vị trí xâu s2 tại vị trí vt
GV hỏi: nếu gán st2:= ‘432’; hỏi
kết quả in ra màn hình
1 Insert (s1,s2,4)
2 Insert (s1,s2,2)
Hs trả lời:
1 ‘4321’
Thủ tục insert (s1,s2,vt )Chèn
xâu s1 vào xâu s2, bắt đầu ở vị trí vt
7p
Trang 32 ‘4123’.
e.Hàm
copy
(S,vt,N)
GV: Giới thiệu cấu trúc chung
của hàm copy(S,vt,N)
Nêu ý nghĩa của hàm copy
Chiếu chương trình.
Var st:string;
Begin
st:=copy(‘bai tap’, 4, 3);
Write(st);
readln;
End.
Hỏi: kết quả in ra màn hình là
gì?
Trả lời: kết quả ‘ tap’
Hỏi: vậy chức năng của hàm
copy là gì?
Cho giá trị là một xâu kí
tự được lấy trong xâu st, lấy n kí tự từ vị trí
VD: gán st:= copy(‘thuc
hanh nghe’,9,4);
Trả lời: kết quả là ‘nghe’
Hàm copy (S,vt,N),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
5p
f.Hàm
length(s)
GV: Giới thiệu cấu trúc chung
của hàm length(s)
Nêu ý nghĩa của hàm length(s)
Chiếu chương trình:
Var st:string;
Begin
st:= ‘HaNoi’;
Write(length(st));
readln;
End.
GV hỏi: kết quả của chương
trình in ra màn hình
Kq: 5
GV hỏi: chức năng của hàm
Hàm length(s),Cho giá
trị là độ dài của xâu S
5p
Trang 4length là gì?
Cho biết kí tự là độ dài của xâu
Vd: gán st:= ‘CNTT’ cho kết
quả in ra màn hình là bao nhiêu?
Kq: 4
g Hàm
pos
(s1, s2)
GV: Giới thiệu cấu trúc chung
của hàm pos(s1,s2)
Nêu ý nghĩa của hàm pos
Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2
Chiếu chương trình:
Var vt:byte;
Begin
vt:=Pos(‘cd’, ‘abcdefcd’);
Write(vt);
readln;
End.
Hỏi: kết quả in ra màn hình là
gì?
Kq : 3
Vd: gán s1:= ‘ĐHSPHN’
S2:= ‘SP’
Vậy pos(s1,s2)=?
Kq: pos(s1,s2) = 3
Hỏi: Vậy chức năng của hàm
pos là gì?
Chức năng: cho giá trị là
vị trí xuất hiện của s1 trong xâu
Hàm pos (s1, s2),Cho vị trí
xuất hiện đầu tiên của xâu s1 trong xâu s2
5p
h.Hàm
upcase
(ch)
GV: Giới thiệu cấu trúc chung
của hàm upcase(ch)
Nêu ý nghĩa của hàm upcase(ch)
Cho chữ cái in hoa ứng
với chữ cái trong ch.
chiếu chương trình con:
Var ch:char;
Begin
ch:= ‘h’;
Write(upcase(ch));
Hàm upcase (ch),Cho chữ cái
in hoa ứng với
chữ cái trong ch.
5p
Trang 5End.
Hỏi: kết quả của chương trình in
ra màn hình?
‘H’
Hỏi: nếu gán ch:= ‘t’ cho kết
quả in ra màn hình là gì?
‘T’
Hỏi:Vậy chức năng của hàm
upcase là gì?
Cho giá trị là kí tự hoa
tương ứng với kí tự ch.
3.Một số
ví dụ
a Ví dụ
1
Ví d 1: ụ
H i: ỏ Các em xác đ nh input vàị
out put c a bài toán:ủ
Tr l i: ả ờ
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.ơ
H i: ỏ đ xác đ nh chi u dài c aể ị ề ủ
xâu tà dùng thu t toán gì?ậ
Tr l i: ả ờ ta s d ng hàmử ụ
length(s)
Ch ươ ng trình:
Begin
If Length(a)>Length(b)
Then write(a) else write(b);
End
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.ơ
- đ c l i họ ạ àm length(s)
b.Ví dụ
2 Ví d 2: H i: ỏ Các em xác đ nh input và ụ ị
out put c a bài toán:ủ
Tr l i: ả ờ
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
Ch ươ ng trình:
Begin
If a[1]=b[x] Then
write(‘Dai Hoc) else
write(‘Su pham’);
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)
Trang 6IV Củng cố
Câu 1 : Khai báo nào sau đây là đúng?
A Var x:string[25]; C Var x= string[40];
B Var x:string[256]; D Var x: string40;
Đáp án : A
Câu 2 : Hãy cho biết độ dài của xâu S;
Với S:=‘Viet Nam’?
A 8 B 10 C 13 D.7
Đáp án : A
Câu 3: Với giá trị của xâu S ở trên, khi tham chiếu đến phần tử thứ 4thì ta
được kí tự nào?
Đáp án : C
Cho s1:=‘tin’; s2:=‘hoc’
Câu 4: Để có được kết quả là: ‘tin hoc lop 11’ thì ta làm như sau:
A S1+S2+ lop 11; B S1+S2+lop+11;
C S1+S2+’lop’+’11’; D S1+S2+‘lop 11’;
Đáp án : D
Câu 5: Để có kết quả là: ‘ c ’ thì ta làm:
A delete(s2,1,2); B delete(s2,2,1);
C delete(s1,s2,1); D.delete(s2,3);
Đáp án : A
Câu 6: Để có kết quả là: ‘htinoc’ thì ta làm:
A insert(s2,s1,3); B insert(s2,s1,2);
C insert(s1,s2,2); D.insert(s1,s2,3);
Đáp án : C
B Tổng kết
1 Củng cố đánh giá:
Trang 7 Các hàm trong xâu và chức năng.
Các thủ tục trong xâu và chức năng
2 Dặn dò
Về nhà học bài, xem các ví dụ cuối bài và làm hết bài tập trong SGK