I. Mục tiêu
*Kiến thức:
- Biết nhu cầu cần có cấu trúc lặp trong biểu diễn thuật thuật toán.
- Hiểu đợc cấu trúc lặp với số lần biết trớc, cấu trúc lặp kiểm tra điều kiện trớc, câu lệnh ghép.
*Kĩ năng:
-Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể.
* Thái độ
- Yêu thích môn học, yêu thích lập trình II/ chuẩn bị
- Giáo viên: Giáo án, máy chiếu, câu hỏi, bài tập.
- Học sinh: Sách, vở, chuẩn bị bài.
III. tiến trình lên lớp
* Kiểm tra bài cũ.
Em hãy viết chơng trình tính tổng các số 1, 2, 3, 4, 5
* Bài mới
- Để máy tính thực hiện tính tổng của 100 số tự nhiên đầu tiên thì chúng ta phải ra lệnh cho máy bằng lệnh nào? Để trả lời cho câu hỏi trên chúng ta đi vào nghiên cứu bài học ngày hôm nay. Giáo viên ghi đầu bài lên bảng.
Hoạt động của giáo viên và học sinh Nội dung ghi bảng * Hoạt động 1: Các công việc phải
thực hiện nhiều lần.
?Hàng ngày chúng ta thờng phải làm một số việc lặp đi lặp lại một số lần, em hãy lấy ví dụ về một số việc hàng ngày em phải làm
- HS: mét em lÊy mét sè vÝ dô
- GV: Ghi ví dụ của học sinh lên bảng - HS: một em khác lấy thêm một số ví dô
? Qua những ví dụ các bạn vừa lấy ra trên bảng thì những công việc nào chúng ta đã biết trớc số lần lặp đi lặp lại và công việc nào chúng ta cha biết số lần lặp lại của nó?
- HS: Tách ví dụ thành hai loại (một loại đã biết trớc số lần lặp và một loại cha biêt số lần lặp )
1. Các công việc phải thực hiền nhiều lÇn
=> Để chỉ cho máy tính thực hiện đúng công việc, trong nhiều trờng hợp khi viết một chơng trình máy tính chúng ta cũng phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
VD1: Để tính 5 số tự nhiên đầu tiên ta có thÓ viÕt nh sau:
begin
I=0; Tong:=0;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
I:=i+1; Tong:=Tong+i;
- GV: Nhận xét và chốt lại. Readln; end.
* Hoạt động 2: Câu lệnh lặp - một lệnh thay cho nhiều lệnh
- HS: nghiên cứu ví dụ 1 SGK - 56,57.
- GV: ph©n tÝch vÝ dô 1.
- GV: Em hãy lên bảng vẽ cho cô 1 hình vuông?
- HS: lên bảng vẽ
- GV: Nhận xét và yc hs nêu cách vẽ - HS: Trả lời
- GV: Vởy để vẽ 3 hình vuông thì
công việc này lặp lại mấy lần?
- HS: Trả lời
- HS: Mô tả lại thuật toán, phân tích thuật toán.
- GV: gọi hs lên bảng trình bày thuật toán.
- HS: lên bảng
- GV: nhận xét, tổng kết - HS: Ghi bài
- HS: nghiên cứu ví dụ 2 SGK
- GV: Để tính tổng 5 số tự nhiên ta đã
tìn hiểu ở mục 1. vậy để tính tổng 100 số ta làm ntn?
- HS: Trả lời
- Gv: Công việc lặp lại bao nhiêu lần - HS: Trả lời
- GV: Một bạn lên bảng mô tả thuật toán.
- HS: lên bảng
- Gv: nhận xét, tổng kết - HS: ghi bài
- Gv: Qua hai ví dụ trên, các em hãy chỉ ra những công việc đợc lặp đi lặp lại?
-HS: Chỉ ra công việc lặp lại ở vd1 và vd2
- GV: KÕt luËn.
- HS: Ghi bài
2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
VD1: Vẽ 3 hình vuông giống nhau.
- thuật toán (SGK T56,57) VÝ dô 1:
- Bớc 1: Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
- Bớc 2: Nếu số hình vuông đã vẽ đợc ít hơn 3, di chuyển bút vẽ về bên phải 2
đơn vị và trở lại bớc 1. Ngợc lại kết thúc thuật toán.
*Thuật toán mô tả các bớc để vẽ hình vuông.
- Bíc 1: k:=0;
- Bíc 2: k:=k+1;
- Bớc 3: Nếu k < 4 thì trở lại bớc 2. Ngợc lại, kết thúc thuật toán.
VD2: Tính tổng của 100 số tự nhiên đầu tiên.
- thuật toán:
Ví dụ 2: Tính tổng 100 số tự nhiên đầu tiên.
+ Bíc 1: Sum:= 0; i:= 0;
+ Bíc 2: i:= i + 1;
+ Bíc 3: NÕu i <=100, th× Sum:= Sum + i và quay lại bớc 2.
+ Bớc 4: Thông báo kết quả và kết thúc thuật toán.
=> Kết luận: - Cách mô tả các hoạt động lặp trong thuật toán nh trong 2 ví dụ trên
đợc gọi là cấu trúc lặp.
- Mọi ngôn ngữ lập trình đều có “cách”
để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh. Đó là câu lệnh lặp.
* Hoạt động 3: Ví dụ về câu lệnh lặp
- GV: Trình bày cấu trúc vòng lặp For -...to...do..
3. Ví dụ về câu lệnh lặp
- Trong pascal câu lệnh lặp có dạng:
* Câu lệnh lặp dạng tiến:
- HS: Ghi cấu trúc vòng lặp vào vở.
- GV: Giải thích từng thành phần trong cấu trúc lệnh.
-HS: Nghe, ghi chÐp.
- GV: vận dụng câu lệnh viết vòng lặp cho ví dụ 1 phần 1
Var i, tong: integer;
Begin Tong:=0;
For i: = 1 to 5 do Tong:= tong + i;
Write(‘tong=’,tong);
Readln;
End.
For <biến đếm>:= <giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
- Trong đó: for, to, do là các từ khoá
- Biến đếm là biến đơn có kiểu nguyên (có thể là kiểu kí tự hoặc kiểu
đoạn con)
- Giá trị đầu, giá trị cuối là số cụ thể hoặc là biểu thức có kiểu cùng kiểu với biến đếm, giá trị cuối phải lớn hơn hoặc bằng giá trị đầu.
- Câu lệnh có thể là câu lệnh đơn hoặc câu lệnh kép.
- Câu lệnh sẽ đợc thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự
động tăng lên 1 đơn vị, tăng cho đến khi giá trị của biến đếm lớn hơn giá trị cuối thì vòng lặp đợc dừng lại.
IV/ TỔNG KẾT, ĐÁNH GIÁ
* Kiểm tra, đánh giá :
- GV nhấn mạnh để HS biết rằng để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trờng hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
- GV: yc hs làm bài tập sau
Các câu lệnh pascal sau có hợp lệ không vì sao?
a. For i:=100 to 1 do Write (‘A’); - sai biến đếm cuối nhỏ hơn biến đầu b. for i:=1.5 to 10.5 do writeln(‘A’);- sai biến đếm kiểu số thực
c. for i=1 to 10 do write(‘a’); - sai sau biến i phải là phép gán d. for i:=1 to 10 do; Write(‘A’); - sai sau do không có dấu ;
*HDVN:
- Học bài cũ.
- Làm bài tập 1,2,3,4 SGK/60+61.
- Xem trớc nội dung mục 3, 4 bài “Câu lệnh lặp”.
Ngày dạy: 08/01/2015