1. Trang chủ
  2. » Công Nghệ Thông Tin

bai 8 lap voi so lan chua biet truoc tiet 2

4 3K 21
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 59 KB

Nội dung

Kiến thức: - Biết được nhu cầu 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.. - 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

Trang 1

Tiết: 50

I MỤC TIÊU:

1 Kiến thức:

- Biết được nhu cầu 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

- 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

- Hiểu được 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 ngôn ngữ Pascal

2 Kỹ năng:

- Rèn khả năng đọc chương trình, phân tích tác dụng các câu lệnh

- Viết được câu lệnh lặp ở những bài toán đơn giản

3 Thái độ:

- Ham thích môn học

- Tích cực học tập

II CHUẨN BỊ:

1 Giáo viên :

- SGK, tài liệu, giáo án

- Đồ dùng dạy học: máy tính

2 Học sinh :

- Đọc trước bài và học bài ở nhà

- SGK, Đồ dùng học tập

III PHƯƠNG PHÁP:

- Phương pháp thử, trực quan, thảo luận nhóm, thực hành

IV TIẾN TRÌNH DẠY HỌC:

1 Ổn định lớp :

2 Kiểm tra bài cũ:

Hãy cho biết 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 ý nghĩa?

3 Bài mới:

HOẠT ĐỘNG 1: Giới thiệu bài

GV: Ở tiết trước, chúng ta đã được tìm hiểu cú pháp

của câu lệnh lặp với số lần chưa biết trước Chúng ta

tiếp tục tìm hiểu một số ví dụ vận dụng câu lệnh lặp

với số lần chưa biết trước vào giải bài toán

Tiết 50:

LẶP VỚI SỐ LẦN CHƯA BIẾT

TRƯỚC (tt)

HOẠT ĐỘNG 2: Ví dụ về lệnh lặp với số lần chưa biết trước

GV: Ta đã tìm hiểu thuật toán tính tổng n số trong ví dụ 2,

thuật toán đó được thể hiện bằng ngôn ngữ Pascal như thế

nào các em qua ví dụ 4

GV: Tính S=1+2+… >1000

S0

S S+1

S S+2

S S+3

GV: Cần cộng bao nhiêu số tự nhiên để tổng nhỏ nhất

2 Ví dụ về lệnh lặp với số lần chưa biết trước (tt).

Ví dụ 4: Tính S=1+2+3+ sao cho

tổng nhỏ nhất lớn hơn 1000

Trang 2

HS: Không biết.

GV: Các em quan sát thấy các câu lệnh giống nhau Nếu

cô thay i=1,2,… thì tổng S thay bằng lệnh S S+?

HS: S S+i

GV: Lệnh S S+i lặp lại bao nhiêu lần?

HS: Không biết

GV: Ta sử dụng câu lệnh lặp nào để giải quyết bài toán?

HS: Lệnh lặp while…do…

GV: Điều kiện của câu lệnh lặp và câu lệnh?

HS: Điều kiện S<=1000

Câu lệnh S:= S+n; n:= n+1;

GV: Cho HS ghi chương trình vào vở

HS: Chép bài

GV: Yêu cầu HS khởi động chương trình Turbo pascal gõ

chương trình ví dụ 4 và chạy thử chương trình

HS: Thực hành

GV: Sau khi chạy chương trình em hãy cho biết kết quả?

HS: kết quả là n=45 và tổng nhỏ nhất lớn hơn 1000 là

1034

GV: Trong Pascal có những chương trình ngoài việc sử

dụng câu lệnh For do Ta cũng có thể sử dụng câu lệnh

While do thay cho câu lệnh For do mà vẫn cho

cùng một kết quả Để hiểu rõ hơn các em qua ví dụ 5

GV: Yêu cầu HS đọc đề bài

HS: Đọc bài

GV: Đề bài yêu cầu chúng ta làm gì?

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

T= 1+1/2+1/3+… +1/100

T0

T T+1/1

T T+1/2

T T+1/3

T T+1/100

GV: Các em quan sát thấy các câu lệnh giống nhau Nếu

