I. MỤC TIÊU
1. Kiến thức:
- Củng cố cho học sinh những kiến thức về xâu ký tự, đặc biệt là các hàm và thủ tục liên quan.
- Nắm được một số thuật toán cơ bản : tạo xâu mới, đếm số lần xuất hiện 1 ký tự
2. Kĩ năng:
- Khai báo được biến kiểu xâu
- Nhập, xuất giá trị cho biến xâu.
- Duyệt qua được tất cả các ký tự của xâu.
- Sử dụng được các hàm và thủ tục chuẩn.
Tiết: 31 Ngày soạn 04/01/10 Bài 14.BÀI THỰC HÀNH 5 (T1) Ngày giảng 08/01/10 MỤC TIÊU Kiến thức: Củng cố cho học sinh những kiến thức về xâu ký tự, đặc biệt là các hàm và thủ tục liên quan. Nắm được một số thuật toán cơ bản : tạo xâu mới, đếm số lần xuất hiện 1 ký tự Kĩ năng: Khai báo được biến kiểu xâu Nhập, xuất giá trị cho biến xâu. Duyệt qua được tất cả các ký tự của xâu. Sử dụng được các hàm và thủ tục chuẩn. Tư duy: Các kiểu có cấu trúc là tiền đề cho lập trình logic, tạo ra chương trình ứng dụng và đồ hoạ. Thái độ: Tự giác, tích cực, chủ động trong thực hành. CHUẨN BỊ BÀI GIẢNG Phương tiện: GV: phòng máy có cài Pascal Tổ chức trong phòng máy để HS có được kỹ năng cơ bản khi làm việc với kiểu xâu. HS: Sách giáo khoa, vở ghi. Xem trước bài học. Phương pháp dạy học Gợi mở vấn đáp Đàm thoại Đặt vấn đề TIẾN TRÌNH DẠY HỌC Kiểm tra bài cũ: Kết hợp trong giờ thực hành. Nội dung bài giảng: HOẠT ĐỘNG 1 Palidrom 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 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. Chúng ta co thể sử dụng câu lệnh For to hoặc While do program palindrome ; var i, x: byte ; a, p: string ; begin write ('nhap vao xau :'); readln (a); X:= length (a) ; p:= '' ; for i:= x downto 1 do p:= p+a[i]; if a= p then write ('xau la palindrome') else write ('xau khong phai la palindrome'); readln end. 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. 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 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. program palindrome ; var i, x: byte ; a, p: string ; begin write ('nhap vao xau :'); readln (a); X:= length (a) ; i:= 1; while (i<=(x div 2)) and (a[i]=a[x-i+1]) do i:= i+1; if i>( x div 2) then writeln ('xau la palindrome') else writeln ('xau khong phai la xau palindrome'); readln end. - Nhập dữ liệu vào và thông báo kết quả. Củng cố: Nắm đượ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 Dặn dò: Về nhà hs nào có máy thì tiếp tục thực hành và xem tiếp phần thực hành sau. Các em nghỉ. NHẬN XÉT Phương pháp: Hiệu quả sử dụng: Hiệu quả SD TBDH: ND cần điểu chỉnh: Nhận xét của giáo viên hướng dẫn:
Tài liệu đính kèm: