Bài thực hành 6: Sử dụng lệnh lặp While … do I./ Mụcđích yêu cầu: - Về kiến thức: + Hs hiểu được câu lệnh lặp While …do trong chương trình - Về kỹ năng: + Hs biết lựa chọn câu lệnh lặp w[r]
Trang 1Tuần 23 Ngày soạn:
Bài thực hành 6: Sử dụng lệnh lặp While … do
I./ Mụcđích yêu cầu:
- Về kiến thức:
+ Hs hiểu được câu lệnh lặp While …do trong chương trình
- Về kỹ năng:
+ Hs biết lựa chọn câu lệnh lặp while … do hoặc for … do
+ Hs rèn luyện kỹ năng về khai báo, sử dụng biến, đọc hiểu chương trình, chạy bằng tay các bước lặp cho đến khi điều kiện khơng cịn thỏa
+ Hs biết vai trị của việc kết hợp các cấu trúc điều khiển
- Về thái độ: Tích cực thảo luận, phát biểu và rèn luyện thái độ cẩn thận khi viết chương trình
II./ Phương pháp,phương tiện:
- Phương pháp thuyết trình, vấn đáp, thảo luận, nêu vấn đề
- Máy chiếu Projector, máy vi tính
III./ Lưu ý sư phạm:
IV./ Hoạt động dạy học:
Hoạt động của giáo viên Hoạt động của HS Nội dung bài học
HĐ1: Kiểm tra bài cũ (5 phút)
-GV: Gọi 2 hs lên hỏi
“Viết lại cú pháp của câu lệnh while
…do và for … do ? Giải thích các thành
phần trong câu lệnh?”
-GV nhận xét và cho điểm
HĐ2: Hoạt động thực hành bài tập 1
-GV: Chia lớp thành 8 nhĩm, phân cơng
nhĩm trưởng, yêu cầu hs tổ chức thực
hành các nội dung bài tập1,2/sgk72,73
-GV: Gọi hs đọc đề bài 1/sgk72 và nêu
yêu cầu của bài tốn
-GV đặt câu hỏi
+ Làm thế nào để tính trung bình n số
thực x1,x2,…,xn?
+ Dữ liệu đầu vào (input) của bài tốn là
gì ?
+ Dữ liệu đầu ra (output) của bài tốn là
gì?
-GV gọi 2 hs nêu thuật tốn đã chuẩn bị
-Hs1,2 lên trả lời
Bài tập1/sgk72 Bước 1:
-Nhập n là số lượng số thực sẽ được nhập từ bàn phím
-Gán biến đếm = 0 (dem 0) -Gán tổng bằng 0 (sum0)
Bước 2: Trong khi dem <n thì
+ Nhập giá trị số thực x từ bàn phím
+ Cộng thêm x vào tổng sum: sumsum+x
+Tăng biến đếm lên 1 đơn vị: demdem+1
Bước 3: Tính trung bình dãy
số vừa nhập TBsum/n
Bước 4: Đưa TB ra màn hình,
kết thúc thuật tốn
Trang 2-GV nhận xét và đưa ra thuật toán
-GV: Dựa vào thuật toán ở trên theo em
cần khai báo những biến gì cho chương
trình bài toán ? Các biến đó có kiểu dữ
liệu gì ?
-GV kết luận và đưa ra chương trình
như sgk, yêu cầu hs đọc và tìm hiểu ý
nghĩa từng câu lệnh
-GV mô phỏng hoạt động chính của
chương trình với n=3
+ Trước khi bắt đầu vòng lặp
while…do: dem=0, TB=0, n=3
+Bắt đầu vòng lặp while …do
Sai
+Kết thúc vòng lặp while …do:
TB=45/3=15
-GV yêu cầu hs hoạt động theo nhóm
thảo luận một số yêu cầu sau
+ Gõ và lưu chương trình với tên
TinhTB
+ Dịch sửa lỗi nếu có, chạy chương
trình với dữ liệu tùy ý để kiểm tra kết
quả nhận được
+ Thử viết lại chương trình bằng cách
sử dụng câu lệnh for … do thay cho câu
lệnh while …do
-GV nhận xét các nhóm
Qua các bài học về câu lệnh lặp, khi nào
ta thường dùng câu lệnh for …do? Khi
nào ta thường dùng câu lệnh while
…do?
-GV lưu ý “Một số chương trình không
thể sử dụng câu lệnh for …do thay thế
câu lệnh while …do được.Về cơ bản
tình huống sử dụng câu lệnh là khác
nhau While …do thích hợp hơn với
trường hợp lặp với số lần biết trước, for
…do thích hợp hơn với số lần lặp biết
trước
HĐ3: Hoạt động thực hành bài tập 2
-Hs trả lời
-Hs làm việc theo nhóm, đại diện trả lời
-Hs trả lời
Trang 3-GV: Gọi một hs đọc đề bài và nêu yêu
cầu của đề bài
-GV: Số nguyên tố có tính chất gì ?Hãy
nêu input và output của bài toán?
-GV: Làm thế nào để kiểm tra n có là số
nguyên tố hay không ?
-GV: Để kiểm tra n có là số nguyên tố
hay không ta đi kiểm tra xem n có chia
hết cho 2 đến n-1 không Nếu n không
chia hết cho số nào trong khoảng từ 2
đến n-1 thỉ n là số nguyên tố, ngược lại
n chia hết cho bất kỳ một số nào trong
khoảng từ 2 đến n-1 thì n không là số
nguyên tố
-GV: Làm thế nào để kiểm tra tính chia
hết?
-GV: Hướng dẫn hs kiểm tra tính chia
hết qua việc sử dụng phép chia lấy phần
dư mod
-GV: Lấy ví dụ minh hoạ cho ý tưởng,
muốn kiểm tra 7 có là số nguyên tố hay
không ta làm như sau
+ Xét các số từ 2 đến 6
7 mod 2=1; 7 mod 3=1,7 mod 4=3
7 mod 5=2; 7 mod 6=1
+ Ta thấy 7 không chia hết cho bất kỳ
số nào từ 2 đến 6 nên 7 là số nguyên tố
-GV: Đưa ra thuật toán
-GV: Yêu cầu hs hoạt động nhóm đề
thực hiện yêu cầu sau
+ Đọc và tìm hiểu ý nghĩa từng câu lệnh
trong chương trình
+ Gõ và lưu chương trình với tên SoNT
+ Dịch và sửa lỗi nếu có, nhập vài số
kiểm tra độ chính xác thuật toán
-GV nhận xét các nhóm, nhận xét đánh
giá tiết thực hành về ý thức tổ chức kỷ
luật các nhóm và tuyên dương cá nhân
hoặc nhóm thực hành tốt
-GV yêu cầu hs về nhà ôn lại câu lệnh
điều kiện, câu lệnh lặp Tập viết các
chương trình đơn giản,đọc phần ghi nhớ
-Hs trả lời: Số nguyên tố là số tự nhiên chỉ chia hết cho 1 và chính nó -Hs trả lời
-Hs chú ý theo dõi
-Hs nêu lại ý tưởng, cho ví dụ khác và nêu thuật toán
-Các nhóm quan sát kết quả, cử đại diện báo cáo
Bài tập 2:
-Input: số tự nhiên n -Output: n là số nguyên tố hoặc không là số nguyên tố
Thuật toán
+ Bước 1: Nhập số tự nhiên n
từ bàn phím + Nếu n<=0 thì thông báo n không phải là số tự nhiên, rồi chuyển đến bước 4
+ Nếu n>0 i 2 Trong khi n mod i <>0, ii+1 Nếu i=n thì thông báo n là số nguyên tố, rồi chuyển đến bước 4, không thì thông báo n không phải là số nguyên tố +Bước 4: Kết thúc
IV./ Rút kinh nghiệm tiết dạy