Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T2)

Một phần của tài liệu giao an 8 ky 2 (Trang 38 - 41)

I. MỤC TIÊU BÀI HỌC :

Kiến thức: HS đọc và hiểu được chương trình sử dụng cấu trúc lặp với số lần chưa biết trước. năng: Viết được câu lệnh lặp với số lần chưa biết trước while...do trong Pascal.

Thái độ: Có thái độ học tập nghiêm túc và yêu thích lập trình.

II. TÀI LIỆU VÀ PHƯƠNG TIỆN:

1. Chuẩn bị của GV: Tranh ảnh SGK, máy vi tính, máy chiếu, SGK, SGV, Giáo án 2. Chuẩn bị của HS: SGK, SBT, đồ dùng học tập.

3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC:

Tổ chức: (1’)

Ngày dạy Lớp Sĩ số Tên HS vắng

8A 8B 1. Giới thiệu bài học: (1’)

Giờ học trước chúng ta đã tìm hiểu cấu trúc câu lệnh lặp với số lần chưa biết trước. Giờ học này chúng ta sẽ tiếp tục tìm hiểu kĩ hơn các VD về câu lệnh lặp với số lần chưa biết trước.

2. Dạy học bài mới: (35’)

Hoạt động của thầy và trò Nội dung kiến thức

Hoạt động 1: Ví dụ về lệnh lặp với số lần chưa biết trước (23’)

MT: HS đọc và hiểu được chương trình sử dụng cấu trúc lặp với số lần chưa biết trước.

GV đưa ra Ví dụ 4. Yêu cầu HS nêu lại bài toán trong Ví dụ 2.

HS trả lời

GV cho HS quan sát và giải thích câu lệnh trong chương trình.

HS quan sát và giải thích ý nghĩa câu lệnh GV chạy thử chương trình, yêu cầu HS đọc kết quả.

Quan sát, đọc kết quả.

GV nhận xét, đánh giá GV đưa ra Ví dụ 5.

Yêu cầu HS quan sát, so sánh đoạn chương trình dùng lệnh for...do, đoạn chương trình dùng lệnh While...do và nhận xét kết quả.

HS :... đều cho một kết quả.

GV chốt lại: ta thấy có thể sử dụng câu

Ví dụ 4 (SGK-69) 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 (SGK-69): Viết chương trình tính tổng

1 1 1

1 ...

2 3 100

T     

Có thể sử dụng lệnh lặp với số lần lặp biết trước for..do

T:=0;

for i:=1 to 100 do T:=T+1/i;

writeln(T);

Nếu sử dụng lệnh lặp While...do, đoạn chương trình sau cũng cho một kết quả:

T:=0;

lệnh While...do thay cho lệnh For...do. i:=1;

while i<=100 do begin T:=T+1/i; i:=i+1 end;

writeln(T);

Hoạt động 2: Lặp vô hạn lần- lỗi lập trình cần tránh (12’) MT: Viết được câu lệnh lặp với số lần chưa biết trước while...do trong Pascal.

GV: nhờ câu lệnh lặp ta có thể tính toán với con số rất lớn trong một thời gian ngắn với độ chính xác cao, từ đó càng thấy tác dụng của câu lệnh lặp với số lần chưa biết trước trong chương trình.

? Qua thực tế em hãy nêu tác dụng của máy tính trong đời sống ?

HS trả lời...

? Hãy nêu khả năng làm việc của máy tính so với con người ?

HS trả lời theo ý hiểu...

GV đưa ra chương trình qua Ví dụ trong SGK, gọi HS phân tích chương trình.

HS trả lời...

GV chạy chương trình cho HS quan sát kết quả.

? Khi viết câu lệnh lặp ta cần lưu ý điều gì?

HS trả lời

GV đưa ra chú ý SGK.

HS nghe và ghi bài.

- Máy tính có khả năng tính toán nhanh, làm việc bền bỉ và không biết “mệt mỏi”.

- Máy tính có thể thực hiện số lần lặp không hạn chế.

- Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để đến một lúc nào đó 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”

Ví dụ: chương trình sau sẽ lặp lại vô tận:

var a:integer;

begin a:=5;

while a<6 do writeln(‘A’);

end.

- Chú ý: khi viết chương trình sử dụng cấu trúc lặp cần tránh tạo nên vòng lặp không bao giờ kết thúc.

3. Luyện tập củng cố: (2’)

- Em đã được học những câu lệnh lặp dạng nào?

- Viết cú pháp câu lệnh lặp trong ngôn ngữ Pascal?

- GV HD và yêu cầu HS trả lời các câu hỏi 4,5 SGK71.

Bài 4: a) Chương trình thực hiện 5 vòng lặp.

b) Vòng lặp trong chương trình được thực hiện vô tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết thúc nên điều kiện S=0 luôn luôn được thỏa mãn.

Nhận xét: Trong câu lệnh lặp, điều kiện cần phải được thay đổi để sớm hay muộn chuyển sang trạng thái không thỏa mãn. Khi đó vòng lặp mới được kết thúc sau hữu hạn bước. Để làm được điều này, câu lệnh trong câu lệnh lặp while..do thường là câu lệnh ghép.

Bài 5: a) Thừa dấu hai chấm trong điều kiện;

b) Thiếu dấu hai chấm trong câu lệnh gán;

c) Thiếu các từ khóa begin end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận.

4. Hoạt động tiếp nối: (1’)

- GV nhận xét giờ học. HD HS về nhà học bài, đọc và tìm hiểu một số chương trình trong Pascal có dùng câu lệnh lặp và thấy được ý nghĩa tác dụng của chúng.

- Tập viết một số câu lệnh lặp theo cấu trúc đã học trong các bài tập đơn giản.

- Biết phân biệt hai dạng câu lệnh lặp và sử dụng hợp lý trong các tình huống cụ thể.

- Làm các câu hỏi và bài tập cuối SGK, làm BT 8.9-8.14 (SBT-69,70) - Đọc trước bài 1,2 và chuẩn bị thuật toán cho giờ sau thực hành.

5. Dự kiến kiểm tra đánh giá: Đầu giờ (5’)

Nêu tác dụng của câu lệnh lặp với số lần chưa biết trước ? Viết câu lệnh lặp dạng While...do ? Giải thích ý nghĩa câu lệnh ?

Ngày soạn: 1/3/2015

Một phần của tài liệu giao an 8 ky 2 (Trang 38 - 41)

Tải bản đầy đủ (DOCX)

(89 trang)
w