Bài thực hành số 5 về Xâu
Trang 1Trường Đại Học Sư Phạm Hà Nội
Khoa CNTT Giáo án số
BÀI THỰC HÀNH SỐ 5 BÀI THỰC HÀNH 5
Giảng viên hướng dẫn:Thầy Trần Doãn Vinh
Sinh viên thực hiện : Nguyễn Thành Luân
Lớp K54A_CNTT
A.MỤC ĐÍCH,YÊU CẦU
các kĩ năng cơ bản làm việc với kiểu xâu trong lập trình Cụ thể là: +Học sinh biết cách khai báo kiểu dữ liệu xâu
+Nhập dữ liệu cho xâu,đưa ra màn hình xâu
+Duyệt qua tất cả các kí tự của xâu để thực hiện xử lí tương
ứng
Trang 2+Sử dụng được các hàm và các thủ tục chuẩn đã trình bày
ở SGK
thường gặp khi xử lí văn bản, rèn luyện một số kĩ năng cài đặt : +Tạo một xâu mới từ một xâu ban đầu
+Đếm số lần xuất hiện của một chữ cái trong văn bản
+Tìm kiếm và thay thế sự xuất hiện của một từ bằng một
từ khác trong toàn bộ văn bản
B.PHƯƠNG PHÁP VÀ PHƯỜNG TIỆN.
1.Phương pháp :
Kết hợp phương pháp vấn đáp, quan tâm, giúp đỡ học sinh trong phòng máy.Tạo môi trường thuận lợi để học sinh có thể mạnh dạn hỏi giáo viên những gì các em còn thắc mắc khi lập trình hoặc những thao tác còn chưa quen khi làm việc với máy tính điện tử
2.Phương tiện
a.Đối với giáo viên.
11
bài thực hành Các chương này có đường dẫn rõ ràng hoặc giào viên tạo các đườnglink tránh việc mất thời gian tìm kiếm
b.Đối với học sinh:
C.TIẾN TRÌNH LÊN LƠP VÀ NỘI DUNG BÀI GIẢNG
I.ỔN ĐỊNH LỚP (1’)
Yêu cầu lớp trưởng báo cáo sĩ số
II.KIỂM TRA BÀI CŨ VÀ GỢI ĐỘNG CƠ.(5’)
Vì đây là một giờ thực hành nên thay vì thay vì giáo viên gọi học sinh lên bảng kiểm tra bài cũ thì giáo viên hệ thống nhanh các kiến thức
lí thuyết có liên quan đến bài thực hành ngày hôm nay Cụ thể là:
Trang 3- Định nghĩa về xâu kí tự
- Cách khai báo xâu kí tự
- Các thao tác đối với xâu kí tự đã học trong bài 2 như : nhập xâu
và hiển thị lên màn hình, ghép xâu,xoá kí tự trong xâu,copy xâu…
Giáo viên có thể tiến hành kiểm tra vở bài tập của một số em hoặc nhờ tổ trưởng các tổ báo cáo tình hình chuẩn bị bài cũ ở nhà cụ thể
là viết các chương trình trên giấy.Qua đó giáo viên có thể điều chỉnh giờ dạy của mình cho phù hợp.Ví dụ một bài nào đó trong tiết thực hành mà học sinh cả lớp hầu như làm được thì giáo viên có thể hướng dẫn nhanh để tập trung vào các bài khác
III.NỘI DUNG BÀI GIẢNG
trò
Thời gian.
1 Bài1: Nhập vào từ bàn phím một
xâu Kiểm tra xem xâu đó có là
xâu đối xứng không?
a Hãy gõ và chạy thử
chương trình (như trong sgk)
b Hãy viết lại chương trình
trong đó không cần biến xâu p
Sau đây là chương trình đáp
ứng được nhu cầu thêm của
bài toán:
Var i,x:byte;
a:string;
D:boolean;
Begin
Write(‘Moi nhap vao
xau:’);
Readln(a);
x:=length(a);
D:=true;
for i:=1 to x div 2 do
if a[i]<> a[x-i+1]then
palin:=false;
-Giáo viên nên định nghĩa thế nào là xâu palidrome?
Là xâu mà khi đọc từ trái sang phải hoặc từ phải sang trái thì xâu không đổi
-Giáo viên lấy ví dụ về xâu palidrome hoặc cho học sinh lấy ví dụ để các
em hiểu rõ
-Giáo viên chiếu chương trình lên và giải thích cách thức duyệt xâu của chương trình là duyệt từ đầu đến cuối Sau đó giáo viên có thể cho chạy thử chương trình
-Giáo viên có thể nêu ý tưởng của bài toán không cần biến xâu.Đó là kiểm tra các kí tự trong xâu tại các vị trí đối xứng chứ không cần tạo ra xâu mới rồi so sánh Nếu trong xâu
15’
Trang 4if D then Writeln(‘Xau đã cho là
đối xứng’) else Writeln(‘Xau
khong la đối xứng’);
readln
End
các kí tự ở các vị trí đối
xứng mà bằng nhau thì xâu đối xứng ngược lại thì không đối xứng -Học sinh tiến hành lập trình trên máy, giáo viên
đi lại trong phòng máy
để quan sát và giúp đỡ các em khi các em cần.
- Giáo viên có thể đặt câu hỏi : Có em nào có cách làm khác không?
hoặc gợi ý thay vì dung for–do ta có thể dùng while–do hoặc dùng Repeat-until.
2 Bài 2.Viết chương trình nhập từ
bàn phím một xâu kí tự S và
thông báo ra màn hình số lần
xuất hện trong S của mỗi chữ cái
tiếng Anh (Không phân biệt chữ
hoa hay chữ thường
Dàn ý của chương trình :
{phần khai báo }
begin
{nhập xâu}
N:=length(x);
{khởi trị cho mảng đếm }
for i:=1 to n do
{nếu x[i]thì tăng đếm cho x[i]}
for c:=’a’to ‘z’ do
{thông báo số lần xuất hiện của
c}
end
-Giáo viên hướng dẫn có thể dùng một mảng với chỉ
số từ a đến z để ghi nhận
số lần xuất hiện của các kí
tự trong xâu S Dùng mảng một chiều để để đếm
số lần xuất hiện kí tự trong xâu Để giải quyết vấn đề không phân biệt chữ hoa hay chữ thường cần dùng hàm Upcase(c)
-Sau khi gợi ý xong thì giáo viên chiếu phần dàn ý chương trình lên màn chiếu sau đó yêu cầu học sinh tự lập trình trên máy Giáo viên sẽ hướng dẫn và giúp đỡ
12
3 Bài 3.Viết chương trình nhập
vào từ bàn phím một xâu, thay
thế tất cả các từ “anh” trong xâu
đó bằng từ “em”
Dàn ý của chương trình :
Ở bài này do thời gian còn
có hạn nên giáo viên chỉ nên hướng dẫn chứ không cho học sinh lập trình trên máy tại lơp mà để hôm sau
7’
Trang 5{phần khai báo}
Begin
{Nhập xâu x}
{chừng nào còn tìm thấy xâu con
“anh ”trong xâu x thì còn làm 3
việc :
- Tìm vị trí bắt đầu của xâu “anh”
- Xoá xâu “anh ”vừa tìm thấy
- Chèn xâu “em “vào xâu x tại vị trí trước đây xuất hiện xâu
“anh”
}
{In kết quả xâu x}
End
khi giáo viên mang máy tính lên lớp sẽ gọi một em lên lập trình coi như là kiểm tra bài cũ
- Giáo viên nêu ý tưởng của thuật giải bài toán:Tìm
vị trí xâu con “anh ” trong xâu đã cho , xoá nó đi và chèn xâu con “em”vào đó.Lặp đi lặp lại nhiều lần cho đến khi không tim thấy xâu con “anh ” trong xâu ban đầu thì thôi
IV CỦNG CỐ BÀI (2’):
Giáo viên nhắc lại những gì đã làm được trong ngày hôm nay:Kiểm tra xâu đối xứng, làm quen với việc tìm kiếm thay thế và biến đổi xâu
V.BÀI TẬP VỀ NHÀ (2’):
-Lập trình nốt bài tập 3 mà giáo viên đã hướng dẫn trên lớp
-Viết báo cáo thu hoạch xem mỗi học sinh đã làm được gì trong tiết học hôm nay
VI.NHẬN XÉT CỦA THẦY GIÁO VỀ BÀI SOẠN: