1. Trang chủ
  2. » Giáo án - Bài giảng

Tiết 50 Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

2 6,2K 41
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

Tiêu đề Lặp với số lần chưa biết trước
Người hướng dẫn Hoàng Đức Kiên
Trường học Trường THCS Quảng Thành
Thể loại bài giảng
Định dạng
Số trang 2
Dung lượng 197,5 KB

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

Nội dung

Trường THCS Quảng ThànhI.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ế

Trang 1

Trường THCS Quảng Thành

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ị

GV: SGK, máy chiếu, phim trong các ví dụ về chương trình

HS: 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ủ

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.

3 Bài mới

+ 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

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

+ 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

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 Tn nhỏ nhất lớn hơn 1000?

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 :

Giáo viên: Hoàng Đức Kiên

Trang 2

Trường THCS Quảng Thành

+ 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

+ Gv : Xét ví dụ 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

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

+ Hs : quan sát

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

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

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

* 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

2 Ví dụ về lệnh lặp với số lầ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

1

n <

0.003? Chương trình dưới đây tính số n nhỏ nhất để 1

n

nhỏ hơ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.

4 Củng cố:

- Lấy ví dụ về các hoạt động phải lặp lại với số lần chưa biết trước

5 Hướng dẫn về nhà:

- Học bài và Nghiên cứu trước nội dung các phần còn lại

Giáo viên: Hoàng Đức Kiên

Ngày đăng: 20/07/2013, 01:26

TỪ KHÓA LIÊN QUAN

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

w