While_do

Chia sẻ bởi Nguyễn Thị Xuân Thương | Ngày 06/11/2018 | 32

Chia sẻ tài liệu: While_do thuộc Tin học 9

Nội dung tài liệu:

Tiết 50
Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (Tiết 2)
………………
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:
I. Kiến thức:
- 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 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.
II. Kỹ năng:
- Sử dụng câu lệnh lặp với số lần chưa biết trước để giải quyết một số bài tập trong ngôn ngữ lập trình Pascal.
III. Thái độ:
- Cố gắng tìm tòi, chuyển đổi giữa các câu lệnh khi lập trình.
B. CHUẨN BỊ
- Phòng máy hoặc phòng lý thuyết nhưng có trang bị máy tính cho Giáo viên, projector, màn hình lớn.
- SGK tin học quyển 3
C. PHƯƠNG PHÁP
- Vấn đáp tích cực, phát hiện và giải quyết vấn đề, thực hành.
D. TIẾN TRÌNH LÊN LỚP
I. Ổn định lớp
II. Kiểm tra bài cũ
III. Triển khai bài mới (35’)

Nội dung
Hoạt động của giáo viên và học sinh

2. Ví dụ về lệnh lặp với số lần chưa biết trước
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<=100 do
begin
S:=S+n; n:=n+1;
end;
writeln(`So n nho nhat de tong > 100 la `,n);
writeln(`Tong dau tien > 100 la `,S);
end.

VD 5: ( Có trong SGK)



















* 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 1: Ví dụ về lệnh lặp với số lần chưa biết trước
VD 4:
GV yêu cầu HS đọc ví dụ 4.
HS đọc ví dụ 4.
Đưa ra chương trình.
HS thảo luận nhóm, thử chạy tay chương trình xem cách hoạt động của chương trình, và khi nào thì vòng lặp kết thúc.
GV: Chạy tay cho học sinh xem chương trình mẫu
HS: Chú ý nghe
GV: Cho học sinh quan sát chương trình
HS quan sát chương trình
GV: Chạy chương trình này, ta nhận được giá trị như thế nào?
HS: Nếu chạy chương trình này ta sẽ nhận được n = 46 và tổng đầu tiên lớn hơn 1000 là 1035.

VD 5: Viết chương trình tính tổng

GV: Để viết chương trình tính tổng này ta có thể sử dụng lệnh lặp với số lần lặp biết trước for…do. Vậy em nào có thể viết đoạn chương trình chính với câu lệnh for…do.
HS: lên bảng viết
GV: Đưa ra chương trình đúng.
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
GV: Nếu sử dụng lệnh While…do thì chương trình đó thay đổi như thế nào?
HS: lên bảng thay đổi chương trình.
GV: gọi HS nhận xét, Đưa ra đoạn chương trình đúng:
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
Nếu cô chạy chương trình dưới, kết quả như thế nào? Các em thử dự đoán kết quả xem.
var a:integer;
begin
a:=5;
while a<6 do writeln(`a`);
end.
Rơi vào vòng lặp vô hạn.

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.










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".
Hoạt động 3: Lặp vô hạn lần – Lỗi lập trình cần tránh
GV: Vì sao chương trình đó lặp vô hạn?
var a:integer;
begin
a:=5;
while a<6 do writeln(`a`);
end.
HS: Trả lời
(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
* 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 Thị Xuân Thương
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)