Tải bản đầy đủ (.doc) (5 trang)

Kieu xau (tiet 2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (137.6 KB, 5 trang )

Nguyễn Hoàng Anh – Khoa Tin học – Đại học Sư phạm Huế Giáo án thực tập số 3
Người soạn: Nguyễn Hoàng Anh Ngày soạn: 10/03/2010 Ngày giảng: 13/03/2010
Tổ bộ môn: Toán – Tin Lớp: 11B1 Phòng: 7
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];
Kiểu xâu (tiết 2) Trang 1
Nguyễn Hoàng Anh – Khoa Tin học – Đại học Sư phạm Huế Giáo án thực tập số 3
Begin;
write(‘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
thiện chương
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)
Thời Hoạt động của Giáo viên Hoạt động của
Kiểu xâu (tiết 2) Trang 2
Nguyễn Hoàng Anh – Khoa Tin học – Đại học Sư phạm Huế Giáo án thực tập số 3
gian Học sinh
5 phút
Ví dụ 2
Chươ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
thiện chương
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ụ 3
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 đó 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
thiện chương
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
Kiểu xâu (tiết 2) Trang 3

Nguyễn Hoàng Anh – Khoa Tin học – Đại học Sư phạm Huế Giáo án thực tập số 3
6 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)
else i:=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
thiện chương
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
Kiểu xâu (tiết 2) Trang 4
Nguyễn Hoàng Anh – Khoa Tin học – Đại học Sư phạm Huế Giáo án thực tập số 3
write(‘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
thiện chương
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
Giáo viên hướng dẫn Sinh viên thực tập
Nguyễn Thị Thanh Tâm Nguyễn Hoàng Anh
Kiểu xâu (tiết 2) Trang 5

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×