Giáo án môn Tin học khối 11 - Bài 14: Kiểu xâu (tiết 2)

Giáo án môn Tin học khối 11 - Bài 14: Kiểu xâu (tiết 2)

i. Mục tiêu

1. Kiến thức:

- Biết được sự lợi ích của các hàm và thủ tục liên quan xâu trong ngôn ngữ lập trình Pascal.

- Nắm được cấu trúc chung và chức năng của một số hàm và 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 và bước đầu sử dụng được một số hàm và thủ tục để giải quyết một số bài tập đơn giản liên quan.

3. Tư duy:

- Logic các ki ểu đ ã học tạo ta khả năng lập trình với các chương trình phức tạp hơn.

4. Thái độ:

- Chú ý nhiệt tình, tư duy tốt khi lập trình. Hăng hái xây dựng bài.

 

doc 9 trang Người đăng quocviet Lượt xem 2957Lượt tải 4 Download
Bạn đang xem tài liệu "Giáo án môn Tin học khối 11 - Bài 14: Kiểu xâu (tiết 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết 30
Ngày soạn
11/12/09
Bài 14. KIỂU XÂU (TIẾT 2)
Ngày giảng
 /12/09
Môc tiªu
Kiến thức:
Biết được sự lợi ích của các hàm và thủ tục liên quan xâu trong ngôn ngữ lập trình Pascal.
Nắm được cấu trúc chung và chức năng của một số hàm và thủ tục liên quan đến xâu của ngôn ngữ lập trình Pascal.
Kĩ năng:
Nhận biết và bước đầu sử dụng được một số hàm và thủ tục để giải quyết một số bài tập đơn giản liên quan.
Tư duy:
 Logic các ki ểu đ ã học tạo ta khả năng lập trình với các chương trình phức tạp hơn.
Thái độ:
 Chú ý nhiệt tình, tư duy tốt khi lập trình. Hăng hái xây dựng bài.
ChuÈn bÞ bµi gi¶ng
Ph­¬ng tiÖn:
 GV: Giáo án, bài giảng điện tử.
 HS: Sách giáo khoa, vở ghi. Xem trước bài học.
