Giáo án Tin Học 11Cấu trúc lặp( tiết 3) doc

7 773 15
Giáo án Tin Học 11Cấu trúc lặp( tiết 3) doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 1 Cấu trúc lặp( tiết 3) I. MỤC ĐÍCH, YÊU CẦU: Sau kết thúc bài: - Hiểu được cấu trúc lặp với số lần chưa biết trước hay cấu trúc lặp kiểm tra điều kiện trước; - Biết cách vận dụng đúng đắn cấu trúc lặp này vào tình huống cụ thể; - Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp với số lần lặp chưa biết trước; - Viết đúng các lệnh lặp với số lần lặp chưa biết trước; - Viết được thuật toán của bài toán đơn giản sử dụng cấu trúc lặp trên. II. PHƯƠNG PHÁP, PHƯƠNG TIỆN: 1. Phương pháp: - Kết hợp kiến thức trong sgk và các kiến thức trong các sách tham khảo và các tư liệu khác (nếu có). Nếu nhà trường có máy chiếu, có thể chuẩn bị các slide để trình chiếu hoặc chạy thử đoạn chương trình để cả lớp cùng theo dõi. -Hình thức giảng dậy: thuyết trình, vấn đáp, phân tích và giải thích (nếu cần) 2. Phương tiện: - Sách giáo khoa tin học lớp 11; - Vở ghi lý thuyết và bài tập lớp 11; - Giáo án - Sách tham khảo và các trang thiết bị tin học như máy tính, máy chiếu (nếu có). III. Tiến trình lên lớp 1. ổn định lớp: (1 phút) Yêu cầu lớp trưởng ổn định lớp và báo cáo sĩ số. 2. Kiểm tra bài cũ: (4 phút) Câu hỏi: Cấu trúc lặp với số lần biết trước có mấy dạng ? Phân biệt hai dạng của cấu trúc lặp với số lần lăp biết trước ? Nêu những điều cần lưu ý đối với biến điều khiển ? 3. Gợi động cơ: (3 phút) Chúng ta đã được học một dạng của cấu trúc lặp đó là cấu trúc lặp với số lần biết trước. Cấu trúc này thể hiện qua câu lệnh for-do. Hôm nay chúng ta học dạng cấu trúc lặp còn lại đó là lặp với số lần chưa biết trước. Lặp với số lần chưa biết trước dùng trong trường hợp mà ta không biết trước số lần lặp nhưng ta biết trước một điều kiện để dừng công việc lặp đó. Vậy cấu trúc lặp này sử dụng cú pháp lặp như thế nào ? Có gì tương quan giữa cú pháp này với cú pháp của cấu trúc lặp Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 2 với số lần biết trước, ta có thể chuyển hóa giữa hai cấu trúc lặp hay không ? Các vấn đề này sẽ được chúng ta giải quyết trong tiết học hôm nay. 4. Nội dung bài học: Số thứ tự Nội dung Hoạt động của thầy và trò thời gian 1 Giới thiệu về cấu trúc lặp với số lần chưa biết trước: Có hai dạng: Dạng 1: trong khi <điều kiện> còn đúng thì còn thực hiện <công việc>; Dạng 2: Thực hiện <công việc> trong khi <điều kiện> đúng. Thuyết trình: Trong dạng 1: Đầu tiên kiểm tra và tính giá trị của điều kiện, nếu điều kiện đúng thì thực hiện công việc (một lần). Giá trị của điều kiện sẽ được thay đổi sau mỗi lần thực hiện công việc đến một lúc nào đó điều kiện lặp không còn đúng nữa thì cấu trúc lặp sẽ được kết thúc. Trong trường hợp cấu trúc lặp không làm thay đổi giá trị của điều kiện thì cấu trúc lặp sẽ kéo dài mãi mãi (vòng lặp vô hạn). Để thoát khỏi vòng lặp vô hạn, trong công việc cần có câu lệnh rẽ nhánh thoát khỏi vòng lặp vô hạn khi thoả mãn điều kiện rẽ nhánh. Trong dạng 2: Tiến hành ngược lại, công việc được thực hiện trước, sau đó mới kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện công việc, ngược lại kết thúc lặp. Trong công việc cần có lệnh thoát khỏi vòng lặp. Ở đây chúng ta chỉ nghiên cứu dạng lặp 1 5 phút 2 Cú pháp cấu trúc lặp với số lần chưa biết trước Thuyết trình: Câu lệnh sau từ khoá do được thực hiện khi biểu 5 phút Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 3 Trong Pascal, cú pháp của dạng 1 như sau: While <điều kiện> do <câu lệnh> trong đó điều kiện là biểu thức logic câu lệnh là một câu lệnh đơn hay ghép. Ta có sơ đồ biểu diễn như sau: thức điều kiện còn nhận giá trị true. Biểu thức điều kiện được tính giá trị trước khi câu lệnh được thực hiện, nếu biểu thức điều kiện đã nhận giá trị false ngay từ đầu thì câu lệnh chưa được thực hiện lần nào. Nếu biểu thức điều kiện luôn nhận giá trị true thì câu lệnh được thực hiện mãi, ta gọi là vòng lặp vô hạn. 3 Chương trình với cấu trúc lặp while-do: Chương trình: program tong_1b; uses crt; var s:real; a, N: integer; begin write(‘ hay nhap gia tri a vao’); readln(a); s:= 1.0/a; N:= 0; {bước 1} Yêu cầu học sinh: Đọc và tìm hiểu chương trình trong thời gian giáo viên viết chương trình lên bảng. Thuyết trình: Phân tích và giải thích các lệnh trong chương trình: Chương trình này xây dựng dựa trên thuật toán tong_1b với số lần lặp chưa biết trước nhưng biết trước được điều kiện dừng vòng lặp. Khi 1/(a + N)<0.0001 thì thực hiện lặp, còn ngược lại thì kết thúc lặp. Bước 1 của thuật toán: s:= 1.0/a; N:= 0; while not (1/(a + N)<0.0001) do Bước 2 của thuật toán. Với a được đưa vào từ bàn phím và N nhận giá trị ban đầu là 0, nếu kiểm tra điều kiện trên thoả mãn thì nó đi vào thực hiện các lệnh 7 phút Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 4 while not (1/(a + N)<0.0001) do {bước 2} Begin N:= N + 1; {bước 3} S:=S + 1.0/(a+N); {bước 4} End; Write (‘tong s la: ‘, S:8:4); {bước 5} Readln End. trong vòng lặp while-do: tăng N lên 1 (bước 3) và cộng vào tổng s một số hạng 1.0/(a+N) ( bước 4). Sau khi tính toán hoàn tất thì nó sẽ quay lên kiểm tra điều kiện. Nếu thoả mãn tiếp tục thực hiện. Còn ngược lại nó sẽ thoát khỏi vòng lặp. Với s, ban đầu được gán giá trị là 1.0/a. Khi vào vòng lặp while-do thì lần lượt được cộng thêm vào các số hạng dạng 1/(a+N) (N=1, 2, 3 ) và nó sẽ giữ giá trị thay đổi khi ra khỏi vòng while-do. Bước 5: Write (‘ tong s la:’, s:8:4); Đưa ra màn hình tổng s và kết thúc chương trình 4 Cấu trúc while-do và for-do Cấu trúc lặp while-do While <điều kiện> do <câu lệnh> Cấu trúc lặp for-do Dạng lặp tiến: For <biến đếm>:= <giá trị đầu > to < giá trị cuối > do < câu lệnh >; Dạng lặp lùi: For < biến đếm >:= <giá trị cuối > downto < giá trị đầu > do < câu lệnh >; Yêu cầu: Yêu cầu học sinh liên hệ hai cấu trúc này. Thuyết trình: Nhận thấy rằng cấu trúc for-do là dạng lặp với điều kiện cho trước nên số lần lặp là xác định, cố định . Ở cấu trúc này sử dụng biến đếm hay biến điều khiển để duy trì vòng lặp. Mỗi lần tăng hay giảm biến điều khiển là một lần thực hiện các lệnh trong vòng lặp. Quá trình lặp bắt đầu khi biến đếm nhận giá trị đầu và kết thúc khi nó nhận giá trị cuối.Và một điều cần lưu ý là giá trị của biến đếm trong vòng for tự điều 12 phút Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 5 chỉnh. Vì vậy câu lệnh viết sau do không được làm thay đổi giá trị biến đếm. Cấu trúc while-do chưa biết trước số lần lặp. Do đó nó có thể kết thúc vòng lặp bất cứ lúc nào điều kiện duy trì vòng lặp không còn thoả mãn. Nếu biểu thức điều kiện đã nhận giá trị false ngay từ đầu thì câu lệnh chưa được thực hiện lần nào. Tóm lại cả while-do và for-do đều là cú pháp xây dựng để thực hiện các thao tác lặp mang lại hiệu quả cao cho việc lập trình. Điểm khác nhau cơ bản giữa chúng : while-do thì số lần lặp chưa xác định trước nhưng biết trước điều kiện có thể dừng vòng lặp, còn lệnh for-do thì số lần lặp đã xác định, nó sử dụng biến đếm để duy trì vòng lặp, cứ mỗi lần biến đếm tăng là một lần các lệnh trong vòng lặp s được thực hiện, vòng lặp sẽ dừng lại khi nào biến đếm nhận giá trị cuối. Một câu hỏi đặt ra là liệu có thể chuyển từ cấu trúc lặp for-do về cấu trúc lặp while-do hoặc chuyển ngược lại không ? Yêu cầu học sinh trả lời. Phân tích và trả lời: Cấu trúc while-do là cấu trúc lặp không định trước số lần lặp nên không thể chuyển về cấu trúc lặp với số lần lặp đã biết trước. Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 6 Nhưng ngược lại thì ta có thể chuyển từ cấu trúc lặp với số lần lặp biết trước for-do về cấu trúc lặp while-do. Vi dụ: for i := m to n do S := S + i; chuyển về while-do: i := m; while (i >= m and i <= n) begin S := S+ i; i := i + 1; end; 5 Ví dụ 2: Hướng dẫn học sinh tìm hiểu ví dụ hoặc cũng có thể cho học sinh về nhà tìm hiểu, tiết học sau đó s kiểm tra. Ví dụ: UCLN của hai số nguyên dương m và n Chương trình thể hiện thuật toán tìm UCLN Program UCLN; Uses crt; Var m, n: integer; Begin Clrscr; Write (‘nhập vào m, n’); Readln (m, n); While m <> n do If m > n then m:= m - n; Else n := n - m; Writeln ( ‘ UCLN của hai so la:’, m); Readln End. Thuật toán: Bước 1: Nhập m, n; Bước 2: nếu m = n thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5; Bước 3: nếu m > n thì m m-n ngược lại n n - m; Bước 4: quay lại bước 2; Bước 5: Đưa ra kết quả trên màn hình. 2 phút IV. Củng cố bài học (3 phút) Giáo viên củng cố kiến thức của bài học: Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 7 - Nhắc lại cú pháp của dạng lặp với số lần chưa biết trước; - Nhấn mạnh tới sự liên hệ giữa cấu trúc while-do và cấu trúc for-do để giúp học sinh có cái nhìn tổng quan về cấu trúc lặp và có thể phân biệt được 2 cấu lặp này một cách rõ ràng hơn. Từ đó, có thể áp dụng các cấu trúc lặp vào các trường hợp phù hợp. V. Bài tập về nhà (1 phút) - Xem lại các ví dụ trong lớp - Các bài tập trong sách bài tập VI. Nhận xét của giáo viên về tiết học: (2 phút) - Ý thức học tập của lớp. - Hiệu quả học tập. - Rút kinh nghiệm sau tiết học. . Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 1 Cấu trúc lặp( tiết 3) I. MỤC ĐÍCH, YÊU CẦU: Sau kết thúc bài: - Hiểu được cấu trúc lặp với số lần chưa biết trước hay cấu trúc. (nếu cần) 2. Phương tiện: - Sách giáo khoa tin học lớp 11; - Vở ghi lý thuyết và bài tập lớp 11; - Giáo án - Sách tham khảo và các trang thiết bị tin học như máy tính, máy chiếu (nếu. 5: Đưa ra kết quả trên màn hình. 2 phút IV. Củng cố bài học (3 phút) Giáo viên củng cố kiến thức của bài học: Giáo án Tin Học 11 Phương Thị Chang – CNTT - ĐHSPHN 7 - Nhắc lại cú pháp

Ngày đăng: 11/08/2014, 06:21

Tài liệu cùng người dùng

Tài liệu liên quan