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. - Yêu cầu học sinh cho hai ví dụ về xâu 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.
1. Quan sát, đọc kỹ đề. Phải: 12321 abccba 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
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.
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. - Hỏi: Cấu trúc dữ liệu phải sử dụng như thế nào?
- 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.
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