Lap voi so lan chua biet truoc(tt)
Chia sẻ bởi Nguyễn Đình Thành |
Ngày 14/10/2018 |
49
Chia sẻ tài liệu: lap voi so lan chua biet truoc(tt) thuộc Tin học 8
Nội dung tài liệu:
Tuần 26. Ngày soạn:25-02-2011
Tiết 51. Người soạn:Nguyễn Đình Thành
GVHD:Thầy Hoàng Văn Anh Chí
§8. VỚI SỐ LẦN CHƯA BIẾT TRƯỚC(tt)
I.Mục tiêu:
- Kiến thức: Hiểu 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.
Hiểu 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 thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn;
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… trong Pascal.
- Kĩ năng: Biết cách sử dụng vòng lặp while do, viết được thuật toán của 1 số bài toán cơ bản.Tránh rơi vào vòng lặp vô hạn khi làm bài tập.
- Thái độ: có ý thức, kỉ luật, nghiêm túc, trình bày một vấn đề chặt chẽ, rõ ràng.
II. Chuẩn bị
GV: Giáo án,SGK,máy chiếu.
HS: SGK,xem trước bài ở nhà
III. Tiến trình bài giảng:
1.Ổn định lớp:
2.Kiểm tra bài cũ:
+ GV : Yêu cầu hs nhắc lại cú pháp câu lệnh lặp với số lần chưa biết trước.
Viết chương trình tính tổng các số tự nhiên đầu tiên sao cho tổng nhỏ nhất và lớn hơn 10.
+ HS : trả lời
3. Hoạt động dạy học
Hoạt động của GV – HS
Nội dung ghi bảng
Hoạt động 1: ví dụ
+GV : tiết trước chúng ta đã tìm hiểu một số ví dụ về câu lệnh lặp while…do,tiết này chúng ta sẽ xét thêm một số ví dụ nữa để thấy hiểu rõ hơn về câu lệnh này.
+GV : giới thiệu ví dụ
Viết chương trình tính tổng
S =1+2+3+4+…100
+GV : Bài này đã biết trước đươc số lần lặp hay chưa?
+Hs : trả lời
GV:gọi 1 HS lên bảng viết đoạn lệnh tính tổng bằng câu lệnh for…to…do.
+HS:lên bảng viết đoạn lệnh tính tổng.
+GV:gọi 1 HS viết đoạn lệnh này bằng câu lệnh while…do.
+GV : Chạy chương trình ( cả hai chương trình ) cho học sinh xem
+HS : chú ý nghe.
+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 while…do thay cho câu lệnh for…do.
Ví dụ . Viết đoạn lệnh tính tổng
S =1+2+3+4…+100.
Giải :
Để viết đoạn lệnh tính tổng
S = 1+2+3+4+…+100 ta có thể sử dụng lệnh lặp với số lần lặp biết trước for…do:
S:=0;
for i:=1 to 100 do S:=S+i;
writeln(‘tong la:’,s’);
Tính tổng bằng câu lệnh while…do :
S:=0;
i:=1;
while i<=100 do begin S:=S+i; i:=i+1 end;
writeln(‘tong la:’,s);
* 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 while…do thay cho câu lệnh for…do.
Hoạt động 3: Lặp vô lần hạn - lỗi lập trình cần tránh
+GV:giới thiệu phần 3.
+ GV : Cho học sinh quan sát VD và dự đoán kết quả.
+ HS:dự đoán kết quả.
+ GV : Chạy chương trình
+ 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 đúng nên lệnh writeln(`a`) đượ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".
+ 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
3. Lặp vô hạn lần – Lỗi lập trình cần tránh
VD: var a:integer;
begin
a:=5;
while a<6 do writeln(`a`);
end.
Tiết 51. Người soạn:Nguyễn Đình Thành
GVHD:Thầy Hoàng Văn Anh Chí
§8. VỚI SỐ LẦN CHƯA BIẾT TRƯỚC(tt)
I.Mục tiêu:
- Kiến thức: Hiểu 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.
Hiểu 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 thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn;
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… trong Pascal.
- Kĩ năng: Biết cách sử dụng vòng lặp while do, viết được thuật toán của 1 số bài toán cơ bản.Tránh rơi vào vòng lặp vô hạn khi làm bài tập.
- Thái độ: có ý thức, kỉ luật, nghiêm túc, trình bày một vấn đề chặt chẽ, rõ ràng.
II. Chuẩn bị
GV: Giáo án,SGK,máy chiếu.
HS: SGK,xem trước bài ở nhà
III. Tiến trình bài giảng:
1.Ổn định lớp:
2.Kiểm tra bài cũ:
+ GV : Yêu cầu hs nhắc lại cú pháp câu lệnh lặp với số lần chưa biết trước.
Viết chương trình tính tổng các số tự nhiên đầu tiên sao cho tổng nhỏ nhất và lớn hơn 10.
+ HS : trả lời
3. Hoạt động dạy học
Hoạt động của GV – HS
Nội dung ghi bảng
Hoạt động 1: ví dụ
+GV : tiết trước chúng ta đã tìm hiểu một số ví dụ về câu lệnh lặp while…do,tiết này chúng ta sẽ xét thêm một số ví dụ nữa để thấy hiểu rõ hơn về câu lệnh này.
+GV : giới thiệu ví dụ
Viết chương trình tính tổng
S =1+2+3+4+…100
+GV : Bài này đã biết trước đươc số lần lặp hay chưa?
+Hs : trả lời
GV:gọi 1 HS lên bảng viết đoạn lệnh tính tổng bằng câu lệnh for…to…do.
+HS:lên bảng viết đoạn lệnh tính tổng.
+GV:gọi 1 HS viết đoạn lệnh này bằng câu lệnh while…do.
+GV : Chạy chương trình ( cả hai chương trình ) cho học sinh xem
+HS : chú ý nghe.
+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 while…do thay cho câu lệnh for…do.
Ví dụ . Viết đoạn lệnh tính tổng
S =1+2+3+4…+100.
Giải :
Để viết đoạn lệnh tính tổng
S = 1+2+3+4+…+100 ta có thể sử dụng lệnh lặp với số lần lặp biết trước for…do:
S:=0;
for i:=1 to 100 do S:=S+i;
writeln(‘tong la:’,s’);
Tính tổng bằng câu lệnh while…do :
S:=0;
i:=1;
while i<=100 do begin S:=S+i; i:=i+1 end;
writeln(‘tong la:’,s);
* 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 while…do thay cho câu lệnh for…do.
Hoạt động 3: Lặp vô lần hạn - lỗi lập trình cần tránh
+GV:giới thiệu phần 3.
+ GV : Cho học sinh quan sát VD và dự đoán kết quả.
+ HS:dự đoán kết quả.
+ GV : Chạy chương trình
+ 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 đúng nên lệnh writeln(`a`) đượ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".
+ 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
3. Lặp vô hạn lần – Lỗi lập trình cần tránh
VD: var a:integer;
begin
a:=5;
while a<6 do writeln(`a`);
end.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Đình Thành
Dung lượng: 54,50KB|
Lượt tài: 1
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)