III. HOẠT ĐỘNG DẠY-HỌC
1. Hoạt động 1: Tìm hiểu một chương trình, đề xuất phương án cải tiến.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1. Tìm hiểu đề bài
- Giới thiệu nội dung đề bài lên bảng. - Diễn giải: Một xâu được gọi là Palidrom nếu ta đọc các ký tự từ phải sang trái sẽ giồng khi đọc từ trái sang phải.
- Yêu cầu học sinh cho hai ví dụ về xâu
1. Quan sát, đọc kỹ đề.
palidrom và một ví dụ không phải là palidrom.
2. Tìm hiểu chương trình gợi ý. - Chiếu chương trình lên bảng.
- Hỏi: Chương trình sau đây có chức năng làm gì? Kết quả in ra màn hình như thế nào?
- Thực hiện chương trình để học sinh kiểm nghiệm suy luận của mình.
3. Cải tiến chương trình.
- Nêu yêu cầu mới: Viết lại chương trình mà không sử dụng biến trung gian p.
- Yêu cầu: Nhận xét về các cặp ở vị trí đối xứng nhau trong một xâu palidrom?
- Hỏi: Ký tự thứ i đối xứng với ký tự vị trí nào?
- Hỏi: Cần phải so sánh bao nhiêu cặp ký tự trong xâu để biết được xâu đó là palidrom? - Hỏi: Dùng cấu trúc lặp nào để so sánh? - Yêu cầu học sinh viết chương trình hoàn chỉnh.
- Yêu cầu học sinh nhập dữ liệu cho sẵn của giáo viên và thông báo kết quả.
- Xác nhận những bài làm có kết quả đúng.
Không phải: abcdea
2. Quan sát chương trình, suy nghĩ phân tích để hiểu chương trình.
- Kiểm tra một xâu có phải Palidrom hay không?
- In ra: ‘xau la palidrom’
‘Xau khong la palidrom’ - Quan sát giáo viên thực hiện chương trình, nhập dữ liệu và kết quả của chương trình.
3. Chú ý theo dõi yêu cầu của giáo viên, trả lời một số câu hỏi dẫn dắt. - Các ký tự ở vị trí này giống nhau. - Ký tự thứ i đối xứng với ký tự thứ length()-i+1
- So sánh tối đa length() div 2. - Có thể dùng For hoặc While.
- Thực hiện soạn thảo chương trình vào máy theo yêu càu cải tiến của giáo viên.
- Nhập dữ liệu vào và thông báo kết quả.
2. Hoạt động 2: Rèn luyện kĩ năng lập trình.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1. Giới thiệu đề bài.
- Chiếu nội dung đề bài lên bảng. Nêu mục đích của bài toán.
- Chia lớp làm hai nhóm:
+ Nhóm 1: Đặt các câu hỏi phân tích + Nhóm 2: Trả lời các câu hỏi phân tích
1. Quan sát đề và xác định những công việc cần thực hiện.
Nhóm 1:
- Hỏi: Dữ liệu vào, dữ liệu ra của bài toán?
- Nêu các nhiệm vụ chính cần thực hiện khi giải quyết bài toán.
- Theo dõi những câu hỏi phân tích của nhóm 1 và trả lời câu hỏi phân tích của nhóm 2
- Bổ sung và sửa sai cho cả nhóm 1 và nhóm 2.
2. Yêu cầu học sinh độc lập viết chương trình hoàn chỉnh theo thuật toán đã phát hiện ở trên.
- Yêu cầu một số học sinh lập trình xong sớm tìm một số bộ test.
- Yêu cầu học sinh nhập dữ liệu vào theo test của giáo viên đã chọn và thông báo kết quả sau khi thực hiện chương trình.
- Xác nhận kết quả đúng của học sinh và sửa sai cho các em có kết quả sai.
- Hỏi: Cấu trúc dữ liệu phải sử dụng như thế nào?
- Ta phải sử dụng hàm nào? Nhóm 2:
- Vào: Một xâu S.
- Ra: Dãy các số ứng với sự xuất hiện của mỗi loại ký tự trong xâu.
- TT: Duyệt từ trái sang phải, thêm một đơn vị cho ký tự đọc được.
- Cấu trúc dữ liệu: Dem[‘A’..’Z’] - Dùng hàm Upcase().
2. Độc lập soạn chương trình vào máy.
- Tìm test
- Nhập dữ liệu của giáo viên và thực hiện chương trình để xem kết quả. - Thông báo kết quả cho giáo viên.
IV. ĐÁNH GIÁ CUỐI BÀI
1. Những nội dung đã học
- Một số thuật toán đơn giản liên quan đến xâu ký tự: Kiểm tra một xâu đối xứng, tìm tần suất xuất hiện của các ký tự có trong xâu.
2. Câu hỏi và bài tập về nhà
- Chuẩn bị nội dung cho tiết lý thuyết tiếp theo: Đọc trước nội dung bài kiểu bản ghi, sách giáo khoa, trang 74.
Tiết
KIỂU BẢN GHII. MỤC TIÊU I. MỤC TIÊU
1. Kiến thức
- Biết được khái niệm về kiểu bản ghi.
- Phân biệt được sự giống và khác nhau giữa kiểu bản ghi với kiểu mảng một chiều.
2. Kĩ năng
- Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi trong ngôn