+ Đọc, tìm hiểu ý nghĩa của các câu lệnh trong các bài tập có sử dụng câu lệnh lặp với số lần chưa biết trước kết hợp với cấu trúc điều khiển.. + Đọc trước bài mới và trả lời câu hỏi sau[r]
Trang 1Ngày soạn: 01/03/2011
Ngày dạy: 05/03/2011
Lớp: 8
Giáo viên hướng dẫn: Lê Đình Trung Giáo viên dạy: Cái Thị Hạ Ngân
Tiết 52, Bài thực hành 6 SỬ DỤNG LỆNH LẶP WHILE DO T2)
A MỤC TIÊU
Sau khi học xong bài này học sinh cần đạt được các mục tiêu sau:
1 Kiến thức:
- Hiểu các câu lệnh lặp với số lần chưa biết trước trong chương trình có sẵn
- Biết lựa chọn câu lệnh lặp với số lần chưa biết trước với số lần biết trước phù hợp với tình huống cụ thể
- Biết vai trò của việc kết hợp các cấu trúc điều khiển
2 Kỹ năng:
- Rèn luyện kĩ năng về khai báo, sử dụng biến
- Rèn luyện khả năng đọc chương trình
3 Thái độ:
- Hình thành phương pháp làm việc khoa học
- Vận dụng vào trong học tập và thực tiễn
B.Chuẩn bị
1 Giáo viên
- Bài giảng điện tử
- Giáo án
- Máy tính, Projector
2 Học sinh
- SGK, và dụng cụ học tập
C Phương pháp
- Thuyết trình
- Vấn đáp
- Trực quan, hướng dẫn thực hành
- Phát hiện và giải quyết vấn đề
D Tiến trình lên lớp
I Ổn định tổ chức(1p)
- Ổn định chổ ngồi học sinh
- Kiểm tra sĩ số( vắng…phép,…không phép)
II Kiểm tra bài cũ(5p)
Câu hỏi : Trình bày cú pháp câu lệnh lặp với số lần chưa biết trước Và giải thích?
Đáp án:
while <điều kiện> do <câu lệnh>;
Bước 1: Kiểm tra điều kiện
Bước 2:
Trang 2 Nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1 để quyết
định có kết thúc hay không
Nếu điều kiện sai thi câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết
thúc
Lưu ý: Câu lệnh có thể là câu lệnh đơn hay câu lệnh phức
III Triển khai bài mới (35p)
Ở tiết trước các em đã được tìm hiểu nội dung Lặp với số lần chưa biết trước Qua
đó, cũng đã biết được những điểm khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước Để hiểu được tác dụng của các câu lệnh lặp với số lần chưa biết trước và hiểu được vai trò của việc kết hợp các cấu trúc điều khiển Chúng ta đi
vào bài thực hành SỬ DỤNG LỆNH LẶP WHILE DO (2p)
Hoạt động 1: Trình bày mục đích yêu cầu(3p)
Tiết học hôm nay chúng ta phải thực hiện
được các nội dung sau:
Đọc và tìm hiểu ý nghĩa của từng câu lệnh
trong một chương trình cụ thể
Gõ, dịch và chạy thử chương trình với
một vài độ chính xác khác nhau
Thực hiện được các nội dung đó xem như
chúng ta đã được mục đích yêu cầu của bài học
Hoạt động 2: Thực hành - Bài tập 2 (30p)
Hoạt động 2.1: Tìm hiểu bài tập 2 trang 73
sgk.
GV: Gọi HS đọc đề bài ở sách giáo khoa.
Yêu cầu HS còn lại chú ý lắng nghe
Ghi đề lên bảng
HS: Đọc bài tập.
GV:
* Đặt câu hỏi: Xác định Input và Output của
bài toán?
* Gọi 2- 3 HS trả lời
HS: Trả lời.
GV: Cho HS suy nghĩ trong vòng 2 phút?
* Đặt câu hỏi: Bài toán này chúng ta nên xây
dựng hướng đi (giải quyết) như thế nào?
* Gọi 2- 3 HS trả lời
HS: Trả lời.
GV: Khái quát.
Kiểm tra lần lượt N có chia hết cho các số tự
nhiên 2 ≤ i ≤ N hay không Kiểm tra tính chia
hết bằng phép chia lấy phần dư (mod)
HS: Trả lời.
1 Mục đích yêu cầu
Đọc và tìm hiểu ý nghĩa của từng câu lệnh trong một chương trình cụ thể
Gõ, dịch và chạy thử chương trình với một vài độ chính xác khác nhau
2 Thực hành - Bài tập 2
Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không?
+ Input: Số tự nhiên N
+ Output: Trả lời N là số nguyên tố hoặc N không là số nguyên tố
* Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên 2 ≤ i ≤
N hay không Kiểm tra tính chia hết
bằng phép chia lấy phần dư (mod)
Trang 3GV: Để kiểm tra N có phải số nguyên tố hay
không ta sẽ đi kiểm tra xem N có chia hết cho
các số từ 2 đến N – 1 hay 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 chia hết cho bất
kì một số nào trong khoảng từ 2 đến N – 1 thì N
không phải là số nguyên tố
Sử dụng phép chia lấy phần dư để kiểm tra
tính chia hết
HS: Theo dõi.
GV: Từ bài toán đó, cô xây dựng nên thuật toán
sau:
+ Bước 1: Nhập số tự nhiên N từ bàn phím
+ Bước 2: Nếu N<= 0 thông báo N không
phải là số tự nhiên, rồi chuyển đến bước 4
+ Bước 3: Nếu N > 0;
3.1 i 2
3.2 Trong khi N mod i <> 0 còn đúng thì
i i +1;
3.3 Nếu i = N thì thông báo N là số nguyên
tố, rồi chuyển đến bước 4 Ngược lại, thông
báo N không phải là số nguyên tố;
+ Bước 4: Kết thúc
HS: Theo dõi.
GV: Từ thuật toán đó, cô xây dựng nên chương
trình sau:
Nhiệm vụ các em bây giờ là: Đọc và tìm
hiểu ý nghĩa của từng câu lệnh trong chương
trình
Hoạt động 2.2: Đọc và tìm hiểu ý nghĩa của
từng câu lệnh trong chương trình.
PROGRAM SO_NGUYEN_TO;
VAR
N, I: INTEGER;
BEGIN
WRITE (' NHAP VAO MOT SO NGUYEN: ');
READLN(N);
IF N <= 1 THEN
WRITE(N,' KHONG PHAI LA SO
NGUYEN TO')
ELSE
BEGIN
I:= 2;
WHILE (N MOD I<>0) DO
I:= I+1;
IF I = N THEN
WRITE(N,' LA SO NGUYEN TO')
ELSE
* Thuật toán:
+ Bước 1: Nhập số tự nhiên N từ bàn phím
+ Bước 2: Nếu N<= 0 thông báo
N không phải là số tự nhiên, rồi chuyển đến bước 4
+ Bước 3: Nếu N > 0;
3.1 i 2 3.2 Trong khi N mod i <> 0 còn đúng thì
i i +1;
3.3 Nếu i = N thì thông báo N là
số nguyên tố, rồi chuyển đến bước 4 Ngược lại, thông báo N không phải là số nguyên tố;
+ Bước 4: Kết thúc
* Đọc và tìm hiểu ý nghĩa của từng
câu lệnh trong chương trình
Trang 4WRITE(N,' KHONG PHAI LA SO
NGUYEN TO');
END;
READLN;
END.
HS: Theo dõi.
GV: Ở chương trình này đã sử dụng những câu
lệnh nào?
HS: Trả lời
GV: Những biến nào cần được khai báo? Kiểu
gì?
HS: Trả lời
GV: Sau khi khai báo ta sẽ thực hiện việc nhập
vào một số nguyên Để thực hiện việc nhập ta sử
dụng câu lệnh gì?
HS: Trả lời
GV: Sau đó, tiến hành kiểm tra số nguyên vừa
nhập có phải là số nguyên tố hay không Để
kiểm tra điều kiện ban đầu ta sử dụng câu lệnh
gì?
* Thế nào là số nguyên tố?
HS: Trả lời
GV: Ở chương trình này I được gọi là một biến
đếm (hay biến chạy) Biến đếm được gán giá trị
bao nhiêu?
HS: Được gán giá trị là 2.
GV: Sau đó ta sẽ kiểm tra tính chia hết Ở đây,
để kiểm tra phép chia hết ta sử dụng phép chia
lấy phần dư mod Vậy, câu lệnh mod có ý nghĩa
gì?
HS: Trả lời
GV: Trong khi phần dư đó khác 0 ta tăng biến
đếm I lên một đơn vị
Khi đó, nếu như biến đếm I có giá trị bằng
số nguyên N ta kết luận đó là số nguyên tố;
ngược lại không phải là số nguyên tố
HS: Chú ý theo dõi và nge giảng.
Hoạt động 2.3: Gõ chương trình vào máy,
chạy chương trình và kiểm tra kết quả.
GV: Gõ chương trình vào máy, dịch và chạy
chương trình để kiểm tra kết quả
HS: Thực hiện.
GV: Theo dõi bao quát để chỉnh sửa lỗi cho HS.
HS: Thực hiện sửa lỗi để hoàn thiện chương
trình
* Nếu HS nào làm xong thì cho lên bảng thực
hiện
* Câu lệnh lặp với số lần chưa biết trước và cấu trúc điều khiển
* Khai báo biến N, I kiểu INTEGER
* WRITE (' NHAP VAO MOT SO NGUYEN: ');
READLN(N);
* Câu lệnh điều kiện
* Số nguyên tố là các số tự nhiên
lớn hơn 1, chỉ chia hết cho 1 và cho chính nó
* Được gán giá trị là 2
* Kiểm tra tính chia hết
b.Gõ chương trình vào máy, chạy chương trình và kiểm tra kết quả PROGRAM SO_NGUYEN_TO;
VAR
N, I: INTEGER;
BEGIN WRITE (' NHAP VAO MOT SO NGUYEN: ');
READLN(N);
IF N <= 1 THEN
WRITE(N,' KHONG PHAI
Trang 5LA SO NGUYEN TO')
ELSE
BEGIN I:= 2;
WHILE (N MOD I<>0)
DO
I:= I+1;
IF I = N THEN
WRITE(N,' LA SO NGUYEN TO')
ELSE
WRITE(N,' KHONG PHAI LA SO
NGUYEN TO');
END;
READLN;
END.
IV Củng cố (3p)
Câu hỏi: Trong chương trình này ta sử dụng câu lệnh nào? Ý nghĩa.
Câu lệnh lặp với số lần chưa
biết trước ( while do )
Tính dừng của phép toán
Cấu trúc điều khiển (if
then) Kiểm tra số nguyên tố Câu lệnh mod Kiểm tra tính chia hết
Giáo viên nhận xét và đánh giá tiết thực hành.(Những gì làm được và chưa làm được) V Dặn dò (1p) + Nắm cú pháp và ý nghĩa câu lệnh lặp với số lần chưa biết trước + Đọc, tìm hiểu ý nghĩa của các câu lệnh trong các bài tập có sử dụng câu lệnh lặp với số lần chưa biết trước kết hợp với cấu trúc điều khiển + Đọc trước bài mới và trả lời câu hỏi sau: - Dữ liệu kiểu mảng là gì? Lợi ích của việc sử dụng biến mảng E RÚT KINH NGHIỆM
Trang 6
Ngày … tháng 03 năm 2011 Duyệt GV hướng dẫn
Lê Đình Trung