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

[GIAO AN] Bai 8. Lặp với số lần chưa biết trước (3 cột)

8 2,2K 25

Đ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 8
Dung lượng 234 KB

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

Trang 1

GIÁO ÁN MÔN TIN HỌC

TUẦN 26 Tiết PPCT: 13 Tiết TKB: 3 LỚP: 8/1

Ngày soạn : 27/02/2010 Ngày dạy : 02/03/2010 GVHD: La Thị Huyền Đan

SV dạy: Trần Ngọc Khoa

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

I MỤC TIÊU

- 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

- Kỹ năng: vận dụng được câu lệnh While do để giải các bài tập có cấu trúc

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

- Thái độ: tập trung, tích cực trong giờ học

II CHUẨN BỊ

- GV: giáo án, sgk, bảng phụ

- HS: xem kỹ bài cũ, đọc trước bài mới

III TIẾN TRÌNH BÀI DẠY

HĐ1: Kiểm tra bài cũ, đặt vấn đề vào bài mới ( 8’)

- HS:

(?) Câu lệnh For to do dùng để làm gì?

(?) Cho biết cấu trúc của câu lệnh lặp For to do?

Trang 2

+ Cho đoạn chương trình sau

V a r i , j : i n t e g e r ;

b e g i n

j : = 0 ;

F o r i : = 1 ; t o 3 d o j : = j + i ;

e n d ;

(?) Hãy kiểm tra xem chương trình có lỗi hay không và cho biết sau khi thực

hiện chương trình, biến j sẽ mang giá trị bằng bao nhiêu?

- GV nhận xét, cho điểm

- Đặt vấn đề vào bài mới:

Xét bài toán sau:

“Tính tổng S của 100 số tự nhiên đầu tiên 1, 2, 3, 100

S = 1 + 2 + 3 + … + 100”

Với bài toán trên, ta nhận thấy tổng S sẽ được tính sau 99 lần lặp lại thao tác

cộng, ta dễ dàng giải quyết bài toán bằng lệnh lặp For to do trong Turbo Pascal.

Nhưng nếu như bài toán trên trở thành

“Tính tổng S các số tự nhiên đầu tiên S = 1 + 2 + 3 + … cho đến khi

S>1000”

Vấn đề đặt ra ở đây là chúng ta phải thực hiện thao tác cộng bao nhiêu lần để điều kiện S>1000 được thỏa mãn Rõ ràng ta thấy xuất hiện sự lặp lại thao tác cộng với số lần chưa biết trước Vậy, lặp với số lần chưa biết trước là như thế nào? Trong ngôn ngữ lập trình Pascal được thể hiện ra sao? Để tìm hiểu kỹ hơn về vấn

đề này, chúng ta vào bài 8

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

Trước tiên ta cần hiểu rõ thế nào là lặp với số lần chưa biết trước thông qua

một số ví dụ

Trang 3

HĐ2: 1) Tìm hiểu một số ví dụ về Các hoạt động lặp với số lần chưa biết

trước (20’)

a) GV cho một số ví dụ

- Gieo hai hạt xí ngầu cho đến

khi được hai mặt có cùng số

nút

(?) Phải gieo bao nhiêu lần?

(?) Khi nào ngừng gieo?

- Thử nhiều chìa khóa vào một

ổ khóa cho đến khi tìm được

đúng chìa khóa của ổ khóa

(?) Phải thử bao nhiêu lần?

(?) Khi nào ngừng thử?

- HS ghi nhận

- Không thể biết trước

- Khi hai mặt cùng số nút

- HS ghi nhận

- Không thể biết trước

- Khi tìm được đúng chìa khóa để mở ổ khóa

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

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

- Nhận xét: có sự lặp lại cho

đến khi thỏa mãn một điều

kiện nào đó Xét ví dụ trong

SGK để làm rõ vấn đề này

- HS ghi nhận

b) Xét Ví dụ 1 SGK

- Gọi HS đọc Ví dụ 1

- GV phân tích vế đầu: bạn

Nam lặp lại thao tác gọi điện

thoại trong 3 lần

(?) Việc bạn Nam thực hiện ba

cuộc gọi có phải là hoạt động

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

hay là hoạt động lặp với số lần

biết trước ?

- Đó là hoạt động lặp với

số lần lặp biết trước

a) Ví dụ 1 SGK trang 67

- GV phân tích vế sau: bạn

Trang 4

thoại cho đến khi nào có người

nhấc máy

(?) Việc gọi điện thoại cho đến

khi có người nhấc máy là hoạt

động lặp với số lần biết trước

hay chưa biết trước?

- Hoạt động lặp với số lần chưa biết trước

(?) Khi nào thì hoạt động lặp

lại này kết thúc?

- Khi có người nhấc máy nghe điện thoại

(?) Nếu không có người bắt

máy thì sẽ như thế nào?

- Tiếp tục gọi cho đến khi

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

- Ta thấy có sự lặp lại các thao

tác tương tự nhau (gieo xí

ngầu, thử chìa khóa, gọi điện

thoại) với số lần lặp là chưa thể

biết trước, cho đến khi thỏa

mãn một điều kiện nào đó (hai

mặt có cùng số nút, tìm đúng

chìa khóa, có người nhấc máy

nghe điện thoại) Đây chính là

hoạt động lặp với số lần chưa

