Bài thực hành số 5 về Xâu
Trường Đại Học Sư Phạm Hà NộiKhoa CNTTGiáo án sốBÀI THỰC HÀNH SỐ 5BÀ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ủng cố cho học sinh những hiểu biết về kiểu dữ liệu xâu.• Tổ chức những hoạt động trong phòng máy để học sinh có được 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 +Sử dụng được các hàm và các thủ tục chuẩn đã trình bày ở SGK• Cung cấp cho học sinh một vài thuật toán cơ bản và đơn giản 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.• Góp phần rèn luyện tác phong,tư duy lập trình.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. Máy vi tính,máy chiếu. Sách giáo khoa , sách giáo viên, sách bài tập tin học 11. Các chương trình đã viết sẵn trong máy phục vụ cho 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 Các tài liệu khác có liên quan đến bài học(nếu có). b.Đối với học sinh: Sách giáo khoa, sách bài tập tin học lớp 11. Vở ghi lí thuyết tin học 11. Vở bài tập tin học 11 Các tài liệu khác có liên quan đến bài học nếu có.C.TIẾN TRÌNH LÊN LƠP VÀ NỘI DUNG BÀI GIẢNGI.Ổ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à:- Đị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ẢNGTT Nội dung Hoạt động của thầy và 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;if D then Writeln(‘Xau đã cho là -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 các kí tự ở các vị trí đối 15’ đối xứng’) else Writeln(‘Xau khong la đối xứng’);readln End.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 đỡ.123 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 :{phần khai báo}Ở 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 khi giáo viên mang máy 7’ 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.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: . Trường Đại Học Sư Phạm Hà NộiKhoa CNTTGiáo án sốBÀI THỰC HÀNH SỐ 5BÀI THỰC HÀNH 5 . quan đến bài thực hành ngày hôm nay. Cụ thể là:- Đị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ư