1. Trang chủ
  2. » Trung học cơ sở - phổ thông

123doc chu de lap voi so lan chua biet truoc

10 1,3K 1

Đ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 10
Dung lượng 205,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

BƯỚC 2: Xác định yêu cầu, kiến thức, kỹ năng, thái độ 1 Kiến thức : Giúp HS - 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

Trang 1

CHỦ ĐỀ : LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

GIÁ

BƯỚC 1: NỘI DUNG CẦN KIỂM TRA ĐÁNH GIÁ

Lặp với số lần chưa biết trước

BƯỚC 2: Xác định yêu cầu, kiến thức, kỹ năng, thái độ

1) Kiến thức : Giúp HS

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

2) Kĩ năng:

- Hiểu 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 Pascal

3) Thái độ:

- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng

Nội dung Loại Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao

Lặp với số lần

chưa biết trước

Lý thuyết

HS mô tả

cú pháp câu lệnh lặp với số lần chưa biết trước,

ý nghĩa của câu lệnh lặp với số lần chưa biết trước

HS chỉ ra và giải thích được ý nghĩa của cú pháp câu lệnh lặp với số lần chưa biết trước

HS 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 một số bài toán đơn giản

Thực hành

HS biết cách sử dụng câu lệnh lặp với số lần chưa biết trước

Biết sử dụng câu lệnh lặp với số lần chưa biết trước trong việc viết chương trình

Trang 2

Nội dung câu hỏi Loại Nhận biết Thông

hiểu

Vận dụng thấp Vận dụng cao

1a, Em hãy lấy ví

dụ về một số việc

hàng ngày của

em

1b, Qua những ví

dụ các bạn vừa

lấy ra trên bảng

thì những công

việc nào chúng ta

đã biết trước số

lần lặp đi lặp lại

và công việc nào

chúng ta chưa biết

số lần lặp lại của

nó?

1c, em hãy giải

thích thuật toán

và sơ đồ khối ở ví

dụ 2

Lý thuyết

HS biết được thể nào là công việc lặp

đi lặp lại nhiều lần mà chưa biết được số lần lặp

HS biết xây dựng thuật toán và vẽ sơ

đồ khối

2a? Như vậy ta có

cú pháp câu lệnh

lặp với số lần

chưa biết trước

em hãy cho biết

“điều kiện” trong

cú pháp là gì?

2b Nhắc lại ý

nghĩa của câu

lệnh lặp với số lần

chưa biết trước?

2c ? Em hãy đọc

ví dụ 3 và phân

tích đề bài

2d Em hãy lên

chạy chương trình

và thay điều kiện

Lý thuyết

HS biết được điều kiện trong

cú pháp

HS nắm bắt được ý nghĩa của câu lệnh lặp với số lần chưa biết trước While<điều kiện> do <câu lệnh>;

HS hiểu được cách

sử dụng câu lệnh lặp với

số lần chưa biết trước trong viết chương trình

Hs hiểu được cách

sử dụng câu lệnh lặp với

số lần chưa biết trước

HS vận dụng được câu lệnh lặp với số lần chưa biết trước

để giải quyết bài toán

Trang 3

sai_so = 0.003

thành 0.002 ;

0.001 ; 0.005 ;

2e Em hãy đọc ví

dụ 4 và thực hiện

trên máy rồi sau

đó cho biết khi

chạy chương trình

này, ta nhận được

giá trị ntn?

2f.Với ví dụ 4 ta

có thể sự dụng

câu lệnh for

to do được

rằng chúng ta

có thể sử dụng câu lệnh

while…do

thay cho câu lệnh for…do

Hs biết vận dụng câu lệnh lặp để giải quyết bài toán

HS nắm được cách chạy chương trình và biết được kết quả đúng

3.a Như thể nào

là lặp vô hạn ?

Lý thuyết

Thực hành

HS biết được lặp vô hạn là gì

HS hiểu được một

số lỗi lập trình cần tránh

HS biết được một số lỗi lập trình cần tránh

