GIÁO ÁN CHI TIẾT Bài giảng: TỔ CHỨC LẶP - Tiết 1 Người soạn: Nguyễn Thanh Tùng - Tổ Toán Tin - Trường THPT Hai Bà Trưng I. Mục đích - Yêu Cầu: 1. Mục đích: Bài học này giúp học sinh nắm được câu lệnh lặp với số lần không định trước - câu lệnh WHILE. Vận dụng để giải một số bài toán cơ bản. 2. Yêu cầu: Học sinh nắm vững cú pháp (cấu trúc), cách hoạt động của câu lệnh. Giáo viên có hệ thống câu hỏi gợi mở, dẫn dắt vấn đề. II. Phương pháp giảng dạy: - Giải quyết vấn đề và vận dụng mô hình giải thuật để mô phỏng sự hoạt động của câu lệnh WHILE. III. Các bước lên lớp: 1. Kiểm tra bài cũ: Câu hỏi 1: Trình bày cú pháp câu lệnh IF. Giải thích các thành phần trong câu lệnh. Câu hỏi 2: Hãy trình bày cách thực hiện của câu lệnh IF. Câu hỏi 3: Câu lệnh ghép là gì? Cho ví dụ. Trả lời: - Cú pháp câu lệnh IF: IF A THEN B ELSE C; Trong đó: A là điều kiện là biểu thức quan hệ hoặc biểu thức logic. B, C là các câu lệnh - Cách thực hiện: khi gặp câu lệnh IF, máy sẽ tính giá trị của điều kiện A, Nếu điều kiện A có giá trị TRUE thì câu lệnh B được thực hiện, ngược lại câu lệnh C được thực hiện. - Câu lệnh ghép: khi một công việc trong TP có từ 2 lệnh trở lên thì ta đặt nó trong cặp từ khóa BEGIN và END; Ví dụ: Hoán đổi giá trị hai số a và b (khi a<>b) IF a<>b then Begin TG:=a; a:=b; b:=TG; End; 2. Nội dung bài mới: Ta sử dụng đồng thời sử dụng bài toán này để áp dụng cho Tổ chức lặp - tiết 2. Mục đích để sau khi học xong bài Tổ chức lặp, HS có thể so sánh 2 cấu trúc lặp. Bài toán: Viết chương trình tính tổng S=1 2 +2 2 +3 2 + +N 2 Với N nhập vào từ bàn phím. Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò 1. Bài toán: Viết chương trình tínhtổng S=1 2 +2 2 +3 2 + +N 2 Với N nhập vào từ bàn phím Sơ đồ thuật toán: Trong khi i≤N làm công việc: S:=S+i 2 và i:=i+1 2. Lặp một số lần chưa biết trước: Câu lệnh While Gọi HS xác định Input và Output của bài toán - GV đưa ra sơ đồ thuật toán GV gọi HS giải thích sơ đồ hoạt động của thuật toán. Sau đó GV đưa ra minh họa Qua việc minh họa bài toán cho HS thấy: trong khi i còn nhỏ hơn N thì còn thực hiện công việc công việc: cộng bình phương i vào cho S, và tăng i lên 1 đơn vị. Sau đó quay lại kiểm tra i<=N. Đến 1 lúc nào đó i>N thì kết thúc công việc. Cho HS chuyển thể sang ngôn ngữ tiếng Anh Đó cũng chính là câu lệnh mà chúng ta sẽ học tiết này. GV đưa ra cấu trúc lặp WHILE. - Input: N - Output: S WHILE i≤N DO Begin S:=S+i*I; i:=i+1; End; S:=0; i:=1; i<=N S:=S+sqr(i); i:=i+1; T T r r u u e e F F a a l l s s e e Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò a. Cú pháp: WHILE A DO B; b. Sơ đồ hoạt động: c. Cách hoạt động: S:=0; i:=1; WHILE i<=N DO Begin S:=S+SQR(i); i:=i+1; End; S:=0; i:=1; N:=5; WHILE i<=N DO Begin S:=S+SQR(i); Gv gọi HS giải thích các thành phần trong câu lệnh. GV đưa ra cách thực hiện: Bằng sơ đồ Sau đó gọi HS dựa vào cú pháp và nhìn vào sơ đồ và nêu cách thực hiện. GV cho HS tự ghi cách hoạt động. - Dựa vào sơ đồ thuật toán và cách hoạt động cho HS ghi đoạn CT tính tổng trên. Ta thấy công việc tính tổng có 2 lệnh do đó ta phải viết như thế nào? Hàm gì trong TP cho kết quả là bình phương của một số? Cho HS về nhà hoàn chỉnh đoạn CT trên thành 1 CT. - GV đưa ra lại đoạn CT tính tổng. Với N=5, i=1; Sau đó click vào nút để làm mất dòng i:=i+1; Nếu không có dòng lệnh WHILE, DO: tư khóa A: điều kiện - biểu thức logic hoặc biểu thức quan hệ. B: câu lệnh. - Chừng nào điều kiện A còn đúng thì câu lệnh B còn được thực hiện, ngược lại khi điều kiện A nhận giá trị sai thì kết thúc câu lệnh WHILE. - Ta sử dụng câu lệnh ghép. Ta đặt 2 câu lệnh đó trong cặp từ khóa Begin và End; Hàm SQR(x) -Nếu không có dòng lệnh đó thì i luôn không đổi, tức là i luôn nhỏ hơn N và điều kiện không bao giờ False nên vòng lặp sẽ thực hiện vô hạn. A A B B T T r r u u e e F F a a l l s s e e Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò End; S:=0; i:=6; N:=5; WHILE i<=N DO Begin S:=S+SQR(i); i:=i+1; End; Chú ý: + Trong thân câu lệnh B phải có cơ chế thay đổi điều kiện A từ True thành False. + Ngay từ đầu điều kiện A nhận giá trị False thì câu lệnh B B không được thực hiện lần nào. 3. Bài toán ứng dụng: Tìm UCLN của 2 số nguyên dương M,N; M,N nhập vào từ bàn phím. Sơ đồ: i:=i+1; thì đoạn CT trên sẽ thực hiện như thế nào? GV click vào nút để hiện lại dòng lệnh i:=i+1; và thay i=6. Lúc này đoạn CT trên thực hiện như thế nào? GV đưa ra 2 chú ý: + Trong thân câu lệnh B phải có cơ chế thay đổi điều kiện A từ True thành False. + Ngay từ đầu điều kiện A nhận giá trị False thì câu lệnh B B không được thực hiện lần nào. Yêu cầu HS xác định Input và Output của bài toán. GV yêu cầu HS đưa ra sơ đồ thực hiện và cách thực bằng lời của thuật toán này (đã học năm lớp 10). GV gọi HS nhìn vào sơ đồ minh họa việc thực hiện tìm UCLN dựa theo sơ đồ khối. -Lúc này i>N (tức là i=6, N=5) nên điều kiện sẽ sai ngay từ đầu do đó công việc không được thực hiện lần nào mà kết thúc vòng lặp WHILE ngay lập tức. Input: M và N nguyên dương Output: UCLN (M,N) Bằng lời: B B 1 1 : : Nhập M,N B B 2 2 : : Nếu M=N thì lấy M làm ƯCLN, sang B B 4 4. B B 3 3 : : Nếu M>N thì thay M bằng M-N, ngược lại thay N B B e e g g i i n n Nh ập M,N M=N M>N M:=M - N N:=N - M ƯCLN là M T T R R U U E E F F A A L L S S E E T T R R U U E E F F A A L L S S E E Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò - GV yêu cầu HS xem chương trình tìm UCLN ở SGK trang 50. bằng N-M Rồi quay lại B B 2 2. B B 4 4 : : Đưa ra kết quả ƯCLN và kết thúc IV. Củng cố bài học: 1. GV yêu cầu HS nhắc lại cú pháp của câu lệnh WHILE và nhìn vào sơ đồ để nêu cách hoạt động của câu lệnh. 2. Bài tập về nhà: Bài 4 - trang 55; Bài 6c trang 56. 3. Bài tập làm thêm: a. Viết chương trình tìm N lớn nhất sao cho S<2005; với S=1 2 +2 2 +3 2 + +N 2 b. Tìm Bội chung nhỏ nhất của 2 số nguyên dương M, N biết rằng Bội chung nhỏ nhất của 2 số M,N bằng tích của M và N chia cho UCLN(M,N). . GIÁO ÁN CHI TIẾT Bài giảng: TỔ CHỨC LẶP - Tiết 1 Người soạn: Nguyễn Thanh Tùng - Tổ Toán Tin - Trường THPT Hai Bà Trưng I. Mục đích - Yêu. bài toán này để áp dụng cho Tổ chức lặp - tiết 2. Mục đích để sau khi học xong bài Tổ chức lặp, HS có thể so sánh 2 cấu trúc lặp. Bài toán: Viết chương trình tính tổng S=1 2 +2 2 +3 2 + +N 2 . toán: Viết chương trình tínhtổng S=1 2 +2 2 +3 2 + +N 2 Với N nhập vào từ bàn phím Sơ đồ thuật toán: Trong khi i≤N làm công việc: S:=S+i 2 và i:=i+1 2. Lặp