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

TIN 8 TUAN 26 TIET 49 50

7 7 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 7
Dung lượng 20,05 KB

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

Nội dung

- 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 thỏa mãn.. - Hiểu hoạt độn[r]

Trang 1

Ngày soạn: 03/03/2013 Ngày dạy: 05/03/2013

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

I MỤC TIÊU:

1 Kiến thức:

- 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 thỏa mãn

- 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

2 Kĩ năng: Viết đúng lệnh while do trong một số tình huống đơn giản

3 Thái độ: Có ý thức tư duy, có thái độ ham học hỏi, tác phong làm việc nghiêm túc.

II CHUẨN BỊ:

1 Giáo viên: SGK, giáo án, máy chiếu

2 Học sinh: Đọc trước bài, SGK, đồ dùng học tập

III TIẾN TRÌNH TIẾT DẠY:

1 Ổn định tổ chức lớp : (1’)

2 Kiểm tra bài cũ: (4’)

Câu hỏi:

? Hãy cho biết đoạn chương trình in ra giá trị của i, j, k là bao nhiêu ?

J :=3 ;k :=4 ; For i :=1 to 5 do j :=j+1 ;

K :=k+j ; Writeln(j,’ ‘,k,’ ‘, i) ;

Trả lời:

j = 8 , k = 12, i = 5

3 Bài mới: (37’)

Hoạt động của giáo viên Hoạt động của học sinh Kiến thức ghi bảng

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

GV: Kể một số hoạt động được

lặp đi lặp lại với số lần biết

trước?

GV: VD: Tính tổng số tự nhiên

từ 1 đến 100, đánh răng, đi

học…

? Nêu một vài hoạt động với số

lần không biết trước

GV: Trong thực tế có nhiều

hoạt động được thực hiện lặp đi

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

trước

VD: Nhặt thóc không biết khi

nào thị nhặt xong

VD: Bạn Long gọi cho bạn

Hs: Ăn cơm ngày 3 bữa, tính tổng 100 số tự nhiên đầu tiên

Hs: Học bài không biết khi nào thì thuộc