để vận dụng vào giải quyết bài toán

II.GIÁO ÁN CHÚ ĐỀ:

BÀI 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Trang 4

I.MỤC TIÊU

1) Kiến thức : Giúp HS

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

2) Kĩ năng:

- Hiểu 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 Pascal

3) Thái độ:

- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng

II CHUẨN BỊ

1 GV :: Giáo án, máy chiếu, máy tính

2 HS: Sách, vở đọc trước bài ở nhà

III TIẾN TRÌNH LÊN LỚP

1 Ổn định:

- ổn định lớp ,kiểm tra sĩ số

2 Bài cũ:

3 Bài mới:

a Đặt vấn đề:

Với bài toán trên, trong TP ta sử dụng vòng lặp for…to…do sẽ thực hiện

dễ dàng Nhưng nếu ta thay số 100 bởi n ( tính tổng n số tự nhiên đầu

tiên ) thì ta sẽ gặp nhiều khó khăn trong việc sử dụng vòng lặp for…to…

do bởi lúc này số lần lặp không biết trước Vậy ta phải làm như thế nào ?

Giới thiệu bài mới

b Triển khai bài:

Hoạt động 1 Các hoạt động lặp với số

lần chưa biết trước

Gv : : y/c hs đọc ví dụ 1sgk/67

Gv : : Phân tích ví dụ

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

Hs : Chú ý lắng nghe

Gv : : Hướng dẫn hs xây dựng thuật toán

Hs : Chú ý nghe

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

xem ( Chỉ nên chạy tay thử từ 1 đến 10 )

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?

+ Hs : Nghe giáo viên hướng dẫn, sau

đó tự xây dựng thuật toán

Giải :

Trang 5

Hs ghi vở ví dụ 2

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

Hoạt động 2: Ví dụ về lệnh lặp với số

lần chưa biết trước

Gv : : Nêu nhận xét

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

Gv : : Giới thiệu cú pháp lệnh

while … do ….;

Gv : : xét ví dụ 3

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

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

Trang 6

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 )

Gv : : giới thiệu chương trình mẫu sgk

( GV in chương trinh mẫu trên

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

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

Gv : : Cho học sinh chạy chương trình

trên máy

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

0.003 thành 0.002 ; 0.001 ; 0.005 ;

trình Pascal dưới đây thể hiện thuật

toán tính số n trong ví dụ 2

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

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

+ Hs : Đọc ví dụ 3 + Hs : quan sát

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

0.005 hoặc < 0.003? Chương trình dưới

đây tính số n nhỏ nhất để 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.

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.

Trang 7

+ Hs : chú ý nghe

+ Hs : thực hiện

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

+ - Gv : : Cho học sinh chạy chương

trình trên máy

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

Ví dụ 5 Viết chương trình tính tổng

+ Hs : quan sát

Để viết chương trình tính tổng ta 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);

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

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

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

* 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.

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

+ - Gv : : Cho học sinh quan sát

+ - Gv : : Chạy tay ( cả hai chương

trình ) cho học sinh xem

+ - Gv : : so sánh kết quả khi chạy hai

chương trình

+ - Gv : : 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 4: Lặp vô hạn lần – Lỗi lập

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

+ Hs : Chú ý nghe

Trang 8

trình cần tránh

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

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

+ Hs : Chú ý nghe

+ - Gv : : Chẳng hạn, chương trình dưới

đây sẽ lặp lại vô tận:

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

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"

var a:integer;

begin

a:=5;

while a<6 do writeln('A');

end.

4 Củng cố:

- Giáo viên hệ thống lại toàn bộ kiến thức đã học

5 Dặn dò:

- Học bài theo sách giáo khoa và vở ghi

- Làm bài tập 1, 2, 3 SGK trang71

Đọc trước mục 3,4 sách giáo khoa

IV.RÚT KINH NGHIỆM:

Ngày đăng: 07/02/2017, 08:31

TỪ KHÓA LIÊN QUAN

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

w