- 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.. - Thực hiện chương trình để học sinh thấy kết quả.. - Quan sát chương t
Trang 1Kiểu dữ liệu xâu
(tiết 2/2)
I Mục tiêu
1 Kiến thức
- Biết được lợi ích của các hàm và thủ tục liên uqna đến 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
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ới thiệu ví dụ, sách giáo viên
2 Chuẩn bị của học sinh
Trang 2- Sách giáo khoa
III Hoạt động day – học
1 Hoạt động 1: Tìm hiểu về một số hàm và thủ tục chuẩn liên quan đến xâu trong ngôn ngữ lập trình Pascal
a Mục tiêu:
- Học sinh biết được một số hàm và thủ tục liên quan đến xâu Nắm được cấu trúc chung, hiểu được các tham số của các hàm và thủ tục chuẩn
b Nội dung:
- Thủ tục Delete(st, vt, n) thực hiện việc xóa đi tring xâu st gồm n kí tự, bắt đàu từ vị trí vt
- Thủ tục insert(st1, st2, vt) thực hiện việc chèn xâu st1 vào xâu st2 bắt đầu từ vị trí vt
- Hàm Copy(st, vt, n) cho giá trị là một xâu kí tự được lấy trong xâu st, gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu st
- Hàm Length(st) cho giá trị là số lượng kí tự của xâu st
- hàm Pos(st1, st2) cho giá trị là vị trí xuất hiện đầu tiên của xâu st1 trong xâu st2
- Hàm Up Case(ch) cho giá trị là kí tự hoa tương ứng với kí tự ch
c Các bước tiến hành:
Trang 3hướng dẫn của giáo viên Hoạt động của 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:tring;
Begin
st:= ‘ha Noi’;
Write(length(st));
readln;
End
- Hỏi: Kết quả của chương tì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
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
Trang 4
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
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ữ in hoa của ch Var st:string;
Begin readln(st);
Trang 53 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
For i:=1 to length(st) do write(upcase(st[i]));
End
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 hcương trình
- Hàm cho giá trị là một số nguyên
là vị trú của xâu st2 trong xâu st2
- Bằng không 0
Trang 6nhiê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?
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;
Var st:tring;
Begin readln(st);
if pos(‘ ’, st) <>0 then write(‘co’) else write(‘khong’);
End
- Có thể sử dụng For để tìm dấu cách trong xâu
4 Quan sát cấu trúc chung của hàm coppy và ví dụ để biết chức năng
- Quan sát chương trình để dự tính kết quả
Trang 7
End
- Hỏi: kết quả 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
- 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 delete và các ví dụ
- Quan sát chương trình để dự tính kết quả
Trang 8st:= ‘Ha Noi’;
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:= ‘Ha Noi’; 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 ví dụ: Viết chương
trình nhập một xâu và xóa đi các dấu
st=’ Hai’
- Quan sát kết quả của hcươ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’;
Trang 9cách ở đầu xâu
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:= ‘Ha Noi’;
st1:= ‘ ’;
insert(st1, st2,3);
Write()st;
readln;
End
- Hỏi: Kết quả của chương trình in
Var st:string;
Begin readln(st);
While st[1]= ‘ ’ do delete(st, 1, 1);
Writeln(st);
readln;
End
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ả
Trang 10
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:= ‘Ha Noi’;
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);
- 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’;
2 Hoạt động 2: Rèn luyện kĩ năng vận dụng và thủ tục
a Mục tiêu:
- Học sinh biết sử dụng hàm và thủ tục để giải quyết một số bài toán đơn giản Linh hoạt trong việc lựa chọn hàm hoặc thủ tục
b Nội dung
Trang 11- Viết chương trình nhập vào một xâu và xóa đi các dấu thừa có trong xâu., chỉ để lại một dấu cách giửa hai từ
c Các bước tiến hành:
hướng dẫn của giáo viên Hoạt động của 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
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ừ
- Xóa mọi dấu cách thừa đầu xâu
và cuối xâu
- Xóa 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ết quả
Trang 12nhậ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 cho
học sinh
- 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ớ
IV Đánh giá cuối bài
1 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)
2 Câu hỏi và bài tập về nhà
- Giải bài tập số 10 trang 80
- Viết chương trình nhập một xâu In ra màn hình sỗ từ có trong xâu
- Xem phần nội dung của bài thực hành số 5, sách giáo khoa, trang 73
- Chuẩn bị một số bài tập để thực hành