Ph­¬ng ph¸p d¹y häc
Gîi më vÊn ®¸p 
§µm tho¹i
§Æt vÊn ®Ò
TiÕn tr×nh d¹y häc
KiÓm tra bµi cò:
- Khai báo biến: VAR tên_biến : STRING[độ dài lớn nhất của xâu];
- Nhập xuất giá trị cho biến xâu: read/readln(); write/writeln();
- Tham chiếu đến từng ký tự trong xâu: tên_biến[chỉ_số].
- Phép ghép xâu: ký hiệu là +, được sử dụng để ghép nhiều xâu thành một xâu
- Các phép so sánh: =, , >, =: thực hiện việc so sánh hai xâu. 	
Néi dung bµi gi¶ng:
Ho¹t ®éng 1
Tìm hiểu về một số hàm và thủ tục chuẩn liên quan xâu trong ngôn ngữ lập trình Pascal.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
1. Giới thiệu cấu trúc chung của hàm length(st) lên bảng.
- Hỏi: Ý nghĩa của Length và của st?
- Chiếu chương trình ví dụ:
Var st:string;
Begin
st:= ‘Ha Noi’; 
Write(length(st));
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi: Chức năng của hàm length() là gì?
- Chiếu đề bài tập ứng dụng: Viết chương trình nhập một xâu, in ra màn hình số ký tự ‘a’ có trong xâu.
2. Giới thiệu cấu trúc chung của hàm Upcase(ch).
- Chiếu chương trình ví dụ:
Var ch:char;
Begin
ch:= ‘h’; 
Write(upcase(ch));
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi: Chức năng của hàm upcase()?
- Chiếu bài tập ứng dụng: Viết chương trình nhập một xâu, in ra màn hình xâu đó dạng in hoa.
1. Quan sát cấu trúc chung.
- Length: là tên hàm, có nghĩa là độ dài, st: là một biểu thức xâu ký tự.
- Quan sát chương trình để dự tính kết quả.
- Kết quả là: 6
- Quan sát kết quả của chương trình. 
- Hàm cho số lượng ký tự của xâu st.
2. Quan sát cấu trúc chung của hàm Upcase.
- Quan sát chương trình để dự tính kết quả.
- Kết quả là: H
- Quan sát kết quả của chương trình. 
- Cho giá trị là chữ cái in hoa của ch.
Var st:string;
Begin
readln(st);
For i:=1 to length(st) do 
write(upcase(st[i]));
End.
Ho¹t ®éng 2
Hàm Pos. Giới thiệu cấu trúc chung của hàm Pos.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
3. Giới thiệu cấu trúc chung của hàm Pos(s1,s2).
- Chiếu chương trình ví dụ:
Var vt:byte;
Begin
vt:=Pos(‘cd’, ‘abcdefcd’); 
Write(vt);
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi: Chức năng của hàm pos?
- Thay tham số của hàm Pos trong chương trình bằng Pos(‘k’, ‘abc’). Hỏi kết quả của hàm bằng bao nhiêu?
- Chiếu bài tập ứng dụng: Viết chương trình nhập vào một xâu st. Xét xem trong xâu có dấu cách hay không?
- Hỏi: Có cách giải nào khác?
3. Quan sát cấu trúc chung của hàm Pos và các ví dụ để biết chức năng.
- Quan sát chương trình để dự tính kết quả.
- Kết quả là: 3
- Quan sát kết quả của chương trình. 
- Hàm cho giá tri là một số nguyên là vị trí của xâu st2 trong xâu st2.
- Bằng không 0.
Var st:string;
- Có thể sử dụng For để tìm dấu cách trong xâu.
HOẠT ĐỘNG 3
Hàm Copy, thủ tục Delete.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
4. Giới thiệu cấu trúc chung của hàm copy(st,vt,n).
- Chiếu chương trình ví dụ:
Var st:string;
Begin
st:=copy(‘bai tap’,3,4); 
Write(st);
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi: Chức năng của hàm copy?
- Thay các tham số của hàm copy trong chương trình ví dụ trên như sau và hỏi kết quả in ra màn hình:
Copy(‘abc’,1,5)
Copy(‘abc’,5,2)
Copy(‘abc’,1,0)
- Thực hiện chương trình để học sinh thấy kết quả.
5. Giới thiệu cấu trúc chung của thủ tục delete(st,vt,n); 
- Chiếu chương trình ví dụ:
Var st:string;
Begin
st:= ‘HaNoi’; 
delete(st,3,2); 
Write(st);
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi chức năng của thủ tục delete();
- Thay lệnh gán st:= ‘HaNoi’; và thủ tục xóa bởi các lệnh sau và hỏi kết quả in ra màn hình.
st:=’abc’; Delete(st,1,5);
st:=’abc’; Delete(st,5,2);
st:=’abc’; Delete(st,1,0);
- Chiếu bài tập ứng dụng: Viết chương trình nhập một xâu và xoá đi các dấu cách thừa ở đầu xâu.
4. Quan sát cấu trúc chug của hàm copy và ví dụ để biết chức năng.
- Quan sát chương trình để dự tính kết quả.
- Kết quả là: ‘i ta’
- Quan sát kết quả của chương trình. 
- Hàm cho giá trị là một xâu ký tự được lấy trong xâu st, gồm n ký tự bắt đầu tại vị trí vt.
Cho giá trị là: ‘abc’
Cho giá trị là xâu rỗng
Cho giá trị là xâu rỗng
- Quan sát kết quả của chương trình để kiểm nghiệm suy luận. 
5. Quan sát cấu trúc chung của thủ tục Insert và các ví dụ.
- Quan sát chương trình để dự tính kết quả.
st=’Hai’
- Quan sát kết quả của chương trình. 
- Thủ tục thực hiện việc xóa đi trong biến xâu st gồm n ký tự, bắt đầu từ vị trí vt.
st:= ‘’; xâu rỗng.
st:= ‘abc’;
st:= ‘abc’;
Var st:string;
begin
readln(st);
while st[1]= ‘ ’ do delete(st,1,1);
writeln(st);
readln;
end.
HOẠT ĐỘNG 4
Giới thiệu cấu trúc chung của thủ tục Insert.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
6. Giới thiệu cấu trúc chung của thủ tục Insert(st1,st2,vt);
- Chiếu chương trình ví dụ:
Var st1,st2:string;
Begin
st2:=‘HaNoi’; 
st1:= ‘ ’;
insert(st1,st2,3); 
Write(st);
readln;
End.
- Hỏi: Kết quả của chương trình in ra màn hình?
- Thực hiện chương trình để học sinh thấy kết quả.
- Hỏi chức năng của thủ tục insert();
- Thay lệnh gán st2:=‘HaNoi’; và thủ tục chèn bởi các lệnh như sau và hỏi kết quả:
st2:=‘ef’; Insert(‘abc’,st2, 5);
st2:=‘ef’; Insert(‘abc’,st2, 0);
6. Quan sát cấu trúc chung của thủ tục Insert.
- Quan sát chương trình để dự tính kết quả.
- Kết quả st2=’Ha Noi’
- Quan sát kết quả của chương trình. 
- Thủ tục thực hiện việc chèn xâu st1 vào trong biến xâu st2 bắt đầu tại vị trí vt.
st2= ‘efabc’;
st2= ‘abcef’;
HOẠT ĐỘNG 5
Rèn luyện kĩ năng vận dụng hàm và thủ tục.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
1. Xác định bài toán.
- Chiếu nội dung đề bài lên bảng.
- Xác định dữ liệu vào, dữ liệu ra.
- Hỏi: Các nhiệm vụ chính khi giải quyết bài toán này?
- Hỏi: Trong bài này, ta cần sử dụng những hàm và thủ tục nào?
2. Chia lớp làm 3 nhóm. Yêu cầu viết chương trình lên bìa trong.
- Thu phiếu trả lời. Chiếu kết quả lên bảng. Gọi học sinh nhóm khác nhận xét, đánh giá và bổ sung.
3. Chiếu chương trình mẫu giáo viên đã viết để chính xác hóa lại cho học sinh.
Giáo viên soạn sẵn các ví dụ này để tiện cho học sinh theo dõi trên màn hình cũng như việc chạy thử và không làm mất thời gian ngồi viết chương trình .
Với mỗi ví dụ, giáo viên đi sâu vào câu lệnh trực tiếp đáp ứng yêu cầu của ví dụ, như vậy các em sẽ tiếp thu nhanh hơn .
Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu dài hơn .
Ví dụ 2 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?
Ví dụ 3 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .
Ví dụ 4 : Nhập 1 xâu, viết ra màn hình xâu đó nhưng đã được bỏ tất cả các ký tự là dấu cách .
Ví dụ 5 : Nhập 1 xâu, viết ra màn hình xâu gồm các ký tự số của xâu đó .
1. Quan sát, suy nghĩ để trả lời.
- Vào: Một xâu ký tự bất kỳ.
- Ra: Một xâu chỉ có 1 ký trắng giữa hai từ.
- Xoá mọi dấu cách thừa đầu xâu và cuối xâu.
- Xoá các dấu cách thừa giữa hai từ.
- Hàm Pos(), thủ tục delete();
2. Thảo luận theo nhóm để viết chương trình.
- Thông báo kếtquả.
- Nhận xét và bổ sung những thiếu sót của nhóm khác.
3. Quan sát và ghi nhớ
Một số ví dụ :
VD 1 : 
Program vd1 ;
Uses crt ;
Var s1,s2 : String ;
Begin
 Clrscr ;
 Write('Nhap xau thu 1 : ') ;
 Readln(s1) ;
 Write('Nhap xau thu 2 : ') ;
 Readln(s2) ;
 If length(s1) > Length(s2) then
 Write(s1)
 else
 Write(s2);
 Readln ;
