1.1. Kiến thức:
- HS biết: Nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
- HS hiểu: Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính.
1.2. Kỹ năng:
- HS thực hiện được: Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước
- HS thực hiện thành thạo: Dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính
3 trang |
Chia sẻ: vivian | Lượt xem: 1306 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Bài giảng Bài 8: Lặp với số lần chưa biết trước (tiếp theo), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuần :TPPCT:
Ngày dạy:././..
Bài 8:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (tt)
1- MỤC TIÊU:
1.1. Kiến thức:
- HS biết: Nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
- HS hiểu: Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính.
1.2. Kỹ năng:
- HS thực hiện được: Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước
- HS thực hiện thành thạo: Dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính
1.3. Thái độ:
- Thói quen: Nghiêm túc khi sử dụng phòng máy
- Tính cách: Có thái độ đúng đắn trong nhận thức về bộ môn
2- NỘI DUNG HỌC TẬP:
- Cấu trúc câu lệnh lặp While..do.
3- CHUẨN BỊ:
3.1 Giáo viên: Giáo án, sách giáo khoa, một số bài tập pascal, phòng máy tính.
3.2. Học sinh: Sách giáo khoa, vở ghi bài, hăng say xây dựng bài.
4- TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP:
4.1. Ổn định tổ chức và kiểm diện (3p):
4.2. Kiểm tra miệng:
4.3. Tiến trình bài học:
HOẠT ĐỘNG CỦA GV VÀ HS
NỘI DUNG BÀI HỌC
Hoạt động 1 (30p): Các ví dụ lệnh lặp với số lần chưa biết trước
+ Gv : ta tiếp tục xét các ví dụ mà trong chương trình có câu lệnh với số lần lặp chưa biết trước
Xét ví dụ 4
+ Gv : Cho học sinh quan sát phim trong chương trình
+ Hs : quan sát
+ Gv : Chạy tay cho học sinh xem
+ Hs : chú ý nghe và tự chạy tay lại
+ Gv : Yêu cầu học sinh mở máy tính và mở chương trình ví dụ 4 ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy )
+ Hs : thực hiện
+ Gv : Cho học sinh chạy chương trình trên máy
+ Hs : thực hiện
+ Gv : chạy chương trình này, ta nhận được giá trị ntn?
+ Hs : Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng đầu tiên lớn hơn 1000 là 1034.
+ Gv : giới thiệu ví dụ 5 sgk
Viết chương trình tính tổng
+ Gv : Cho học sinh quan sát phim trong chương trình
+ Hs : quan sát
+ Gv : Chạy tay ( cả hai chương trình ) cho học sinh xem
+ Hs : chú ý nghe và tự chạy tay lại
+ Gv : so sánh kết quả khi chạy hai chương trình
+ Hs : Kết quả bằng nhau
+ Gv : Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo.
Hoạt động 3 (7p): Lặp vô hạn lần – Lỗi lập trình cần tránh
+ Gv: Giới thiệu phần 3
+ Gv : Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên
vòng lặp không bao giờ kết thúc
+ Hs : Chú ý nghe
+ Gv : Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
+ Hs : Quan sát
+ Gv : Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln('A') luôn được thực hiện.
Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận".
+ Hs : Chú ý nghe
Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật toán tính số n trong ví dụ 2:
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do
begin n:=n+1; S:=S+n end;
writeln('So n nho nhat de tong > 1000 la ',n);
writeln('Tong dau tien > 1000 la ',S);
end.
Vídụ5. Viết chương trình tính tổng
Giải :
Để viết chương trình tính tổng ta có thể sử dụng lệnh lặp với số lần lặp biết trước fordo:
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
Nếu sử dụng lệnh lặp whiledo, đoạn chương trình dưới đây cũng cho cùng một kết quả:
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xét : Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo.
3. Lặp vô hạn lần – Lỗi lập trình cần tránh
Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc.
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
4.4. Tổng kết (2p):
* Củng cố:
GV yêu cầu HS trả lời các câu hỏi:
- Nêu cú pháp câu lệnh lặp với số lần chưa biết trước ?
- Chú ý tránh tạo nên vòng lặp không bao giờ kết thúc
* Rút gọn kiến thức: HS học nội dung bài học.
4.5. Hướng dẫn học tập (3p):
* Đối với bài học tiết này:
- HS nắm rõ cú pháp câu lệnh lặp với số lần chưa biết trước.
* Đối với bài học tiếp theo:
- HS xem trước bài thực hành 6 “Sử dụng lệnh lặp While.do”.
File đính kèm:
- tiet 50.doc