Giáo án Tin học 8 theo công văn 5512Tuần 22, 23, 24 – Tiết 44, 45, 46, 47Ngày soạn: Ngày dạy: TÊN BÀI DẠY: BÀI 7: CÂU LỆNH LẶP Thời gian dự tính thực hiện: (4 tiết)I. Mục tiêu1. Kiến thức: Biết nhu cầu cần có cấu trúc 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ệnh. Hiểu hoạt động của câu lệnh lặp For …to … do…. Trong Pascal Hiểu lệnh ghép. Mô hình hóa các tình huống thực tiễn xảy ra lặp đi lặp lạitheolệnh lặpFor … Do trong tin học. Diễn tả thuật toán lặp với số lần biết trước trên ngôn ngữ lập trình. Biết sử dụng đúng For…Do trong một số tình huống đơn giản.2. Năng lực: Năng lực tự học. Năng lực giải quyết vấn đề. Viết được câu lệnh lặp với số lần biết trước trong một số tình huống đơn giản. 3. Phẩm chất Có trách nhiệm với việc học, rèn luyện nếp học chủ động, cộng tác, tích cực tư duy, tự giác học tập.
Trang 1Tuần 22, 23, 24 – Tiết 44, 45, 46, 47
Ngày soạn:
Ngày dạy:
TÊN BÀI DẠY: BÀI 7: CÂU LỆNH LẶP
Thời gian dự tính thực hiện: (4 tiết)
I Mục tiêu
1 Kiến thức:
- Biết nhu cầu cần có cấu trúc 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ệnh
- Hiểu hoạt động của câu lệnh lặp For …to … do… Trong Pascal
- Hiểu lệnh ghép
- Mô hình hóa các tình huống thực tiễn xảy ra lặp đi lặp lạitheolệnh lặpFor …
Do trong tin học
- Diễn tả thuật toán lặp với số lần biết trước trên ngôn ngữ lập trình
- Biết sử dụng đúng For…Do trong một số tình huống đơn giản
2 Năng lực:
- Năng lực tự học
- Năng lực giải quyết vấn đề.
- Viết được câu lệnh lặp với số lần biết trước trong một số tình huống đơn giản
3 Phẩm chất
- Có trách nhiệm với việc học, rèn luyện nếp học chủ động, cộng tác, tích cực tư duy, tự giác học tập
II Thiết bị dạy học và học liệu
- Giáo viên: Giáo án, sách giáo khoa, phiếu học tập, bài tập
- Học sinh: Đồ dùng học tập
III Tiến trình dạy học
Tiết 44
Hoạt động 1: Hoạt động khởi động (10 phút)
a) Mục tiêu: HS biết được các nội dung của bài học, tạo tâm thế cho học sinh
đi vào tìm hiểu bài mới
b) Nội dung: Học sinh đọc sách giáo khoa, kết hợp liên tưởng đến cuộc sống
hàng ngày để lấy được các ví dụ về hoạt động lặp
Trang 2c) Sản phẩm: Một số ví dụ về hoạt động lặp được trong cuộc sống
d)Tổ chức thực hiện:
* Gv giao nhiệm vụ cho HS:
- Yêu cầu đọc thông tin phần đầu của
bài, trả lời câu hỏi SGK/ tr55
* Gv quan sát Hs làm việc; kịp thời phát
hiện những khó khăn, vướng mắc và trợ
giúp, hướng dẫn Hs nếu cần
* Gv nhận xét câu trả lời của HS
+ Hs tiếp nhận và thực hiện nhiệm vụ được giao:
- Đọc thông tin, trả lời câu hỏi trong SGK
+ HS làm việc các nhân, trả lời câu hỏi khi giáo viên yêu cầu
+ Hs hoàn thành – hoàn thiện sản phẩm của mình
2 Hoạt động 2: Hình thành kiến thức mới
Hoạt động: Tìm hiểu mục 1 Câu lệnh lặp – một lệnh thay cho nhiều lệnh (35 phút)
a) Mục tiêu
- Biết nhu cầu cần có cấu trúc 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ệnh
b) Nội dung: Học sinh đọc sách giáo khoa, đọc các ví dụ, thảo luận nhóm, tự
học, hoàn thành phiếu học tập
c) Sản phẩm:
- Nêu được các ví dụ về hoạt động lặp với số lần biết trước trong cuộc sống và trong lập trình
d)Tổ chức thực hiện:
Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng
*GV chuyển giao nhiệm
vụ học tập:
YC HS làm bài tập 1/PHT
theo nhóm trong 4 phút
Quan sát các nhóm làm
việc
Gọi học sinh lên trình
bày.Yêu cầu các nhóm
khác nhận xét
Giáo viên nhận xét và chốt
ý
*Yêu cầu học sinh tự
HS tiếp nhận nhiệm vụ
Thảo luận nhóm và trả lời câu hỏi của GV
HS Trình bày, bổ sung các hạn chế
HS ghi nhận kiến thức Nghiên cứu SGK và trả lời
1 Câu lệnh lặp - một lệnh thay cho nhiều lệnh:
a) Một số VD về hoạt động lặp:
VD1: Đánh răng mỗi ngày 2 lần, ăn cơm ngày
3 bữa,
-Học bài đến khi thuộc bài, nhặt rau cho đến khi xong,…
VD2: Vd1/SGK VD3: Vd3,vd5/SGK
Trang 3nghiên cứu ví dụ 1
SGK/55 và cho biết:
+Việc vẽ hình có thể thực
hiện theo thuật toán nào?
+Thao tác nào được lặp lại
nhiều lần?
Yêu cầu hs thảo luận
nhóm và điền vào chỗ
trống để có thuật toán vẽ
một hình vuông
- Gọi học sinh lên trình
bày
- Yêu cầu các nhóm khác
nhận xét
- Giáo viên nhận xét và
chốt ý
*GV yêu cầu HS đọc lại
vd3, bài 5 sgk/41
*GV yêu cầu HS nghiên
cứu VD2 sgk/56 và cho
biết:
- Hoạt động chính khi giải
bài toán này là thực hiện
phép tính gì và thực hiện
như thế nào?
Biến nào được sử dụng
như là biến đếm để lưu
các số 1,2,3,…,100
GV chốt lại kiến thức
Hs thảo luận nhóm vào điền vào phiếu học tập
Trình bày, bổ sung các hạn chế
Nghiên cứu SGK và trả lời:
Hoạt động chính khi giải bài toán này là thực hiện phép cộng
Cộng thêm vào SUM lần lượt các gía trị 1,2,3, ,100
Nghĩa là chỉ có 1 thao tác cộng được thực hiện lặp đi lặp lại 100 lần
Biến được sử dụng đểlàm biến đếm là i
HS ghi nhận KT
b Cấu trúc lặp:
+Cách mô tả các hoạt động lặp trong thuật toán như 2 vd trên gọi là cấu trúc lặp
+Mọi ngôn ngữ lập trình đều có cá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
PHIẾU HỌC TẬP Bài tập 1:
+Hàng ngày, có những hoạt động nào mà em thường thực hiện lặp lại với một số lần nhất định và biết trước?
+Hàng ngày, có những hoạt động nào mà em thường thực hiện lặp lại với một số lần không thể xác định trước?
……….
Trang 4Tiết 46
……….
Hoạt động: Tìm hiểu mục 2 Cấu trúc lặp For …do (45 phút)
a) Mục tiêu
- Hiểu hoạt động của câu lệnh lặp For …to … do…
- Hiểu lệnh ghép
b) Nội dung: Học sinh đọc sách giáo khoa, làm việc độc lập, thảo luận nhóm,
hoàn thành phiếu học tập
c) Sản phẩm:
- Viết được cú pháp câu lệnh for…do
- Nêu được hoạt động câu lệnh for…do
- Viết được câu lệnh lặp với số lần biết trước trong một số tình huống đơn giản
d)Tổ chức thực hiện:
*Giao nhiệm vụ:
Yêu cầu HS đọc phần 2
sgk/56 để trả lời các câu
hỏi sau:
- Hãy viết cú pháp câu
lệnh for…do trong
Pascal?
- Giải thích các từ trong
câu lệnh
- Cho vd
- Nêu cách câu lệnh được
thực hiện
- Số vòng lặp được tính
bằng công thức nào?
- Câu lệnh trong vòng lặp
có được thay đổi giá trị
của biến đếm không?
- Gọi học sinh lên trình
bày
- Yêu cầu các nhóm khác
nhận xét
- Giáo viên nhận xét và
chốt ý
*GV cho HS gõ vd3, vd4
sgk/57 trên máy
GV yêu cầu HS giải thích
từng câu lệnh trong vd3
Đọc SGK và viết cú pháp vào phiếu học tập
Thảo luận nhóm và trả lời vào phiếu học tập các hoạt động lặp lại với số lần không thể xác định trước
Trình bày, bổ sung các hạn chế
2 câu lệnh
HS ghi nhận kiến thức
HS nghiên cứu VD
HS trình bày
HS tiếp nhận kiến thức
2 Câu lệnh lặp For…do:
a Cú pháp:
- Cú pháp: 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ừ khóa Biến đếm: là biến kiểu nguyên
Giá trị đầu, giá trị cuối: là các giá trị nguyên
b Ví dụ:
For i:=1 to 10 do writeln(‘o’);
- Cách thực hiện : Ban đầu biến đếm nhận giá trị đầu, sau mỗi vòng lặp biến đếm
tự động tăng thêm 1 đơn vị cho đến khi bằng giá trị cuối
Trang 5GV chốt lại kiến thức
Yêu cầu học sinh làm
phần 2 của phiếu học
tập
- Cách tính số vòng lặp :
<GT cuối> - <GT đầu> + 1
Phụ lục PHIẾU HỌC TẬP Bài tập 2: Em hãy trả lời các câu hỏi sau:
a) Hãy viết cú pháp câu lệnh for…do trong Pascal?
b) Giải thích các từ trong câu lệnh
c) Nêu cách câu lệnh được thực hiện
d) Số vòng lặp được tính bằng công thức nào?
e) Câu lệnh trong vòng lặp có được thay đổi giá trị của biến đếm không?
……….
Tiết 47
……… Hoạt động: Luyện tập
Tính tổng và tích bằng câu lệnh lặp (45 phút).
a) Mục tiêu: Hiểu cách sử dụng câu lệnh lặp For…Do để tính tổng và tích các
số tự nhiên từ 1 đến N (N được nhập vào từ bàn phím)
b) Nội dung: HS nghiên cưú SGK, làm việc độc thực hiện các yêu cầu của GV,
trả lời các câu hỏi mà GV nêu ra; Thảo luận nhóm cách viết chương trình có sử dụng câu lệnh For do
c) Sản phẩm:
- 2 chương trình tính tổng và tích có sử dụng lệnh lặp For Do
- Viết chương trình tương tự sử dụng câu lệnh For … Do
Hoạt động của GV Hoạt động của HS Nội dung ghi bảng
GV đặt vấn đề:
*Viếtchương trình tính tổng
các số tự nhiên đầu tiêntừ 1
đến N (N được nhậpvào từ
bàn phím)
Phải giảiquyết những việc gì
trong bài toán này?
Nêu thuật toán tính tổng
Nhập số N rồi tính tổng 1+2+3+…+N
Bước 1: Sum 0; i 0 Bước 2: i i+1
Bước 3: Nếu i≤N,thì Sum Sum+i và quay lại bước 2 Bước 4: Thông
Ví dụ 5:Viết chương trình tính tổng của N số tự nhiên đầu tiên từ 1
Program Tinh_tổng; Var N,i:Integer;
S:Longint; Begin Write(‘nhap so N=’); Readln(N);
S:=0;
Trang 6N số tự nhiên đầu tiên?
Thuật toán kết thúc khi nào?
Vậy bước nào trong thuật
toán trên lặp lại? Lặp bao
nhiêu lần?
Yêu cầu HS đọc SGK và
thảo luận tham khảo chương
trình tính tổng trên?
Yêu cầu HS chia sẻ kết quả
thảo luận
Lưu ý: Số N tuỳ ý nên tổng
S rất lớn ta phải khai báo S
là longint Longint có phạm
vi từ -231 đến 231-1
*Tương tự chương trình trên
yêu cầu HS thảo luận nhóm
viết chương trình tính N!
=1.2.3…N (N nhập từ bàn
phím)
Yêu cầu nhóm lên trình bày
kết quả thảo luận
GV sửa bài theo nhóm
GV chốt kiến thức
báo kết quả và kết thúc thuật toán
Khi i>N
Bước 2 và 3 lặp N lần từ
1 đến N
HS thảo luận chương trình tính tổng Từ 1 đến
N
HS thảo luận nhóm viết chương trình
HS ghi nhận kiến thức
For i:=1 to N do S:=S+i;
Writeln(‘Tong cua ’,N,’
so tu nhien dau tien S=’,S);
Readln;
End
Lưu ý: Longint có phạm
vi từ -231 đến 231-1
Ví dụ 6: viết chương trình tính N!=1.2.3…N
Program Tinh_giai_thua; Var N, i : Integer;
P : Longint;
Begin Write(‘N=’);
Readln(N);
P:=1;
For i:=1 to N do P:=P*i;
Writeln(‘N!=’,P);
Readln;
End
Hoạt động: Vận dụng
1.Mục tiêu: Phát triển năng lực cho HS nhận diện được câu lệnh lặp, phát hiện những
bài dạng toán có thể sử dụng câu lệnh lặp, phân tích và xây dựng được chương trình
có liên quan đến hoạt động lặp
2 Nội dung: Trả lời câu hỏi, Làm các bài tập theo yêu cầu
3 Sản phẩm: Câu trả lời của HS trước lớp, bài làm của HS trong vở
4 Tổ chức thực hiện:
+ Trả lời các câu hỏi
- Trong câu lệnh lặp For … Do có thể biết trước được số lần lặp không?
- Em có thể ứng dụng câu lệnh lặp để giải quyết bài toán nào?
+ Giao việc về nhà thực hiện
Trang 7- Xem lại cú pháp câu lệnh lặp For … Do và cách thực hiện câu lệnh này, vận dụng các kiến thức đã học làm các bài tập SGK chuẩn bị tiết sau sửa bài tập