1. MỤC TIÊU
1.1. Kiến thức:
- HS biết:
HS biết nhu cầu có cấu trúc lệnh lặp trong ngôn ngữ lập trình.
HS biết ngôn ngữ lập trình dùng cấu trúc lệnh lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần.
- HS hiểu:
Hiểu hoạt động của câu lệnh lặp với một số lần biết trước for .do trong Pascal.
1.2. Kỉ năng:
Viết câu lệnh lặp để viết chương trình.
1.3. Thái độ:
Học tập nghiêm túc.
2. TRỌNG TÂM
- Các công việc phải thực hiện nhiều lần.
- Câu lệnh lặp – một lệnh thay cho nhiều lệnh.
Bài 7 – Tiết 37,38 Tuần dạy: 20 CÂU LỆNH LẶP 1. MỤC TIÊU 1.1. Kiến thức: - HS biết: HS biết nhu cầu có cấu trúc lệnh lặp trong ngôn ngữ lập trình. HS biết ngôn ngữ lập trình dùng cấu trúc lệnh lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. - HS hiểu: Hiểu hoạt động của câu lệnh lặp với một số lần biết trước for ...do trong Pascal. 1.2. Kỉ năng: Viết câu lệnh lặp để viết chương trình. 1.3. Thái độ: Học tập nghiêm túc. 2. TRỌNG TÂM Các công việc phải thực hiện nhiều lần. Câu lệnh lặp – một lệnh thay cho nhiều lệnh. 3. CHUẨN BỊ 3.1. Giáo viên : Máy chiếu, phòng máy 3.2. Học sinh : - Kiến thức đã học. - SGK, Đồ dùng học tập 4. TIẾN TRÌNH 4.1. Ổn định tổ chức và kiểm diện: Lớp 8a1: Lớp 8a2: 4.2. Kiểm tra miệng:không 4.3. Bài mới: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG BÀI HỌC Hđ1: Các công việc phải thực hiện nhiều lần: - GV đặt vấn đề như SGK ? Có những công việc nào thường lặp đi lặp lai mà em biết ? - HS lắng nghe - HS lấy các ví dụ. Hđ2: Câu lệnh lặp - một lệnh thay cho nhiều lệnh: - GV lấy ví dụ 1 và 2 để HS hiểu hơn về việc dùng một lệnh thay cho nhiều lệnh. VD1: Vẽ hình vuông ? Vẽ một hình vuông ta cần vẽ những yếu tố nào ? - GV phân tích như ở SGK VD2: Tính tổng của 100 số tự nhiên đầu tiên S=1+2+3+ ................ + 100 Hđ3: Ví dụ về câu lệnh lặp: ? Cú pháp của câu lệnh lặp như thế nào ? VD3: ? Hãy giải thích câu lệnh sau: for i:=1 to 10 do writeln('day la vong lap thu', i); VD4: Hay giải thích câu lệnh sau: for i:=1 to 20 do begin writeln('O'); delay(100); end. - Khi viết chương trình máy tính cũng vậy, để chỉ dẫn cho máy tính thực hiện các công việc có những trường hợp ta cũng phải viết lặp đi lặp lại nhiều lần một phép tính nhất định. - Thay vì viết 4 lệnh giống nhau ta có thể chỉ viết 1 lệnh sau đó cho lệnh đó lặp lai 4 lần. - Khi gặp câu lệnh trên, câu lệnh được bắt đầu với giá trị của biến đếm bằng giá trị đầu. Sau đó giá trị biến đếm tăng dần 1 đơn vị từ giá trị đầu đến giá trị cuối và mỗi giá trị của biến đếm câu lệnh được thực hiện 1 lần cho đến khi biến đếm vượt quá giá trị cuối cùng thì kết thúc. - Vẽ 4 cạnh bằng nhau Dạng tiến: for : = to do ; Dạng lùi: for : = downto do ; Với i =1 thì viết ra: day la vong lap thu 1 i = 2 thì viết ra: day la vong lap thu 2 .................................. i = 10 thì viết: day la vong lap th 10. - Với mỗi giá trị của i thì thực hiện hai lệnh: viết ra O và dừng lại 100 giây Tiết 38 - Hđ4: Câu lệnh ghép: GV yêu cầu HS nghiên cứu ví dụ 4/SGK ? Em hãy cho biết trong vòng lặp for ... do ở ví dụ này gồm có mấy câu lệnh ? ? Chương trình này có gì khác so với chương trình ở ví dụ 3 ? Hđ5: Tính tổng và tích bằng câu lệnh lặp: Ví dụ 5: Tính tổng của N số tự nhiên đầu tiên (N được nhập vào từ bàn phím) - GV yêu cầu HS viết chương trình đến đoạn nhập vào số N ? Muốn tính tổng của N số tự nhiên đầu tiên ta làm thế nào ? ? Vậy ta phải dùng những câu lệnh nào? - GV giải thích và trình bày cách dùng câu lệnh lặp foe .. do để thay thế cho các câu lệnh giống nhau mà HS đa nêu. Ví dụ 6: Tính tích của N số tự nhiên đầu tiên. - GV hướng dẫn HS làm tương tự ví dụ 5 - Hs giải thích câu lệnh lặp trong chương trình - Có hai câu lệnh - Có 2 cặp từ khóa begin ... end - Hai câu lệnh của vòng lặp for .. do được đặt trong hai từ khóa begin ... end được gọi là câu lệnh ghép. - Trường hợp này sau từ khóa end vẫn dùng dấu chấm phẩy. program tinhtong; Uses crt; Var N, i, S: Integer; Begin Writeln('Nhap vao so N: '); Readln(N); - HS trình bày thuật toán. - HS nêu các câu lệnh S:= 0; for i:=1 to N do S:= S + i; writeln('Tong cua ',N, 'so tu nhien dau tien la:'); Readln; End. progam giaithua; Var i,N,P: Integer; begin writeln('N = '); Readln(N); P:= 1; for i:= 1 to N do P:= P*i ; writeln(N,'! = ',P); Readln; End. 4.4. Câu hỏi, bài tập củng cố: - Câu 1: Trình bày cú pháp của câu lệnh lặp? - Đáp án câu 1: Dạng tiến: for : = to do ; Dạng lùi: for : = downto do ; 4.5. Hướng dẫn học sinh tự học: - Đối với bài học ở tiết này: Học bài cũ Nắm chắc cú pháp của lệnh lặp Làm bài tập 3, 4, 5?SGK - Đối với bài học ở tiết tiếp theo: Chuẩn bị cho hai tiết bài tập. 5. RÚT KINH NGHIỆM
Tài liệu đính kèm: