Giáo án chi tiết lớp 11 Bài 7: các thủ tục chuẩn vào/ra đơn giản Bài 8: soạn thảo, dịch, thực hiện và hiệu chỉnh chơng trình Tiết theo PPCT: 07. Ngời soạn: GV Phạm Anh Tùng. Ngày soạn: 05 tháng 09 năm 2010. I. Mục đích, yêu cầu: 1. Mục đích: - Biết đợc ý nghĩa của các thủ tục vào/ra chuẩn đối với lập trình. - Biết đợc cấu trúc chung của thủ tục vào/ra trong ngôn ngữ lập trình Pascal. - Biết viết đúng lệnh vào/ra dữ liệu. - Biết nhập đúng dữ liệu vào/ra khi thực hiện chơng trình. - Biết đợc các bớc để hoàn thành một chơng trình. - Biết các file trong chơng trình cơ bản của Turbo Pascal 7.0. - Biết khởi động và thoát khỏi hệ soạn thảo của Turbo Pascal. - Soạn đợc một chơng trình vào máy. 2. Yêu cầu: Giáo viên: - Soạn giáo án trớc khi lên lớp. Học sinh: - Đọc trớc sách giáo khoa ở nhà. - Làm bài tập trớc khi đến trờng. - Sách giáo khoa và vở ghi chép bài. Thiết bị dạy học: - Máy chiếu đa năng, phiếu học tập, sách giáo khoa, và các tài liệu học tập, II. Tiến trình lên lớp: A. ổn định lớp: - Sĩ số: - Số học sinh có mặt: B. Kiểm tra bài cũ: Câu hỏi: Chúng ta đã học bao nhiêu loại phép toán mà máy tính có thể thực hiện đợc? Đáp án: - Các phép toán số học: +, -, *, /, DIV, MOD. - Các phép toán quan hệ: <, <=, >, >=, =, <>. - Các phép toán logic: NOT, OR, AND. C. Nội dung bài học: Hoạt động 1: Tìm hiểu thủ tục nhập dữ liệu vào từ bàn phím. a. Mục tiêu: - Giúp học sinh thấy đớc sự cần thiết của thủ tục nhập dữ liệu. - Biết đợc cấu trúc chung của thủ tục nhập dữ liệu. b. Nội dung: - Dùng để đa nhiều bộ dữ liệu khác nhau cho cùng một chơng trình xử lí. + Nhập: Read/readln(<tên_biến_1>, ,<tên_biến_n>); c. Các bớc tiến hành: 1/07 Hoạt động của Giáo viên Hoạt động của Học sinh 1. Nêu vấn đề: Khi giải quyết một bài toán, ta phải đa dữ liệu vào máy tính xử lí. Việc đa dữ liệu vào máy bằng lệnh sẽ làm cho chơng trình chỉ có tác dụng với một dữ liệu cố định. Để chơng trình giải quyết đợc nhiều bài toán hơn, ta phải sử dụng thủ tục nhập dữ liệu. - Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của thủ tục nhập dữ liệu trong NNLT Pascal. - Nêu ví dụ: Khi viết chơng trình giải ph- ơng trình ax + b = 0, ta phải nhập vào các đại lợng nào? Viết lệnh nhập? 2. Chiếu một chơng trình Pascal đơn giản có lệnh nhập giá trị cho hai biến. - Thực hiện chơng trình và nhập dữ liệu. - Hỏi: Khi nhập giá trị cho nhiều biến, ta phải thực hiện nh thế nào? - Yêu cầu học sinh thực hiện nhập dữ liệu cho chơng trình. 1. Chú ý lắng nghe dẫn dắt của giáo viên. - Nghiên cứu sách giáo khoa và suy nghĩ để trả lời. Read(<tên_biến_1>, , <tên_biến_n>); Readln(<tên_biến_1>, , <tên_biến_n>); - Phải nhập giá trị cho 2 biến a và b. + Lệnh nhập: read(a,b). 2. Quan sát chơng trình ví dụ của giáo viên. - Những giá trị này phải đợc gõ cách nhau ít nhất một dấu cách hoặc kí tự xuống dòng. - Lên bảng thực hiện nhập theo yêu cầu của giáo viên. Hoạt động 2: Tìm hiểu thủ tục đa dữ liệu ra màn hình. a. Mục tiêu: - Giúp cho học sinh thấy đợc sự cần thiết của thủ tục đa dữ liệu ra màn hình. - Biết đợc cấu trúc chung của thủ tục đa dữ liệu ra ngoài màn hình. b. Nội dung: - Dùng để đa kết quả sau khi xử lí ra ngoài màn hình để ngời sử dụng thấy. + Xuất: Write/writeln(<tham_số_1>, , <tham_số_n>); c: Các bớc tiến hành: Hoạt động của Giáo viên Hoạt động của Học sinh 1. Dẫn dắt: Sau khi xử lí xong, kết quả tìm đợc đang đợc lu trữ trong bộ nhớ. Để thấy đợc kết quả trên màn hình ta sử dụng thủ tục xuất dữ liệu. - Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của thủ tục xuất dữ liệu trong ngôn ngữ lập trình Pascal: - Nêu ví dụ: Khi viết chơng trình giải ph- ơng trình ax + b = 0, ta phải đa ra màn hình giá trị của nghiệm b/a, ta phải viết nó nh thế nào? 2. Chiếu một chơng trình Pascal đơn giản Program VD; 1. Chú ý lắng nghe dẫn dắt của giáo viên. - Nghiên cứu sách giáo khoa và trả lời. Write(<tên_biến_1>, , <tên_biến_n>); Writeln(<tên_biến_1>, , <tên_biến_n>); - Viết lệnh: Writeln(-b/a); 2. Quan sát chơng trình ví dụ của giáo viên. 2/07 Var x, y, z: integer; Begin Writeln(nhap vao hai so:); readln(x,y); z:= x+y; write(x:6, y:6, z:6); readln; End. - Thực hiện chơng trình và thực hiện nhập dữ liệu để học sinh thấy kết quả trên nền màn hình. - Hỏi: Chức năng của lệnh Writeln(); - Hỏi: ý nghĩa của :6 trong lệnh write( ). - Hỏi: Khi các tham số trong lệnh write() thuộc kiểu char hoặc real thì quy định vị trí nh thế nào? - Cho ví dụ cụ thể với 2 biến c kiểu char và r kiểu real. - Viết ra màn hình dòng chữ và đa con trỏ xuống dòng. - Dành 6 vị trí trên màn hình để viết số x, 6 vị trí tiếp theo để viết số y và 6 vị trí tiếp theo để viết số z. - Khi các tham số có kiểu kí tự, việc quy định vị trí giống kiểu nguyên. - Khi các tham số có kiểu thực thì ta phải quy định 2 loại vị trí: vị trí cho toàn bộ số thực và vị trí cho phần thập phân. - Ví dụ: write(c:8); Writeln(r:8:3); Hoạt động 3: Làm quen với Turbo Pascal 7.0. a. Mục tiêu: - Biết đợc các file chơng trình cơ bản của Turbo Pascal 7.0. Biết cách khởi động và thoát khỏi Turbo 7.0. b. Nội dung: - Chuyển vào th mục chứa file Turbo.exe. - Gõ Turbo.exe và nhấn Enter (nếu ở môi trờng windows thì chỉ cần bấm vào biểu tợng Turbo Pascal). c. Các bớc tiến hành: Hoạt động của Giáo viên Hoạt động của Học sinh 1. Đặt vấn đề: Để sử dụng đợc Turbo pascal, trên máy vi tính thì phải có các file chơng trình cần thiết của nó. Tham khảo sách giáo khoa và cho biết tên các file ch- ơng trình đó? 2. Trình diễn cách khởi động Turbo Pascal thông qua máy Prọector. - Giới thiệu màn hình soạn thảo chơng trình: bảng chọn, con trỏ, vùng soạn thảo. 1. Tham khảo sách giáo khoa và trả lời. Turbo.exe Turbo.tpl Graph.tpu Egavga.bgi và các file *.chr 2. Quan sát và ghi nhớ vào vở. 3/07 Hoạt động 4: Tập soạn thảo chơng trình và dịch lỗi cú pháp. a. Mục tiêu: - Học sinh biết cách tạo và lu một file chơng trình, biết cách dịch và tìm lỗi cú pháp. b. Nội dung: - Gõ các lệnh của chơng trình (giống nh trong hệ soạn thảo văn bản). - Lu file chơng trình lên đĩa bấm F2. - Biên dịch lỗi cú pháp: Bấm tổ hợp phím Alt + F9. c: Các bớc tiến hành: Hoạt động của Giáo viên Hoạt động của Học sinh 1. Soạn thảo chơng trình làm ví dụ, lu ch- ơng trình, dịch lỗi. - Dùng máy chiếu đa năng để minh họa thao tác lu file chơng trình và biên dịch. 2. Soạn thảo chơng trình, hỏi các lỗi cú pháp trong chơng trình, gọi học sinh dịch lỗi và sửa. Program VD1; Var x: integer; Begin write( nhap mot so nguyen duong ); readln(x); y:= sqrt(x); write(y); End. 1. Quan sát và ghi nhớ. - Lu: F2 - Dịch lỗi: Alt + F9 2. Quan sát và phát hiện lỗi để sửa lỗi cho chơng trình. Program VD1; Var x: integer; y: real; Begin write( nhap mot so nguyen duong ); readln(x); write(y); End. Hoạt động 5: Tập thực hiện chơng trình và tìm lỗi thuật toán để hiệu chỉnh. a. Mục tiêu: - Học sinh biết cách thực hiện một chơng trình, biết cách nhập dữ liệu và tìm lỗi thuật toán để hiệu chỉnh. b. Nội dung: - Thực hiện chơng trình: Bấm tổ hợp phím Crtl + F9. - Xây dựng Test. - Nhập dữ liệu, thu kết quả, đối chứng với kết quả của test. c: Các bớc tiến hành: Hoạt động của Giáo viên Hoạt động của Học sinh 1. Thực hiện chơng trình đã đợc viết ở trên, nhập dữ liệu, giới thiệu kết quả. 1. Quan sát giáo viên thực hiện và tham khảo sách giáo khoa. 4/07 - Dùng máy chiếu đa năng để minh họa thao tác thực hiện chơng trình. - Hỏi: Nhóm phím dùng để thực hiện ch- ơng trình? - Yêu cầu học sinh nhập dữ liệu và thực hiện chơng trình? 2. Giới thiệu chơng trình giải phơng trình: ax + b = 0. Var a, b: integer; Begin readln(a,b); if a < > 0 then write(-b/a) else write( PTVN); readln; End. - Yêu cầu học sinh hãy tìm test để chứng minh chơng trình này sai. Ctrl + F9 2. Quan sát yêu cầu của giáo viên và độc lập suy nghĩ để tìm test. a b x 0 0 VSN D. Củng cố bài học: - Nhập dữ liệu: read/readln(<tên_biến_1>, , <tên_biến_n>); - Xuất dữ liệu: write/writeln(<tham_số_1>, , <tham_số_n>); - Khởi động Turbo, soạn thảo chơng trình, dịch lỗi cú pháp, thực hiện chơng trình. Tìm lỗi thuật toán và hiệu chỉnh. E. Bài tập về nhà: Các em hãy về thực hành và cho biết sự giống nhau và khác nhau của read và readln. Tơng tự với write và writeln. Làm bài tập 9, 10 trang 36 sách giáo khoa tin hoc 11. F. Đúc rút kinh nghiệm: 5/07 . chuẩn vào/ra đơn giản Bài 8: soạn thảo, dịch, thực hiện và hiệu chỉnh chơng trình Tiết theo PPCT: 07. Ngời soạn: GV Phạm Anh Tùng. Ngày soạn: 05 tháng 09 năm 2010. I. Mục đích, yêu cầu: 1. Mục. trình xử lí. + Nhập: Read/readln(<tên_biến_1>, ,<tên_biến_n>); c. Các bớc tiến hành: 1 /07 Hoạt động của Giáo viên Hoạt động của Học sinh 1. Nêu vấn đề: Khi giải quyết một bài toán, ta. <tên_biến_n>); - Viết lệnh: Writeln(-b/a); 2. Quan sát chơng trình ví dụ của giáo viên. 2 /07 Var x, y, z: integer; Begin Writeln(nhap vao hai so:); readln(x,y); z:= x+y; write(x:6, y:6,