End .
VD 2 :
Program vd2 ;
Uses crt ;
Var s1,s2 : String ;
 x : Byte ;
Begin
 Clrscr ;
 Write('Nhap xau thu 1 : ');
 Readln(s1) ;
 Write('Nhap xau thu 2 : ');
 Readln(s2) ;
 x := length(s2) ;
 If s1[1] = s2[x] then
 Write('Trung nha')
 else
 Write('Khac nhau');
 Readln ;
End .
VD 3 : 
Program vd3 ;
Uses crt ;
Var i,k : Byte ;
 a : String ;
Begin
 Clrscr ;
 Write('Nhap xau : ') ;
 Readln(a) ;
 k := length(a) ;
 For i := k downto 1 do
 Write(a[i]) ;
 Readln ;
End .
VD 4 :
Program vd4 ;
Uses crt ;
Var i,k : Byte ;
 a,b : String ;
Begin
 Clrscr ;
 Write('Nhap xau : ') ;
 Readln(a) ;
 k := length(a) ;
 b :='' ;
 For i := 1 to k do
 if a[i] '' then
 b := b+a[i] ;
 Write(b) ;
 Readln ;
End .
VD 5 :
Program Xulixau ;
Uses crt ;
Var s1,s2 : String ;
 i : Byte ;
Begin
 Clrscr ;
 Write('Nhap xau s1 : ') ;
 Readln(s1) ;
 s2 := '' ;
 For i := 1 to length(s1) do
 If ('0'<s1[i]) and (s1[i]<='9') then
 s2 := s2 + s1[i] ;
 Write(s2);
 Readln ;
End .
Cñng cè:
Những hàm và thủ tục liên quan đến xâu
- Thủ tục Delete(st,vt,n);
- Thủ tục Insert(st1,st2,vt);
- Hàm Copy(st,vt,n)
- Hàm Length(st) 
- Hàm Pos(st1,st2)
- Hàm UpCase(ch) 
DÆn dß:
- Giải bài tập số 10 trang 80.
NhËn xÐt
Ph­¬ng ph¸p:
HiÖu qu¶ sö dông:
HiÖu qu¶ SD TBDH:
ND cÇn ®iÓu chØnh:
NhËn xÐt cña gi¸o viªn h­íng dÉn:

Tài liệu đính kèm:

  • docTiet 30.doc