1. Trang chủ
  2. » Mẫu Slide

Giáo án Tin học 8 - Tiết 49-50: Lặp với số lần chưa biết trước - Đoàn Thị Ánh Nguyệt

5 22 0

Đ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 5
Dung lượng 217,48 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TuÇn 25 Tiết 49 - 50: Lặp với số lần chưa biết trước I/Môc tiªu: - 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; - Biết ngôn ngữ lập trình dùng cấ[r]

Trang 1

Tuần 25

Tiết 49 - 50: Lặp với số lần chưa biết trước I/Mục tiêu:

- 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;

- 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;

- Nhận biết được đõu là hoạt động lặp với số lần chưa biờt trước.

- Nghiờm tỳc trong quỏ trỡnh nghiờn cứu và thực hành

II/ Chuẩn bị của học sinh và giáo viên:

III/ Tiến trình dạy học:

1.Bài cũ:

Viết thuật toỏn tớnh tổng 100 số tự nhiờn đầu tiờn 1,2,3,…,99,100

Trả lời

Bước 1 SUM  0; i  0.

Bước 2 i  i + 1.

Bước 3 Nếu i ≤ 100, thỡ SUM  SUM + i và quay lại bước 2.

Bước 4 Thụng bỏo kết quả và kết thỳc thuật toỏn.

2/ Bài mới:

Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước

+ G : y/c hs đọc vớ dụ 1sgk/67

+ Hs : 2-3 hs đọc vớ dụ sgk

+ G : Phõn tớch vớ dụ

+ Hs : Chỳ ý lắng nghe

+ G : y/c hs đọc vớ dụ 1sgk/67

+ Hs : 2-3 hs đọc vớ dụ sgk

+ G : Phõn tớch vớ dụ

+ Hs : chỳ ý lắng nghe

+ GV : Hướng dẫn hs xõy dựng thuật toỏn

+ Hs : Nghe giỏo viờn hướng dẫn, sau đú tự

xõy dựng thuật toỏn

1 Cỏc hoạt động lặp với số lần chưa biết trước

a/ Vớ dụ 1(sgk).

b/ Vớ dụ 2 : Nếu cộng lần lượt n số tự

nhiờn đầu tiờn (n = 1, 2, 3, ), Cần cộng

bao nhiờu số tự nhiờn đầu tiờn để ta nhận

được tổng T n nhỏ nhất lớn hơn 1000?

Trang 2

+ G : Chạy tay cho học sinh xem ( Chỉ nờn

chạy tay thử từ 1 đến 10 )

+ Hs : Chỳ ý nghe

Hs ghi vở vớ dụ 2

+ G : Giới thiệu sơ đồ khối

+ G : Nờu nhận xột

+ G : Cú thể sử dụng lệnh lặp với số lần lặp

chưa biết trước trong cỏc chương trỡnh lập

trỡnh Sau đõy ta xột cõu lệnh và vớ dụ trong

TP

+ G : Giới thiệu cỳ phỏp lệnh

while … do ….;

+ hs : chỳ ý nghe và ghi chộp

Giải :

Kớ hiệu S là tổng cần tỡm và ta cú thuật

toỏn như sau:

+ Bước 1 S  0, n  0

+ Bước 2 Nếu S ≤ 1000, n  n + 1;

ngược lại chuyển tới bước 4

+ Bước 3 S  S + n và quay lại bước 2.

+ Bước 4 In kết quả : S và n là số tự

nhiờn nhỏ nhất sao cho S > 1000 Kết

thỳc thuật toỏn

* Ta cú sơ đồ khối :

* Nhận xột : Để viết chương trỡnh chỉ dẫn mỏy tớnh thực hiện cỏc hoạt động lặp như trong cỏc vớ dụ trờn, ta cú thể sử dụng cõu

lệnh cú dạng lặp với số lần chưa biết trước

Hoạt động 2:Ví dụ về lênghj lặp với số lần + G : Xột vớ dụ 3 2 Vớ dụ về lệnh lặp với số lần

Trang 3

Chúng ta biết rằng, nếu n càng lớn thì 1

n càng nhỏ, nhưng luôn luôn lớn hơn 0 Với giá trị

nào của n thì 1

n < 0.005 hoặc 1

n < 0.003 ? ( Gv đưa phim trong ví dụ 3 )

+ Hs : Đọc ví dụ 3 ( Phim trong)

+ G : giới thiệu chương trình mẫu sgk ( Giáo

viên in chương trình mẫu trên phim trong )

+ Hs : quan sát

+ G : Chạy tay cho học sinh xem

+ Hs : chú ý nghe và tự chạy tay lại

+ G : Yêu cầu học sinh mở máy tính và mở

chương trình ví dụ 3 ( 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

+ G : Cho học sinh chạy chương trình trên

máy

+ Hs : thực hiện

+ G : Yêu cầu hs thay điều kiện sai_so =

0.003 thành 0.002 ; 0.001 ; 0.005 ;

+ Hs : thực hiện

chưa biết trước Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:

while <điều kiện> do <câu lệnh>;

trong đó:

- điều kiện thường là một phép so

sánh;

- câu lệnh có thể là câu lệnh đơn

giản hay câu lệnh ghép

Câu lệnh lặp này được thực hiện như sau:

Bước 1 : Kiểm tra điều kiện.

Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ

bị bỏ qua và việc thực hiện lệnh lặp kết

thúc Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.

Ví dụ 3

Với giá trị nào của n ( n>o ) thì < 1

n

0.005 hoặc < 0.003? Chương trình 1

n dưới đây tính số n nhỏ nhất để nhỏ hơn 1

n

một sai số cho trước :

uses crt;

var x: real;

n: integer;

const sai_so=0.003;

begin

clrscr;

x:=1; n:=1;

while x>=sai_so do begin n:=n+1;

x:=1/n end;

writeln('So n nho nhat de 1/n <

',sai_so:5:4, 'la ',n);

readln

end.

Trang 4

+ G : 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

+ G : Cho học sinh quan sát phim trong

chương trình

+ Hs : quan sát

+ G : Chạy tay cho học sinh xem

+ Hs : chú ý nghe và tự chạy tay lại

+ G : 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

+ G : Cho học sinh chạy chương trình trên

máy

+ Hs : thực hiện

+ G : 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

+ G : giới thiệu ví dụ 5 sgk

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

1 1 1

1

2 3 100

T     

+ G : Cho học sinh quan sát phim trong

chương trình

+ Hs : quan sát

+ G : Chạy tay ( cả hai chương trình ) cho học

sinh xem

+ Hs : chú ý nghe và tự chạy tay lại

+ G : so sánh kết quả khi chạy hai chương

trình

+ Hs : Kết quả bằng nhau

+ G : 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

+ G : Giới thiệu phần 3

+ G : 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

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

1 1 1

1

2 3 100

T     

Giải :

Để viết chương trình tính tổng

ta có thể sử dụng

1 1 1

1

2 3 100

T     

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 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);

Trang 5

Hoạt động3: Củng cố:

- Ghi nhớ sgk

- Làm bài tập 2,3a,bài 5 SGK/71

- Học bài và làm lại cỏc bài tập

- Nghiờn cứu trước bài thực hành

Tổ chuyên môn ký duyệt ngày 01/ 03 / 2010

TTCM

bao giờ kết thỳc

+ Hs : Chỳ ý nghe

+ G : 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

+ G : 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

* 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

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

Ngày đăng: 29/03/2021, 14:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w