8 phút Thời gian Hoạt động của Giáo viên Hoạt động của Học sinh 8 phút Ví dụ 1 Chương trình sau nhập họ tên hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng
Trang 1Người soạn: Nguyễn Hoàng Anh Ngày soạn: 10/03/2010 Ngày giảng: 13/03/2010
Giáo án: KIỂU XÂU (Tiết 2)
I. MỤC ĐÍCH, YÊU CẦU
1. Về kiến thức
Biết cách khai báo xâu, tham chiếu đến phần tử của xâu
Biết cách phân tích bài toán, tìm thủ tục hoặc hàm thích hợp để giải quyết các bài toán đã cho
2. Về kỹ năng
Sử dụng được một số thủ tục, hàm thông dụng về xâu để giải quyết một số bài toán đơn giản về xâu
Viết được một số chương trình đơn giản có sử dụng biến xâu
3. Về thái độ
Có thái độ ham học hỏi, có tính kỷ luật trong giờ học
Biết sử dụng máy tính hiệu quả trong học tập và đời sống hàng ngày
Biết giúp đỡ nhau trong học tập và cuộc sống
II. DỰ KIẾN PHƯƠNG PHÁP
Thuyết trình, diễn giảng, vấn đáp gợi mở thông qua các hoạt động
Sử dụng phương tiện trực quan (máy tính, máy chiếu – nếu có điều kiện) III. TỔ CHỨC DẠY HỌC VÀ THIẾT BỊ DẠY HỌC
1. Chuẩn bị của giáo viên
Giáo án lên lớp, sách giáo khoa, sách giáo viên
Nếu có điều kiện, chuẩn bị giáo án điện tử và máy chiếu hoặc cho học sinh học tại phòng máy
2. Chuẩn bị của học sinh
Học bài cũ trước lúc đến lớp
Chuẩn bị bài trước lúc đến lớp dựa vào sách giáo khoa
Chuẩn bị một số câu hỏi thảo luận
IV. CÁC BƯỚC LÊN LỚP
1. Ổn định tổ chức (2 phút)
Sĩ số: Có mặt: Vắng mặt:
Ổn định trật tự, tạo tâm lí tốt để bắt đầu tiết học
2. Kiểm tra bài cũ (5-8 phút)
Câu hỏi: “Hãy viết chương trình nhập vào hai xâu họ và tên, sau đó in ra màn
hình họ tên đầy đủ”
Trả lời:
var ho, ten: string[7];
ht: string[40];
Trang 2write(‘Nhap ho: ‘); readln(ho);
write(‘Nhap ten: ‘); readln(ten);
ht:=ho+’ ‘+ten;
write(‘Ho ten day du: ‘,ht);
readln End.
3. Nội dung bài mới
Hoạt động 1: Ví dụ 1 (8 phút)
Thời
gian Hoạt động của Giáo viên
Hoạt động của Học sinh
8 phút
Ví dụ 1
Chương trình sau nhập họ tên hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau
var a, b: string;
Begin
write(‘Nhap ho ten nguoi thu nhat: ‘);
readln(a);
write(‘Nhap ho ten nguoi thu hai: ‘);
readln(b);
if length(a)>length(b) then write(a) else write(b);
readln
End.
Giáo viên đưa ra gợi ý về hàm hoặc thủ tục sẽ sử dụng để thực hiện so sánh hai xâu
Nâng cao: so sánh hai xâu.
Lời giải gợi ý:
var a, b: string;
i, k: byte;
Begin
write('Nhap xau thu nhat: ');readln(a);
write('Nhap xau thu hai: '); readln(b);
if a=b then write('Hai xau bang nhau.') else
begin
if length(a) < length(b) then
k:=length(a) else k:=length(b);
i:=1;
while (i<=k) and (a[i]=b[i]) do
i:=i+1;
if a[i] < b[i] then write('Xau thu nhat be hon.') else write('Xau thu hai
be hon.');
end; readln
End .
Trả lời về hàm
sẽ sử dụng để giải bài toán
Viết chương trình
Góp ý để hoàn
trình
Tìm kiếm lời giải cho bài toán tìm xâu bé hơn
Hoạt động 2: Ví dụ 2 (5 phút)
Trang 3gian Học sinh
5 phút Ví dụ 2Chương trình sau nhập hai xâu từ bàn phím và
kiểm tra 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
var a, b: string;
x: byte;
Begin
write(‘Nhap xau thu nhat: ‘);
readln(a);
write(‘Nhap xau thu hai: ‘);
readln(b);
x:=length(b);
if a[1]=b[x] then write(‘Trung nhau’) else write(‘Khac nhau’);
readln
End.
Giáo viên đưa ra gợi ý về hàm hoặc thủ tục sẽ sử dụng để thực hiện so sánh
Hỏi: Có cần sử dụng biến x để lấy độ dài của xâu
b không? Nếu không thì cần chỉnh sửa lại chương trình ở những điểm nào?
Trả lời về hàm
sẽ sử dụng để giải bài toán
Viết chương trình
Góp ý để hoàn
trình
Hoạt động 3: Ví dụ 3 (6 phút)
Thời
gian Hoạt động của Giáo viên
Hoạt động của Học sinh
6 phút Ví dụ 3Chương trình sau nhập một xâu vào từ bàn phím
và đưa ra màn hình xâu đó nhưng theo thứ tự ngược lại
var a: string;
i, k: byte;
Begin
write(‘Nhap xau: ‘);
readln(a);
k:=length(a);
for i:=k downto 1 do write(a[i]);
readln
End.
Giáo viên đưa ra gợi ý về hàm hoặc thủ tục sẽ sử dụng để thực hiện
Hỏi: Tương tự ví dụ 2, có cần sử dụng biến k
không?
Nâng cao: xác định xem xâu có phải là xâu Palindrome (xâu đối xứng – xâu viết xuôi bằng xâu viết ngược) hay không
Trả lời về hàm
sẽ sử dụng để giải bài toán
Viết chương trình
Góp ý để hoàn
trình
Hoạt động 4: Ví dụ 4 (13 phút)
Thời
gian Hoạt động của Giáo viên Hoạt động của Học sinh
Trang 46 phút
8 phút
Ví dụ 4
Chương trình sau nhập một xâu vào từ bàn phím
và đưa ra màn hình xâu thu được từ nó bởi việc loại
bỏ các dấu cách nếu có
var a, b: string;
i, k: byte;
Begin
write(‘Nhap xau: ‘);
readln(a);
k:=length(a);
b:=’’;
for i:=1 to k do
if a[i]<>’ ’ then b:=b+a[i];
write (‘Ket qua: ‘,b);
readln
End.
Giáo viên đưa ra gợi ý về hàm sẽ sử dụng để thực hiện so sánh hai xâu
Hỏi: Tương tự ví dụ 2 và ví dụ 3, có cần sử dụng
biến k không? Có thể không sử dụng biến b được
không? Nếu có, hãy sửa lại chương trình ở những điểm thích hợp
Lời giải gợi ý:
var a: string;
i: byte;
Begin
write('Nhap xau: '); readln(a);
i:=1;
{ repeat
if a[i]=' ' then delete(a,i,1)
until i>length(a); }
while i<=length(a) do
if a[i]=' ' then delete(a,i,1)
else i:=i+1;
write('Ket qua: ',a);
readln
End.
Trả lời về hàm
sẽ sử dụng để giải bài toán
Viết chương trình
Góp ý để hoàn
trình
Hoạt động 5: Ví dụ 5 (Xem như bài tập).
Thời
gian Hoạt động của Giáo viên Hoạt động của Học sinh
Ví dụ 5
Chương trình sau nhập vào từ bàn phím một xâu
s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ
nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình
Program XuLiXau;
var s1, s2: string;
i: byte;
Begin
Trả lời về hàm
sẽ sử dụng để giải bài toán
Viết chương
Trang 5write(‘Nhap vao 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 (‘Ket qua: ‘,s2);
readln
End.
Giáo viên đưa ra gợi ý về hàm sẽ sử dụng để thực hiện so sánh hai xâu
Thêm: Đưa ra cả xâu đã loại bỏ kí tự là chữ số
trình
Góp ý để hoàn
trình
V. CỦNG CỐ
1. Một số câu hỏi củng cố (3 phút)
Trong các khai báo sau đây, khai báo nào là hợp lí nhất? Vì sao?
a. var hoten: string[20];
b. var hoten: string[40];
c. var hoten: string;
2. Dặn dò (1 phút)
Nhớ học bài cũ, đặc biệt là các hàm xử lí xâu
Viết các chương trình đã làm trên Pascal
Đọc trước các bài tập trong Sách giáo khoa để chuẩn bị cho tiết thực hành sau
VI. RÚT KINH NGHIỆM
Phú Vang, ngày 10/03/2010