- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toán của một số bài toán đơn giản B... + Chuẩn bị bảng phụ sau:.[r]
(1)NS:6/10/2012 NG:8/10/2012 DL:11A2 TIẾT 10: BÀI THỰC HÀNH SỐ (Tiếp) A MỤC TIÊU Kiến thức - Biết chương trình Pascal hoàn chỉnh - Làm quen với các dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lưu chương trình, dịch chương trình và thực chương trình Kĩ - Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực và tìm lỗi thuật toán và hiệu chỉnh - Bước đầu biết phân tích và hoàn thành chương trình đơn giản trên Turbo Pascal Thái độ - Tự giác, tích cực và chủ động thực hành B ĐỒ DÙNG DẠY HỌC Chuẩn bị giáo viên - Phòng máy vi tính đã cài đầy đủ Turbo Pascal, máy chiếu Projector để hướng dẫn Chuẩn bị học sinh - Sách giáo khoa, sách bài tập và bài tập đã viết nhà C PHƯƠNG PHÁP: - Gởi mở vấn đáp, kèm theo hoạt động nhóm D HOẠT ĐỘNG DẠY-HỌC Ổn đinh lớp Kiêm tra bài cũ: Không kiểm tra Nội dung thực hành a Mục tiêu: - Học sinh soạn chương trình và lưu chương trình vào đĩa Biên dịch và thực chương trình Nhập liệu và kiểm định kết chương trình b Nội dung: - Viết chương trình tính diện tích hình tô màu, với a nhập vào từ bàn phím a a a a (2) c Các bước tiến hành: HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Định hướng để học sinh phân Phân tích theo yêu cầu tích bài toán giáo viên - Dữ liệu vào: Dữ liệu vào a - Dữ liệu ra: Dữ liệu s - Cách tính: Tính diện tích hình tròn có bk a (s1) Tính diện tích hình vuông cạnh a √ (s2) Yêu cầu học sinh soạn chương s:=s1-s2; trình và lưu lên đĩa Thực các yêu cầu - Quan sát hướng dẫn học giáo viên sinh lúc thực hành - Soạn chương trình - Bấm phím F2, gõ tên file để lưu - Bấm phím ALT_F9 để dịch lỗi Yêu cầu học sinh nhập liệu cú pháp và thông báo kết - Bấm phím CTRL_F9 để thực a=3 chương trình a=-3 - Thông báo kết cho giáo viên Nhập liệu theo yêu cầu Ghi bảng - Dữ liệu vào: - Dữ liệu ra: - Cách tính: a=3 a=-3 Với a=3, ta được: s=9(Pi-2) = 10.26 - Với a=-3, kết không đúng, vì độ dài cạnh phải là số dương - Với a=3, ta được: s=9(Pi-2) = 10.26 - Với a=-3, kết không đúng, vì độ dài cạnh phải là số dương 4: Củng cố: - Các bước để hoàn thành chương trình: + Phân tích bài toán để xác định liệu vào, liệu + Xác định thuật toán + Soạn chương trình vào máy + Lưu trữ chương trình + Biên dịch chương trình + Thực và hiệu chỉnh chương trình Dặn dò: - Về nhà làm các bài tập còn lại và thực hành thục các câu lệnh chương trình (3) NS: 13/ 10 /2012 NG: 15 / 10/2012 DL: 11A2 Tiết 11: ĐỀ KIỂM TRA tiết A Mục tiêu đánh giá: - Kiểm tra kết tiếp thu HS Chương - Có thái độ tự giác, tích cực làm bài kiểm tra B Mục đích yêu cầu: - Về kiến thức: + HS nắm các kiến thức thủ tục vài/ lập trình pascal - Về kỹ năng: Vieets các chương truong trình đơn giản C ĐỀ BÀI: 1/ Trình bày các thủ tục vào /ra chương trình pascal? 2/ Nhập vào cạnh hình chữ nhật In màn hình diện tích và chu vi nó 3/ Nhập vào bán kính hình tròn In màn hình diện tích và chu vi nó ĐÁP ÁN: 1/ (2đ) Các thủ tục vào /ra chương trình pascal * Các thủ tục vào (1đ) - Trong pascal ta dùng thủ tục chuẩn sau: Read(danh sách biến vào);hoặc Readln(danh sách biến vào); Ví dụ: Read(N); Readln(a,b,c); Chú ý:+ Khi nhập liệu từ bàn phím READ, READLN, có ý nghĩa nhau, thường hay dùng READLN + Khi nhập giá trị cho các biến thủ tục, giá trị này gõ cách dấu cách phím Enter * Các thủ tục (1đ) Trong pascal cung cấp thủ tục chuẩn: write(<Danh sách kết ra>); writeln(<Danh sách kết ra>); đó <Danh sách kết ra>có thể tên biến đơn, biểu thức, Ví dụ: write(‘Nap so N:’); Readln(N); Chú ý: + writeln sau đưa kết trỏ xuống dòng + Ngoài TPcó quy cách đưa thông tin nàm hình sau: + Kết thực: :<Độ rộng>:<số chữ số thập phân> + Kết khác: :<Độ rộng> ví dụ: Write(N:3); Writeln(‘X=’,x:8:2); 2/ Nhập vào cạnh hình chữ nhật In màn hình diện tích và chu vi nó.(4 đ) Program HINH_CHU_NHAT; (4) Uses Crt; Var a,b,s,c: real; Begin Clrscr; Writeln(‘ TINH DIEN TICH & CHU VI HINH CHU NHAT:’); Writeln(‘ ‘); Write('Nhap chieu dai='); readln(a); Write('Nhap chieu rong=');readln(b); s:=a*b; c:=(a+b)*2; Writeln('Dien tich hinh chu nhat la:’,s:6:2); Writeln('Chu vi hinh chu nhat:',c:6:2); Readln; End 3/ Nhập vào bán kính hình tròn In màn hình diện tích và chu vi nó.(4đ) Program HINHTRON; Uses Crt; Var r,dt,cv:real; Begin Clrscr; Writeln('TINH DIEN TICH & CHU VI HINH TRON:'); Writeln(' '); Write ('Nhap ban kinh R=');readln(r); dt:=pi*r*r; cv:=2*pi*r; Writeln('Dien tich hinh tron la:',dt:6:2); Writeln('Chu vi hinh tron la:',cv:6:2); Readln; End NS:20/10/2012 NG:22/10/2012 DL:11A2 Tiết 12: CẤU TRÚC RẼ NHÁNH A Mục tiêu bài dạy: Kiến thức: - Hiểu nhu cầu cáu trúc rẽ nhánh biểu diễn thuật toán - Học sinh nắm vững ý nghĩa và cú pháp câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu cách sử dụng câu lệnh ghép Kĩ năng: - Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số bài toán đơn giản - Viết các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể thuật toán số bài toán đơn giản B Chuẩn bị: (5) + Soạn giáo án + Chuẩn bị bảng phụ sau: IF Điều kiện S Đ Câu lệnh - Giáo viên: S - HS: học bài cũ, đọc và chuẩn bị bài C Phương pháp truyền thụ: Giảng giải + hoạt động học sinh D Tiến trình bài dạy: Ổn định lớp: Kiểm tra bài cũ: Bài toán: cho số nguyên a, b; tìm Max(a,b) Yêu cầu: viết phần tên, phần khai báo, và câu lệnh nhập a, b Nêu thuật toán tìm Max(a,b) Bài Hoạt IFđộng 1: Hoạt động giáo viên Hoạt động học sinh Ghi bảng GV: Giao HS lệnh HS: Thực các Program baitap; kiệnnhiệm vụĐcho Câu Điều yêu cầu Var a, b, max : integer; H:Làm nào để tìm Max(a, Đ: So sánh: Begin b)? - Nếu a > b thì max = a readln(a,b); H: Để thể thuật toán trên - Nếu a < b thì max = b end TP các em làm Đ: Chưa thể làm nào? Hoạt động 2: Hoạt động giáo viên Hoạt động học sinh H: Cho ví dụ câu điều Đ:+ Nếu em thuộc bài thì 10 kiện? điểm… + Nếu tối trời mưa thì em nghỉ học ngược lại thì em GV: Chọn hai câu làm ví dụ học… Từ đó phân tích cho học sinh (Có thể có nhiều câu khác thấy cấu trúc rẽ nhánh thể nhau) ví dụ này Ghi bảng Rẽ nhánh: * Một số mệnh đề có dạng điều kiện: + Dạng thiếu: Nếu…thì… + Dạng đủ: Nếu … thì … không thì … * Cấu trúc dùng để mô tả các mệnh đề trên gọi là (6) cấu trúc rẽ nhánh thiếu và đủ * Mọi ngôn ngữ lập trình có các câu lệnh để mô tả cấu trúc rẽ nhánh Hoạt động 3: Hoạt động giáo viên GV: Nêu cú pháp câu lệnh rẽ nhánh dạng đủ và dạng khuyết GV: Treo bảng phụ và giải thích quá trình thực câu lệnh rẽ nhánh dạng đủ và dạng khuyết H: Gọi học sinh viết câu lệnh so sánh để tìm Max(a, b) cách GV: Có thể dùng câu lệnh khuyết? max:=a; if a < b then max:=b; GV: lưu ý các em trước từ khoá Else không có dấu ; và sau then, sau else có lệnh chương trình GV: Với dạng này, dạng nào thuận tiện hơn? Hoạt động 4: Hoạt động giáo viên GV: Muốn thực nhiều lệnh sau if sau then thì làm nào? → Dẫn đến khái niệm và cách dùng câu lệnh ghép: cấu trúc rẽ nhánh, sau THEN có từ lệnh trở lên thì gộp thành câu lệnh ghép, đặt các lệnh đó cặp từ khoá Begin…end; với Pascal Hoạt động học sinh HS: Quan sát và ghi chép HS: Lên bảng viết: If a > b then max:= a; If a < b then max:= b; Hoặc: If a > b then max:=a Else max:=b; Ghi bảng Câu lệnh IF – THEN: * Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh: a Dạng khuyết: IF <điều kiện> THEN <câu lệnh>; b Dạng đủ: IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>; Trong đó: - Điều kiện là biểu thức lôgic - Câu lệnh, câu lệnh 1, câu lệnh là câu lệnh Pascal HS: tìm câu trả lời -> tuỳ trường hợp cụ thể Hoạt động học sinh Ghi bảng HS: Phát biểu ý kiến Câu lệnh ghép và ví dụ: mình * Trong ngôn ngữ Pascal câu lệnh ghép có dạng: Begin <các câu lệnh>; End; H: Gọi học sinh nêu thuật toán Đ: B1: Nhập a, b, c giải PT bậc hai? B2: Tính d = b2 – 4ac; B3: + Nếu d < thì pt vô nghiệm + Ngược lại thì pt có − b ± √d GV: Nhận xét, bổ sung nghiệm x1,2 = 2a GV: Phân nhóm và yêu cầu học sinh thảo luận nhóm để HS: Thảo luận theo nhóm và * Ví dụ: Viết chương trình giải phương trình bậc hai Program ptb2; Var a, b, c, d, x1, x2: real; Begin Write(‘ Nhap a, b, c:’); Readln(a,b,c); d := b*b – 4*a*c; (7) viết chương trình thể thuật toán trên Ghi lời giải vào bảng phụ GV: Yêu cầu đại diện nhóm lên treo bảng lời giải và trình bày Cho các nhóm khác nhận xét GV: chính xác hoá lời giải HS và cho điểm trình bày lời giải vào bảng If d < then Write(‘ PT vo nghiem’) else phụ: Begin Write(‘ PT co nghiem :’); x1:= (- b – sqrt(d))/(2*a); x2:= (- b + sqrt(d))/(2*a); Write(x1:6:2, x2:6:2); HS: Đại diện nhóm lên treo End; Readln bảng lời giải và trình bày end Các nhóm khác nhận xét Củng cố: GV tóm tắt các vấn đề cần nắm bài: - Cú pháp, ý nghĩa câu lệnh rẽ nhánh dạng đủ và dạng khuyết - Cách sử dụng câu lệnh ghép Dặn dò: Bài tập nhà: - Học bài, trả lời câu 1, trang 50 và làm bài trang 51 sgk Viết chương trình tìm Max(a, b, c) Viết chương trình giải phương trình bậc Chuẩn bị bài mới: Cấu trúc lặp (8)