Thư Viện STEM STEAM BÀI TẬP I Mục đích 1 Kiến thức Củng cố các kiến thức câu lệnh lặp với số lần chưa biết trước 2 Kĩ năng Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước while do và vận dụ[.]
Trang 1
BÀI TẬP I.Mục đích
1 Kiến thức
Củng cố các kiến thức câu lệnh lặp với số lần chưa biết trước
2.Kĩ năng
Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước while…do và vận dụng vào các bài tập
3.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
1 Định hướng phát triển năng lực: năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng
lực sáng tạo, ứng dụng KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm
PHƯƠNG PHÁP:
Đặt và giải quyết vấn đề
II CHUẨN BỊ BÀI HỌC:
1 Giáo viên :
- SGK, tài liệu, Giáo án, bài tập
2 Học sinh :
- Làm bài tập trong SGK
IV Tiến trình tiết dạy
1 Hoạt động 1: Khởi động (5 phút)
Kiểm tra bài cũ (Kiểm tra trong quá trình làm bài tập)
2 Hoạt động 2: Hình thành kiến thức (30 phút)
HOẠT ĐÔNG CỦA GV VÀ HS Nội dung, yêu cầu cần đạt
Bài tập 3: Sgk\71
Viết chương trình pascal thể hiện các thuật
toán sau:
a/ Thuật toán 1:
B1:S 10, X0.5
B2: Nếu S< 5.2, chuyển tới bước 4
B3: SS-X và quay lại bước 2
B4: Thông báo S và kết thúc thuật toán
- Thuật toán này nó chạy bao nhiêu vòng lặp?
Thuật toán chạy 10 vòng lặp
*Thuật toán chạy như sau:
Hs: Trả lời
Trang 2GV: Yêu cầu học sinh viết chương trình
b) Thuật toán 2:
B1:S 10, X0
B2: Nếu S>10, chuyển tới bước 4
B3: nn = 3, : SS - n quay lại bước 2
B4: Thông báo S và kết thúc thuật toán
- Thuật toán này nó chạy bao nhiêu vòng lặp?
Thuật toán không thực hiện bước nào
Gv: giải thích
GV: Yêu cầu học sinh viết chương trình
Bài 4: SGK\T71
a Chương trình chạy như sau:
S:= 0; n:= 0;
While s<=10 do
Begin n:=n+1; s:=s+n end;
GV: Chương trình trên thực hiện bao nhiêu
vòng lăp?
GV: Gợi ý cho chạy vòng lặp
b Chương trình chạy như sau:
S:= 0; n:= 0;
While s<=10 do
n:=n+1; s:=s+n ;
GV: Cho học sinh chạy chương trình và xem
có bao nhiêu vòng lặp?
GV: Chạy chương trình và giải thích sau câu
lệnh lặp chỉ thực hiện lệnh n:=n+1 nên vòng
lặp vô hạn.
bởi vì sau câu lệnh n: = 2
HS: Viết chương trình S:=10; x:=0.5;
While s>5.2 do s:=s – x;
Write (s);
Hs: Trả lời
HS: Viết chương trình s:=10; n:= 0;
While s< 10 do Begin n:= n+3; s:=s- n;
end;
Writeln (s);
HS: Trả lời HS: Tiếp tục phân tích và chạy chương trình
HS: Chạy chương trình trên giấy nháp
Trang 3n+1; câu lệnh lặp kết thúc nên điều kiện s=0 luôn luôn thoã mãn
3
4
…
N thực hiện vô tận
GV: Từ 2 ví dụ trên em có nhận xét gì?
GV: Nhận xét và đưa ra kết luận
Bài 5 :T\71 : Hãy chỉ ra lỗi trong các câu lệnh
sau đây :
a x : =10 ; while x :=10 do x := x +
5
b x :=10 ; while x = 10 do x := x +
5
c s :=0 ;n :=0 ; while s<=10 do
n :=n+1 ; s :=s+n ;
Bài tập 6: Cho đoạn chương trình sau hãy xác
định chương trình có bao nhiêu vòng lặp và kết
quả cuối cùng (j,k) bằng bao nhiêu?
J:=1; k:=2;i:=0;
While i<5 do
Begin
I:=i+1;
J:=J+1;
K:=K+J;
End;
Writeln(j,k);
Nếu chương trình như sau thì cuối cùng kết
quả (j,k) bằng bao nhiêu?
J:=1; k:=2;
While i<5 do
I:=i+1;
HS: Trong câu a thì 2 lệnh n:=n+1 và s:=s+n nằm trong begin end nên thực hiện 2 lệnh trên cùng lúc
Trong câu b 2 lệnh không nằm trong begin end nên chỉ thực hiện lệnh sau điều kiện
a Sai vì x:=10 đúng phải là x=10;
b Sai vì x=x+5 đúng x:=x+5
c Sai vì vòng lặp sẽ vô hạn gây treo máy
HS: Phân tích vòng lặp trên giấy
HS: vẽ bảng phân tích và lên bảng làm bài
- S
3.Hoạt động 3: Luyện tập, vận dụng, mở rộng (10 phút)
- Sử dụng While … do cho các chương trình llặp với số lần chưa biết trước
- Câu lệnh kép nằm trong Begin…end
Dặn dò:
Trang 4- Xác định được chương trình có bao nhiêu vòng lặp
- Soạn bài TH6 – Chạy chương trình
VI Rút kinh nghiệm
………
………