`

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

* Ví du:Nhặt thóc, nhặt rau, học bài cũ

* Ví dụ 1:

* Ví dụ 2:

* Sơ đồ:

Sai

Tuần: 26

Tiết: 49

Trang 2

Trang mà không có ai nhấc

máy Vậy bạn Long cứ 10 phút

gọi cho bạn Trang cho đến khi

nhấc máy thì thôi Vậy bạn

Long có biết trước được gọi

mấy lần thì bạn Trang nhấc

máy không?

GV: Khi nào thì kết thúc hoạt

động bạn Long gọi cho bạn

Trang?

GV: Hãy hình dung

Trong khi <không có ai nhấc

máy> thì < bạn Long cứ mười

phút lại gọi 1 lần> cho đến khi

< có người nhấc máy>

VD2: Gv mời 1 em đọc bài

toán

GV: Phân tích bài toán

Phép cộng 1+2+3….n Cho đến

khi S>1000 thì dừng lại và in ra

kết quả S

Gv: Yêu cầu học sinh mô tả

thuật toán

Gv: Hoạt động này chỉ dừng lại

khi điều kiện đó sai S>1000 thì

dừng lại

Gv: Vẽ sơ đồ

Sai

Đúng

Gv: Yêu cầu - HS vẽ sơ đồ theo

bài toán trên

Gv: Dựa vào 2 VD trên giới

thiệu câu lệnh có dạng lặp với

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

Hs: Không biết được

Hs: Khi có người nhấc máy

Hs: đọc bài

B1: S 0,n 0;

B2: trong khi s<=1000, nn+1;

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

B3: S s + n và quay lại bước 2;

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

Hs: Vẽ sơ đồ theo bài toán trên

Sai

Đúng

Trang 3

Đúng

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

Gv: Giới thiệu 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

Gv: Câu lệnh này được thực

hiện thế nào?

VD3: Viết chương trình tính số

n nhỏ nhất để 1/n nhỏ hơn sai

số cho trước (Sai số=0.005);

Gv: Cho học sinh giải bài toán

Gv: Xác định bài toán

Gv: Mô tả thuật toán

Gv: Viết chương trình sử dụng

vòng lặp while do

Gv: Gợi ý cho - HS viết

Khai báo biến như thế nào?

Khai báo hằng?

Tại sao gán giá trị ban đầu là 1?

Sử dụng lệnh while<điều kiện>

do <câu lênh>

Tại sao lại bỏ trong begin end?

Nếu không bỏ trong begin

end thì điều gì sẽ xảy ra?

Gv: Chỉ thực hiện lệnh n+1 và

sẽ ra hiện tượng lặp đi lặp lại

mãi

Hs: 1 Kiểm tra điều kiện

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

1, câu lệnh sai sẽ bị bỏ qua và việc thực hiện lệnh sẽ kết thúc

Hs: 1/n=0.005 ==> n= 200;

Hs: Input: sai số = 0.005>1/n Output: n

B1: x=1,n=1 B2: khi x>= 0.005 thì nn+1;

x1/n B3: in ra giá trị n;

Program VD3;

Uses crt;

Var x: real;

N:integer;

Const saiso=0.005 Begin

Clrsrcr;

X:=1;n:=1;

While x>=saiso do Begin

N:=n+1;x:=1/n;

End;

Writeln(‘ So n nhỏ nhất để 1/n nhỏ hơn 0.005 là’, n);

Readln End

Hs: Tính phép tính n=1001

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

* Cú pháp:

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ách thức hoạt động:

1 Kiểm tra <điều kiện>

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

Trang 4

Gv: Khi khai báo saiso=0.005,

em thử thay saiso=0.001 thì n

sẽ bằng bao nhiêu?

4 Củng cố: (2’)

- Câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước

- Cú pháp câu lệnh lặp chưa biết trước?

5 Hướng dẫn về nhà: (1’)

- Làm bài tập trong SGK\T71, học bài

- Tiếp tục xem trước Bài 8

6 Rút kinh nghiệm:

Ngày soạn: 04/03/2013 Ngày dạy: 08/03/2013

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

I MỤC TIÊU:

1 Kiến thức:

- 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 thỏa mãn

- 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

2 Kĩ năng: Viết đúng lệnh while do trong một số tình huống đơn giản

3 Thái độ: Có ý thức tư duy, có thái độ ham học hỏi, tác phong làm việc nghiêm túc.

II CHUẨN BỊ:

Tuần: 26

Tiết: 50

Trang 5

1 Giáo viên: SGK, giáo án, máy chiếu

2 Học sinh: Đọc trước bài, SGK, đồ dùng học tập

III TIẾN TRÌNH TIẾT DẠY:

1 Ổn định tổ chức lớp : (1’)

2 Kiểm tra bài cũ: (4’)

Câu hỏi:

Viết cú pháp của lệnh lặp chưa biết trước? Giải thích, nêu cách thức hoạt động

Trả lời:

* Cú pháp:

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ách thức hoạt động:

1 Kiểm tra <điều kiện>

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.

3 Bài mới: (37’)

Hoạt động của giáo viên Hoạt động của học sinh Kiến thức ghi bảng

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

tìm n để khi Tn <1000

Gv : Cho Hs xác định bài

toán

Gv?: Nhắc lại thuật toán

Gv: Gợi ý cho - Hs viết

chương trình sử dụng vòng

lặp while do

Gv? Khai báo những biến

nào?

Gv? Ban đầu gán giá trị cho

s,n là bao nhiêu?

Gv: Cho Hs lên bảng viết

chương hoàn chỉnh

Gv: Nhận xét sửa lại để

được một chương trình hoàn

chỉnh

Hs: Xác định bài toán

* Xác định bài toán

Input: Tổng n số <1000 Output: S, n

Hs: Mô tả thuật toán

* Mô tả thuật toán

B1: S 0,n 0;

B2: trong khi s<=1000, nn+1;

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

B3: S s + n và quay lại bước 2;

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

Hs: Suy nghĩ viết chương trình

Hs: Biến S để chứa tổng và biến

n là số tự nhiên Hs: S:= 0; n:=1;

Hs: Lên bảng viết chương trình

Hs: Theo dõi

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

VD4: Viết chương trình tìm n

để khi Tn <1000

* Xác định bài toán

Input: Tổng n số <1000 Output: S, n

* Mô tả thuật toán

B1: S 0,n 0;

B2: trong khi s<=1000, nn+1; Ngược lại chuyển tới bước 4; B3: S s + n và quay lại bước 2;

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

*Viết chương trình

Program timn;

Uses crt;

Var n,s: integer;

Begin S:=0;n:=0 While s<=1000 do Begin

S:=s+n;

N:=n+1;

End;

Trang 6

Gv: Chạy bộ chương trình

theo từng bước của câu lệnh

để - Hs hình dung

Gv: Giải thích thêm cặp

lệnh nằm giữa Begin và End

VD5: Viết chương trình

tính tổng sau:

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

Gv: Gọi - HS lên viết

chương trình sử dụng for

do

Gv: Mời Hs khác nhận xét

Gv: Với bài toán này có thể

dùng while do được

không?

Gv Gợi ý

Gv: Cho Hs Viết chương

trình theo nhóm (5’)

Gv: Cho các nhóm trao đổi

phiếu học tập

Gv: Sửa chương trình

Gv: Nhận xét và cho điểm

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

while do thay cho câu

lệnh for do

Hs: Lên viết chương trình

Hs: Nhận xét Hs: Có thể sử dụng lệnh While

để viết chương trình cho bài toán này

Hs: Chú ý theo dõi

Hs: Lập nhóm và viết chương trình

Hs: Trao đổi phiếu Hs: Sửa bài của nhóm bạn

Writeln(‘so n nho nhat de tong>1000 là:’,n);

Writeln(‘ tổng dau tiên>1000 là:’,s);

Readln End

VD5: Viết chương trình để tính tổng T= 1+ 1/2+1/3 + + 1/100

* Nội dung chương trình:

tinhtong;

Program tinhtong;

Uses crt;

Var i,s: integer;

Begin S:=0;i:=0 While i<=100 do begin

S:=s+1/I;

I:=i+1;

End;

Writeln(‘tổng là:’,s);

Readln End

Hoạt động 2: Lặp vô hạn lần – Lỗi lập trình cần tránh (15’)

Gv: Cho ví dụ lặp không

bao giờ ngừng và việc viết

chương trình cần tránh vòng

lặp không bao giờ kết thúc

*Ví dụ:

Var x: integer;

Begin

X:=5;

While x<7 do writeln(‘Chao

ban’);

End

Gv?: Phân tích các lệnh trên

Gv: Giải thích về lặp vô

hạn

VD:

S:=0; i:=0;

Hs: Phân tích ví dụ: Cho x ban đầu bằng 5

Khi x<5 thì viết ra chào bạn

Nhưng x luôn < 5 nên vòng lặp được thực hiện không bao giờ kết thúc Lặp đi lặp lại vô hạn lần

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

- Vòng lặp vô hạn là vòng lặp

không kết thúc

* Nguyên nhân: Do điều kiện sau While luôn đúng nên câulệnh sau Do luôn được thực hiện

* Cách khắc phục: Muốn khắc phục thì trong câu lệnh sau Do cần phải có câu lệnh làm cho điều kiện sau while dần đi đến sai

Trang 7

While i<=100 do

S:=s+1/I;

GV: Lấy ví dụ bài trên

Thực hiện vô hạn lần vì I

lúc nào cũng nhỏ hơn 100

4 Củng cố: (2’)

- Câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước Sử dụng câu lệnh lặp chưa biết trước vào các bài toán

- Cú pháp câu lệnh lặp chưa biết trước? Lỗi lặp vô hạn lần

5 Hướng dẫn về nhà: (1’)

- Làm bài tập trong SGK\T71

- Tiết sau tiết bài tập

6 Rút kinh nghiệm:

Ngày đăng: 24/06/2021, 00:58

w