- Biết ngôn ngữ lập trình dùng cấu trúc 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.. - Hiểu hoạt động của câu lệnh lặp với số lần biết trớc for ….do tro
Trang 1Ngày dạy: Tại lớp 8A1; Ngày dạy: Tại lớp 9A1
Tiết 37: Bài 7 Câu lệnh lặp
I Mục tiêu bài học:
1 Kiến thức:
- Biết nhu cầu cần có câu lệnh lặp trong ngôn ngữ lập trình
- Biết ngôn ngữ lập trình dùng cấu trúc 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
- Hiểu hoạt động của câu lệnh lặp với số lần biết trớc for ….do trong pascal do trong pascal
2 Kỹ năng: Viết đúng đợc lệnh for ….do trong pascal.….do trong pascal.….do trong pascal do trong một số tình huống đơn giản
3.Thái độ: Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II Chuẩn bị của giáo viên và hoc sinh
1 Chuẩn bị của GV: - Giáo án, SGK, phòng máy, phần mềm pascal
2 Chuẩn bị của HS: - SGK, vở ghi, bút, phiếu học tập
III Hoạt động dạy và học
Lớp 8A1: / Vắng: Lớp 9A1: / Vắng:
Lớp 8A2: / Vắng: Lớp 9A2: / Vắng:
Lớp 8A3: / Vắng: Lớp 9A3: / Vắng:
1 Kiểm tra bài cũ ( Không)
2 Dạy nội dung bài mới.
Hoạt động 1 ( 8 phút)
Các công việc phải thực hiền nhiều lần
GV: Trong cuộc sống hằng ngày nhiều
mỗi ngời đều có các công việc riêng khác
nhau
? Em hãy lấy ví dụ về một số việc hàng
ngày của em
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 )
GV: Nhận xét và kết luận
1 Các công việc phải thực hiền nhiều lần
SGK Tr 56 Để chỉ dẫn 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
Hoạt động 2 ( 20 phút)
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, hớng dẫn viết thuật toán ví
dụ 1
? Để vẽ đợc nh hình 33 ta phải làm thao
tác nào
HS: Trả lời
? Để vẽ hình thứ 2 ta làm nh thế nào?
HS: Trả lời
GV: Tơng tự hình thứ 3 ta vẽ tơng tự
? Em hãy viết thuật toán mô tả vẽ hình 33
HS: Hoạt động độc lập 3 phút
Trả lời
2 Câu lện lặp - một lệnh thay cho nhiều lệnh
VD1: SGK Tr56 Thuật toán
Trang 2Nhận xét và bổ sung
GV: Kết luận và đa ra thuật toán
HS: Ghi bài
GV: Để vẽ một hình vuông ta làm thế
nào?
HS: Trả lời
GV: Mô tả bằng hình vẽ trên máy
Đa ra thuật toán vẽ hình vuông
HS: Chú ý ghi bài
GV: Cho HS nghiên cứu ví dụ 2
? Ví dụ 2 công việc gì đợc thực hiện nhiều
lần
HS: Trả lời
? 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
VD2: Tính tổng của 100 số tự nhiên
đầu tiên
Thuật toán: (đã nghiên cứu ở bài học
số 5)
- Cánh 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 ( 8 phút)
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
….do trong pascal.….do trong pascal ….do trong pascal.….do trong pascal
….do trong pascal.….do trong pascal.….do trong pascal.….do trong pascal
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: Chú ý, ghi bài
3 Củng cố và luyện tập (8 phút)
GV: Đa ra bài tập 4
HS đa ra phán đoán kết quả
? Dựa vào hoạt động vòng lặp em lãy liệt
kê cụ thể từng bớc và cho kết quả sau
từng bớc
HS: Hoạt động theo nhóm bàn trong 5
phút và trả lời
Nhận xét, bổ sung
GV: Kết luận
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:
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 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
Bài 4 SGK (Tr61)
Giá trị của j sau mỗi lần lặp sẽ đợc tăng thêm 2 đơn vị
2, 4, 6, 8, 10, 12
4 Hớng dẫn học sinh tự học nhà ( 1 phút)
2
Trang 3Häc kÜ lÝ thuyÕt môc 2 vµ cÊu tróc lÖnh lÆp For to do
Lµm bµi tËp 1,2,3,4,5 SGK Tr 60, 61
ViÕt ch¬ng tr×nh tÝnh tæng 100 sè tù nhiªn, N sè tù nhiªn ®Çu tiªn
§äc tríc bµi míi (vÝ dô 3,4 Môc 4), chuÈn bÞ phiÕu häc tËp, §DHT
Trang 4Ngày dạy: Tại lớp 8A1; Ngày dạy: Tại lớp 9A1
Tiết 38 Bài 7 Câu lệnh lặp (tiếp)
I Mục tiêu bài học:
1 Kiến thức:
- Hiểu hoạt động của câu lệnh lặp với số lần biết trớc for ….do trong pascal do trong pascal
- Hiểu cấu trúc câu lệnh ghép
2 Kỹ năng: Viết đúng đợc lệnh for ….do trong pascal.….do trong pascal.….do trong pascal do trong một số tình huống đơn giản Biết kết hợp câu lệnh ghép và câu lệnh lặp for ….do trong pascal.….do trong pascal.….do trong pascal.do vào giải quyết một số bài toán
3.Thái độ: Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II Chuẩn bị của giáo viên và hoc sinh
1 Chuẩn bị của GV: - Giáo án, SGK, phòng máy, phần mềm Pascal
2 Chuẩn bị của HS: - SGK, vở ghi, bút, phiếu học tập
III Hoạt động dạy và học
Lớp 8A1: / Vắng: Lớp 9A1: / Vắng:
Lớp 8A2: / Vắng: Lớp 9A2: / Vắng:
Lớp 8A3: / Vắng: Lớp 9A3: / Vắng:
Hoạt động của thầy và trò Nội dung ghi bảng
1 Kiểm tra bài cũ ( 5 phút)
? Em hãy viết câu lệnh For to do
Nêu hoạt động của vòng lặp
2 Dạy nội dung bài mới.
Hoạt động 1 (15 phút)
Ví dụ về câu lệnh lặp
GV: Cho HS nghiên cứu ví dụ 3
GV: Minh họa chơng trình của ví dụ 3
HS: Quan sát ghi bài
GV: Cho HS nghiên cứu ví dụ 4
? Để in ra chữ ‘O’ ta sử dụng lệnh nào
HS: Trả lời
Để in ra 20 chữ ‘O’ ta cần 20 câu lệnh
writeln(‘O’; Viết thế rất mất thời gian
? Em hãy sử dụng câu lệnh lặp để viết in
ra 20 chữ ‘O’
HS: Hoạt động theo bàn 2 phút rồi trả lời
câu hỏi
GV: Nhận xét, kết luận
Đa ra chơng trình minh họa
HS: Chú ý quan sát
- Cấu trúc của câu lệnh lặp:
For <biến đếm>:= <giá trị đầu> to <giá trị cuối>
do <câu lệnh>;
- 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 đi 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
Số lần lặp = giá trị cuối-giá trị đầu+1
=> for ….do trong pascal.do là cấu trúc lặp với số lần lặp biết trớc
3 Ví dụ về câu lệnh lặp (tiếp)
Ví dụ 3 (SGK Tr58) in ra màn hình thứ
tự lần lặp
Program lap; Var i: integer; Begin
For i:=1 to 10 do Writeln(‘day la lan lap thu’, i);
Readln;
End
- VD4 (SGKTr58) Viết chơng trình đa
ra màn hình những chữ “0” theo hình trứng rơi
Program trung_roi;
Uses crt;
Var i: integer; Begin
Clrscr;
For i:=1 to 10 do begin
Writeln(‘0’); delay(100);
end;
4
Trang 5End
- Tập hợp các câu lệnh con đợc đặt trong cặp từ khoá begin end; đợc gọi
là câu lệnh ghép
Hoạt động 2 ( 20 phút)
Tính tổng và tích bằng câu lệnh lặp
GV: Đa ví dụ 5 trên màn hình
Yêu cầu HS xem lại thuật toán tính tổng
vở VD 3 bài 5 Tr41
HS: 1 em lên bảng mô tả lại thuật toán
tính tổng ở VD5
HS: Nhận xét, bổ sung
GV và HS cùng xây dựng viết chơng
trình dựa vào thuật toán
Lu ý: kiểu số Longint
GV: Đa ra ví dụ 6 Hớng dẫn ví dụ6
Tổ chức Hs hoạt động cá nhân trong 3
phút Sau đó hoạt động theo nhóm nhỏ
làm ví dụ 6
HS: Hoạt động cá nhân sau đó hoạt động
nhóm thống nhất kết quả ( 7 phút)
Nhận xét, bổ sung
GV: Kết luận đa ra bài viết chơng trình
HS: Quan sát kết quả và ghi bài
3 Củng cố và luyện tập ( 2 phút)
Tóm tắt kiến thức trọng tâm đã học
HS đọc ghi nhớ SGK Tr60
4 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
(Chơng trình SGK)
Ví dụ 6 Tính day tha của N số tự nhiên
đầu tiên
(Chơng trình SGK)
4 Hớng dẫn học sinh tự học ở nhà (3 phút)
- Học lại bài về câu lệnh lặp For to do Xem lại các ví dụ SGK
Về nhà làm bài tập Tr 60-61.
Hớng dẫn làm bài:
Tính tổng các số chẵn của dãy số N và tính tổng các số lẻ
Gợi ý: Kiểm tra số đó là chẵn thì điều kiện IF N mod 2 =0 then S:=S+i;