biết trước Ta sẽ đi sâu vào vấn

đề này qua Ví dụ 2

c) Xét Ví dụ 2

- Gọi HS đọc Ví dụ 2 - Cá nhân HS đọc

b) Ví dụ 2 SGK 67 (?) Bài toán yêu cầu làm gì? - Cá nhân HS dựa vào

SGK trả lời

(?) Hãy giải thích cụm từ

“Tổng tự nhiên nhỏ nhất lớn

hơn 1000”?

- Cộng các số tự nhiên đến một giá trị n nào đó thì tổng S sẽ lớn hơn 1000

Giá trị S tại thời điểm đó

Trang 5

gọi là “Tổng tự nhiên nhỏ

nhất lớn hơn 1000”.

- GV nhận xét, tóm ý - HS ghi nhận

- Gợi ý hướng giải quyết bài

toán:

+ Gán S0 =0;

+ Tính S1 : S1 = S0 + n (n=1);

+ Xét điều kiện, nếu S1<1000

thì tính S2=S1+n (n=2); nếu

S1>1000 thì dừng lại

+ Thực hiện tương tự với

n=3,4… cho đến khi có một số

n mà Sn>1000

- HS ghi nhận

- Cho HS (chia 4 nhóm) thảo

luận nhóm (trong 4 phút) làm

rõ các bước của thuật toán ở Ví

dụ 2

(?) Biến n có ý nghĩa gì?

(?) Giải thích từng bước của

thuật toán?

- Thảo luận nhóm

- Lưu trữ giá trị tăng dần của các số tự nhiên

- B1: gán giá trị cho biến;

B2: thực hiện thao tác so sánh Nếu S<= 1000 thì tăng n, tức gán giá trị của

số tự nhiên tiếp theo vào

n, ngược lại thì kết thúc bài toán

B3: thực hiện cộng tổng

S = S +n và trở về B2.

B4: in kết quả.

(?) Ở ví dụ 2 ta có xác định - Không thể xác định

Trang 6

(?) Vòng lặp phụ thuộc vào

điều kiện nào?

- Phụ thuộc vào điều kiện S<=1000

(?) Khi nào kết thúc vòng lặp? - Khi S>1000 (tức điều

kiện sai)

(?) Tổng quát : việc lặp với số

lần chưa biết trước phụ thuộc

vào điều gì? Phụ thuộc như thế

nào?

- Cá nhân HS trả lời - Việc lặp với số lần chưa

biết trước phụ thuộc vào một điều kiện cụ thể nào

đó có được thỏa mãn hay không

- Gọi HS đọc nội dung SGK - Cá nhân HS đọc

- Treo hình 39 (SGK 68) và

gọi HS mô tả

- GV nhận xét

- Ta đã hiểu được thế nào là

thao tác lặp với số lần chưa

biết trước Vậy trong Pascal

thao tác này được thể hiện như

thế nào? Ta hãy tìm hiểu phần

2

- Cá nhân HS mô tả + B1 : Xét điều kiện

+ B2 : Nếu điều kiện đúng thì thực hiện câu lệnh và quay trở lại B1, ngược lại kết thúc bài toán

- Có thể mô tả việc lặp với

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

sơ đồ khối dưới đây

HĐ3: 2 Ví dụ về lệnh lặp với số lần chưa biết trước (12’)

- Giới thiệu câu lệnh lặp

While do

- HS ghi nhận - 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>;

+ Điều kiện thường là

một phép so sánh

Trang 7

+ 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 While do được

thực hiện như thế nào?

- HS dựa vào SGK trả lời - Câu lệnh While do

được thực hiện:

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

2 Nếu điều kiện sai, câu

lệnh bỏ qua, lệnh lặp kết

thúc; điều kiện đúng, câu

lệnh được thực hiện và

quay lại bước 1

- Dùng câu lệnh While do

viết chương trình thực hiện bài

tập ở ví dụ 2

Hướng dẫn :

(?) Chương trình cần những

biến nào? Khai báo ra sao?

(?) Điều kiện ở đây là gì?

(?) Câu lệnh ở đây là gì?

- HS (chia 4 nhóm) thảo luận (trong 4 phút)

- Biến S và n

S:=0; n:=0;

- S<= 1000

- While S<=1000 do Begin

n:=n+1; S:= S+n;

End;

- Yêu cầu các nhóm trình bày

vào bảng phụ và treo lên bảng

- Các nhóm hoàn thành chương trình vào bảng phụ

và treo lên bảng

- GV nhận xét và cho HS ghi

nhận vào vở

- HS ghi nhận

HĐ4: Củng cố (4’)

(?) Lặp với số lần biết trước và

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

- Cá nhân HS trả lời

Trang 8

khác nhau như thế nào?

(?) Cho một số ví dụ trong

cuộc sống thể hiện lặp với số

lần chưa biết?

- Cá nhân HS cho ví dụ

(?) Câu lệnh While do được

thực hiện như thế nào?

- Cá nhân HS trả lời

HĐ5: Dặn dò (1’)

- Về xem lại cấu trúc của lệnh lặp While do, so sánh sự khác nhau giữa câu

lệnh For to do với While do.

- Đọc trước bài mới

Duyệt của GVHD Trường THCS Phường 4, ngày 27/02/2010

SV soạn

TRẦN NGỌC KHOA

Ngày đăng: 01/07/2014, 14:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w