1. Trang chủ
  2. » Trung học cơ sở - phổ thông

TIN 8 TUAN 26 TIET 49 50

7 7 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 20,05 KB

Nội dung

- Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thỏa mãn.. - Hiểu hoạt độn[r]

(1)Tuần: 26 Tiết: 49 Ngày soạn: 03/03/2013 Ngày dạy: 05/03/2013 Bài : LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I MỤC TIÊU: Kiến thức: - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước ngôn ngữ lập trình - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để dẫn máy tính thực lặp lặp lại công việc đến điều kiện nào đó thỏa mãn - Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while Pascal Kĩ năng: Viết đúng lệnh while số tình đơn giản Thái độ: Có ý thức tư duy, có thái độ ham học hỏi, tác phong làm việc nghiêm túc II CHUẨN BỊ: Giáo viên: SGK, giáo án, máy chiếu Học sinh: Đọc trước bài, SGK, đồ dùng học tập III TIẾN TRÌNH TIẾT DẠY: Ổn định tổ chức lớp : (1’) Kiểm tra bài cũ: (4’) Câu hỏi: ? Hãy cho biết đoạn chương trình in giá trị i, j, k là bao nhiêu ? J :=3 ;k :=4 ; For i :=1 to j :=j+1 ; K :=k+j ; Writeln(j,’ ‘,k,’ ‘, i) ; Trả lời: j = , k = 12, i = Bài mới: (37’) Hoạt động giáo viên Hoạt động học sinh Kiến thức ghi bảng Hoạt đông 1: Các hoạt động lặp với số lần chưa biết trước (20’) GV: Kể số hoạt động Hs: Ăn cơm ngày bữa, tính Các hoạt động lặp với số lặp lặp lại với số lần biết tổng 100 số tự nhiên đầu tiên lần chưa biết trước: trước? GV: VD: Tính tổng số tự nhiên * Ví du:Nhặt thóc, nhặt rau, từ đến 100, đánh răng, học bài cũ học… * Ví dụ 1: ? Nêu vài hoạt động với số Hs: Học bài không biết * Ví dụ 2: lần không biết trước nào thì thuộc * Sơ đồ: GV: Trong thực tế có nhiều hoạt động thực lặp lặp lại với số lần chưa biết ` trước VD: Nhặt thóc không biết nào thị nhặt xong VD: Bạn Long gọi cho bạn Sai (2) Trang mà không có nhấc máy Vậy bạn Long 10 phút gọi cho bạn Trang nhấc máy thì thôi Vậy bạn Long có biết trước gọi lần thì bạn Trang nhấc máy không? GV: Khi nào thì kết thúc hoạt động bạn Long gọi cho bạn Trang? GV: Hãy hình dung Trong <không có nhấc máy> thì < bạn Long mười phút lại gọi lần> < có người nhấc máy> VD2: Gv mời em đọc bài toán GV: Phân tích bài toán Phép cộng 1+2+3….n Cho đến S>1000 thì dừng lại và in kết S Gv: Yêu cầu học sinh mô tả thuật toán Đúng Hs: Không biết Hs: Khi có người nhấc máy Hs: đọc bài B1: S 0,n 0; B2: s<=1000, nn+1; Ngược lại chuyển tới bước 4; B3: S s + n và quay lại bước 2; Gv: Hoạt động này dừng lại B4: In kết quả: S và n là số tự điều kiện đó sai S>1000 thì nhiên nhỏ cho dừng lại S>1000 Kết thúc thuật toán Gv: Vẽ sơ đồ Sai Đúng Gv: Yêu cầu - HS vẽ sơ đồ theo bài toán trên Gv: Dựa vào VD trên giới thiệu câu lệnh có dạng lặp với số lần chưa biết trước Hs: Vẽ sơ đồ theo bài toán trên Sai (3) Đúng Hoạt động 2: Ví dụ lệnh lặp với số lần chưa biết trước (17’) Gv: Giới thiệu lệnh lặp với số Ví dụ lệnh lặp với số lần chưa biết trước lần chưa biết trước: Trong Pascal câu lệnh lặp với * Cú pháp: số lần chưa biết trước có dạng: While <điều kiện> <câu While <điều kiện> câu lệnh; lệnh>; Trong đó: điều kiện thường là - Trong đó: phép so sánh + Điều kiện thường là Câu lệnh có thể là câu lệnh đơn phép so sánh giản hay câu lệnh ghép + Câu lệnh có thể là câu lệnh Gv: Câu lệnh này thực Hs: Kiểm tra điều kiện đơn giản hay câu lệnh ghép nào? Nếu điều kiện đúng thực - Cách thức hoạt động: câu lệnh và quay lại bước Kiểm tra <điều kiện> 1, câu lệnh sai bị bỏ qua và Nếu <Điều kiện>Sai, câu việc thực lệnh kết thúc lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu VD3: Viết chương trình tính số <điều kiện> đúng, thực n nhỏ để 1/n nhỏ sai câu lệnh và quay lại bước số cho trước (Sai số=0.005); Hs: 1/n=0.005 ==> n= 200; Gv: Cho học sinh giải bài toán Hs: Input: sai số = 0.005>1/n Gv: Xác định bài toán Output: n B1: x=1,n=1 Gv: Mô tả thuật toán B2: x>= 0.005 thì nn+1; x1/n B3: in giá trị n; Program VD3; Gv: Viết chương trình sử dụng Uses crt; vòng lặp while Var x: real; Gv: Gợi ý cho - HS viết N:integer; Const saiso=0.005 Khai báo biến nào? Begin Clrsrcr; Khai báo hằng? X:=1;n:=1; While x>=saiso Begin Tại gán giá trị ban đầu là 1? N:=n+1;x:=1/n; Sử dụng lệnh while<điều kiện> End; <câu lênh> Writeln(‘ So n nhỏ để 1/n Tại lại bỏ begin end? nhỏ 0.005 là’, n); Nếu không bỏ begin Readln end thì điều gì xảy ra? End Gv: Chỉ thực lệnh n+1 và tượng lặp lặp lại mãi Hs: Tính phép tính n=1001 (4) Gv: Khi khai báo saiso=0.005, em thử thay saiso=0.001 thì n bao nhiêu? Củng cố: (2’) - Câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước - Cú pháp câu lệnh lặp chưa biết trước? Hướng dẫn nhà: (1’) - Làm bài tập SGK\T71, học bài - Tiếp tục xem trước Bài Rút kinh nghiệm: Tuần: 26 Tiết: 50 Ngày soạn: 04/03/2013 Ngày dạy: 08/03/2013 Bài : LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (t2) I MỤC TIÊU: Kiến thức: - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước ngôn ngữ lập trình - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để dẫn máy tính thực lặp lặp lại công việc đến điều kiện nào đó thỏa mãn - Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while Pascal Kĩ năng: Viết đúng lệnh while số tình đơn giản Thái độ: Có ý thức tư duy, có thái độ ham học hỏi, tác phong làm việc nghiêm túc II CHUẨN BỊ: (5) Giáo viên: SGK, giáo án, máy chiếu Học sinh: Đọc trước bài, SGK, đồ dùng học tập III TIẾN TRÌNH TIẾT DẠY: Ổn định tổ chức lớp : (1’) Kiểm tra bài cũ: (4’) Câu hỏi: Viết cú pháp lệnh lặp chưa biết trước? Giải thích, nêu cách thức hoạt động Trả lời: * Cú pháp: While <điều kiện> <câu lệnh>; - Trong đó: + Điều kiện thường là phép so sánh + Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép - Cách thức hoạt động: Kiểm tra <điều kiện> Nếu <Điều kiện>Sai, câu lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu <điều kiện> đúng, thực câu lệnh và quay lại bước Bài mới: (37’) Hoạt động giáo viên Hoạt động học sinh Kiến thức ghi bảng Hoạt động 1: Ví dụ lệnh lặp với số lần chưa biết trước (22’) VD4: Viết chương trình Ví dụ lệnh lặp với số tìm n để Tn <1000 lần chưa biết trước: Gv : Cho Hs xác định bài Hs: Xác định bài toán VD4: Viết chương trình tìm n toán * Xác định bài toán để Tn <1000 Input: Tổng n số <1000 * Xác định bài toán Gv?: Nhắc lại thuật toán Output: S, n Input: Tổng n số <1000 Hs: Mô tả thuật toán Output: S, n * Mô tả thuật toán * Mô tả thuật toán B1: S 0,n 0; B1: S 0,n 0; B2: s<=1000, nn+1; B2: s<=1000, nn+1; Ngược lại chuyển tới bước 4; Ngược lại chuyển tới bước 4; B3: S s + n và quay lại bước 2; B3: S s + n và quay lại bước B4: In kết quả: S và n là số tự 2; nhiên nhỏ cho S>1000 B4: In kết quả: S và n là số tự Kết thúc thuật toán nhiên nhỏ cho Gv: Gợi ý cho - Hs viết Hs: Suy nghĩ viết chương trình S>1000 Kết thúc thuật toán chương trình sử dụng vòng *Viết chương trình lặp while Program timn; Gv? Khai báo biến Hs: Biến S để chứa tổng và biến Uses crt; n là số tự nhiên nào? Var n,s: integer; Hs: S:= 0; n:=1; Gv? Ban đầu gán giá trị cho Begin s,n là bao nhiêu? S:=0;n:=0 Gv: Cho Hs lên bảng viết Hs: Lên bảng viết chương trình While s<=1000 chương hoàn chỉnh Begin Hs: Theo dõi Gv: Nhận xét sửa lại để S:=s+n; chương trình hoàn N:=n+1; chỉnh End; (6) Gv: Chạy chương trình Writeln(‘so n nho nhat de theo bước câu lệnh tong>1000 là:’,n); để - Hs hình dung Writeln(‘ tổng dau tiên>1000 Gv: Giải thích thêm cặp là:’,s); lệnh nằm Begin và End Readln VD5: Viết chương trình End tính tổng sau: VD5: Viết chương trình để T= 1+1/2+1/3….1/100 tính tổng T= 1+ 1/2+1/3 + + Gv: Gọi - HS lên viết Hs: Lên viết chương trình 1/100 chương trình sử dụng for * Nội dung chương trình: tinhtong; Gv: Mời Hs khác nhận xét Hs: Nhận xét Program tinhtong; Gv: Với bài toán này có thể Hs: Có thể sử dụng lệnh While Uses crt; dùng while để viết chương trình cho bài toán Var i,s: integer; không? này Begin Gv Gợi ý Hs: Chú ý theo dõi S:=0;i:=0 Gv: Cho Hs Viết chương Hs: Lập nhóm và viết chương While i<=100 trình theo nhóm (5’) trình begin Gv: Cho các nhóm trao đổi Hs: Trao đổi phiếu S:=s+1/I; phiếu học tập I:=i+1; Gv: Sửa chương trình Hs: Sửa bài nhóm bạn End; Gv: Nhận xét và cho điểm Writeln(‘tổng là:’,s); KL: có thể sử dụng câu lệnh Readln while thay cho câu End lệnh for Hoạt động 2: Lặp vô hạn lần – Lỗi lập trình cần tránh (15’) Gv: Cho ví dụ lặp không Lặp vô hạn lần – Lỗi lập ngừng và việc viết trình cần tránh: chương trình cần tránh vòng - Vòng lặp vô hạn là vòng lặp lặp không kết thúc không kết thúc *Ví dụ: * Nguyên nhân: Do điều kiện Var x: integer; sau While luôn đúng nên Begin câulệnh sau Do luôn X:=5; thực While x<7 writeln(‘Chao * Cách khắc phục: Muốn khắc ban’); phục thì câu lệnh sau Do End cần phải có câu lệnh làm cho Gv?: Phân tích các lệnh trên Hs: Phân tích ví dụ: Cho x ban điều kiện sau while dần đến đầu sai Khi x<5 thì viết chào bạn Nhưng x luôn < nên vòng lặp thực không kết thúc Lặp lặp lại vô hạn lần Gv: Giải thích lặp vô hạn VD: S:=0; i:=0; (7) While i<=100 S:=s+1/I; GV: Lấy ví dụ bài trên Thực vô hạn lần vì I lúc nào nhỏ 100 Củng cố: (2’) - Câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước Sử dụng câu lệnh lặp chưa biết trước vào các bài toán - Cú pháp câu lệnh lặp chưa biết trước? Lỗi lặp vô hạn lần Hướng dẫn nhà: (1’) - Làm bài tập SGK\T71 - Tiết sau tiết bài tập Rút kinh nghiệm: (8)

Ngày đăng: 24/06/2021, 00:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w