cô thay i=1,2,… thì tổng S thay bằng lệnh T T+?

HS: T T+1/i

GV: Lệnh T T+1/i lặp lại bao nhiêu lần?

HS: 100 lần

GV: Ta sử dụng câu lệnh lặp nào để giải quyết bài toán?

HS: Lệnh lặp for…do…

GV: Em hãy cho cô biết cú pháp của câu lệnh For do

Hs: For <biến đếm> := <giá trị đầu> To <giá trị cuối> Do

<câu lệnh>;

GV: Em hãy cho cô biết giá trị đầu, giá trị cuối và câu

lệnh là gì?

Hs: - Giá trị đầu: 1

- Giá trị cuối: 100

- Câu lệnh: T := T + 1/i;

Var S,n: integer;

Begin

S:=0; n:=0;

While S<=1000 do Begin S:= S+n; n:= n+1 end;

Writeln ( ‘so n nho nhat de tong

>1000 la’,n);

Writeln (‘Tong dau tien >1000 la’,S);

Readln

End.

Ví dụ 5: SGK.

Program vidu5_1;

Var i: integer;

T: real;

Begin T:=0;

For i:=1 to 100 do T:=T+1/i; Writeln (T);

End

Trang 3

GV: Cho HS chép chương trình vào vở.

HS: Chép bài vào vở

GV: Yêu cầu HS gõ chương trình vào máy và chạy thử

HS: Thực hành

GV: Nếu sử dụng câu lệnh while… do thì điều kiện của

chương trình là gì?

HS: i<=100

GV: Vòng lặp sẽ dừng lại khi nào?

HS: Dừng lại khi i>100

GV: Cho HS chép chương trình vào vở

HS: Chép bài

GV: Yêu cầu HS gõ chương trình vào máy và chạy thử

HS: Thực hành

GV: Sau khi chạy thử 2 chương trình, em hãy cho biết kết

quả?

HS: Kết quả giống nhau

GV: Qua ví dụ này cho ta 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

Nhưng tùy trường hợp mà chúng ta sử dụng câu lệnh

for…do… thay cho câu lệnh while…do… vì lệnh lặp

while…do… chỉ phù hợp cho lệnh lặp với số lần chưa biết

trước còn câu lệnh for…do phù hợp lệnh lặp với số lần

biết trước

Program vidu5_2;

Var i: integer;

T: real;

Begin T:=0;

i:=1;

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

end

HOẠT ĐỘNG 3: Lặp vô hạn lần – lỗi lập trình cần tránh.

GV: Khi 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 Đó được

gọi là lặp vô hạn lần Vậy thế nào là lặp vô hạn lần chúng

ta qua phần 3

GV: Các em quan sát ví dụ trong SGK

Var a: integer;

Begin

a:=5;

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

end.

HS: Quan Sát

GV: Em hãy cho biết điều kiện của bài toán là gì?

HS: điều kiện dừng là a<6

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

GV: 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

Lưu ý: Khi thực hiện vòng lặp, While ….do cần xác định

được điều kiện trong câu lệnh sau một số lần sẽ chuyển từ

đúng sang sai để thoát khỏi vòng lặp Không rơi vào

những “Vòng lặp vô tận”

- Trong vòng lặp While do điều kiện được kiểm tra trước

3 Lặp vô hạn lần – lỗi lập trình cần tránh.

Var a: integer;

Begin

a:=5;

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

end.

Trang 4

khi thực hiện cậu lệnh, do đó có thể có trường hợp câu

lệnh không được thực hiện một lần nào

GV: Cho HS ghi bài

HS: Ghi bài

4 Củng cố:

- Nêu những dạng câu lệnh lặp mà em đã được học?

- Trả lời câu hỏi 4, 5 trang 71 SGK

5 Dặn dò:

- Về nhà học bài

- Coi trước bài thực hành 6 “Sử dụng lệnh lặp While do ”

Ngày đăng: 12/09/2013, 13:31

TỪ KHÓA LIÊN QUAN

w