Ngày soạn: 10/1/2009 Tiết19 BÀI TẬP I - Mục tiêu cần đạt: + Kiến thức: - Củng cố thêm cho HS về cấu trúc rẽ nhánh. - Luyện tập cho HS về cấu trúc lặp, vận dung giải các bài toán về tìm tổng của dãy số. + Kỹ năng: - Tổ chức, xây dựng chương trình. - Kiểm soát, hiệu chỉnh chương trình. + Thái độ: - Tích cực, tự giác hoàn thành nhiệm vụ học tập. - Lòng yêu thích bộ môn. II – Phương pháp, phương tiện dạy học: *Phương tiện: + GV: - SGK, sách bài tập, sách giáo viên tin 11 - Giáo án, phòng máy tính, máy chiếu (Projector) + HS: - SGK tin học 11. - Học và làm bài tập ở nhà. * Phương pháp: - Các PP nhằm tích cực hóa hoạt động học tập của HS - Thực hành trên máy tính. III - Tiến trình dạy học: 1. Ổn định tổ chức: Lớp 11A 11B 11C 11D Ghi chú Ngày dạy Sĩ số 2. Kiểm tra bài cũ: Kiểm tra sự chuẩn bị bài ở nhà của HS. 3. Bài mới: Hoạt động của GV và HS Nội dung GV: Hãy cho biết sự giống nhau và khác nhau của hai dạng câu lệnh if-then? HS: Đứng tại chỗ trả lời. GV: Câu lệnh ghép là gì? Tại sao phải có câu lệnh ghép? HS: Đứng tại chỗ trả lời. Câu 1: Giống nhau: Cùng là câu lệnh cấu trúc rẽ nhánh, khi gặp một điều kiện nào đó thì chọn thực hiện thao tác thích hợp. Khác nhau: Trong câu lệnh if-then dạng thiếu, nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình, còn trong câu lệnh if-then dạng đủ, nếu điều kiện không đúng thì thực hiện công việc 2, sau đó mới thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình. Câu 2: Câu lệnh ghép là một câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc ghép). Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần. Mỗi thao tác thành phần ứng với một câu lệnh đơn hoặc câu lênh GV: Có thể thay câu lệnh while-do để thay cho câu lệnh for-do được không? Cách làm ntn? HS: Đứng tại chỗ trả lời. GV: yêu cầu HS giải theo cách khác. GV: Yêu cầu HS cả lớp giải bài tập (viết chương trình trên máy tính). Tính: Xác định dữ liệu vào, ra. Viết giải thuật? HS: Thực hiện. GV: hãy viết chương trình theo giải thuật vừa nêu? HS: Viết chương trình. GV: Hướng dẫn, sửa sai cho HS. Yêu cầu HS thực hiện chương trình với n =50. GV: Có thể sử dụng câu lệnh While – do để giải bài tập trên không? Hãy thực hiện? S:=0; i:=1; While i<=n do Begin S:= s+i/(i+1); I:=i+1; End; ghép khác. Về mặt ngôn ngữ lập trình, câu lệnh ghép là một trong các yếu tố cần thiết để xây dựng chương trình có cấu trúc. Câu 3: Có thể thay thế đoạn chương trình chứa câu lệnh for-do (dạng tiến) bằng đoạn chương trình chứa câu lệnh while-do như sau: i := <giá trị đầu>; while <i<= giá trị cuối> do begin <câu lệnh>; <tăng i một đơn vị>; end; Bài tập 5a (SGK – Tr51): Dữ liệu vào (Input): Nhập n Dữ liệu ra (Output): Tổng S Giải thuật: B1: Nhập n; B2: S:=0; i:=1; B3: Nếu i > n thì đưa ra giá trị S kết thúc. B4: S:= S + i/(i+1); B5: i := i + 1; quay lại bước 3; Chương trình: Program bai5a; uses crt; var s: real; n: byte; begin clrscr; write(‘Nhap n: ‘); readln(n); s:=0; for i:=1 to n do s:=s+i/(i+1); writeln(‘Tong S = ‘, s:14:6); readln end. 1 4 3 3 2 2 1 + ++++= n n S 4. Củng cố: - Phân biệt rõ cách dùng câu lệnh for – do, while – do. - Chú ý kiểu của biến đếm phải là kiểu đếm được (byte, inetger, word, longint,…) - Khi các lệnh cần thực hiện sau do nhiều hơn 1 thì phải đặt chúng vào trong cặp từ begin … end (tạo thành 1 câu lệnh ghép). 5. Hướng dẫn về nhà: Bài 5b: uses crt; var n: longint; e, sh: real; begin clrscr; sh :=1/2; n := 2; e := 2+sh; while sh>= 2*1E-6 do begin inc(n); sh := sh*(1/n); e := e +sh; end; writeln(‘ Gia tri e(n) la: ‘, e:10:6); readln end. TỔ TRƯỞNG KÝ DUYỆT . hành trên máy tính. III - Tiến trình dạy học: 1. Ổn định tổ chức: Lớp 11A 11B 11C 11D Ghi chú Ngày dạy Sĩ số 2. Kiểm tra bài cũ: Kiểm tra sự chuẩn bị bài. - SGK, sách bài tập, sách giáo viên tin 11 - Giáo án, phòng máy tính, máy chiếu (Projector) + HS: - SGK tin học 11. - Học và làm bài tập ở nhà. * Phương