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

GA bai 10 tin hoc 11

7 1,1K 1
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 đề Cấu Trúc Lặp
Chuyên ngành Tin Học
Thể loại Giáo án
Định dạng
Số trang 7
Dung lượng 70,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

- Hiểu cấu trúc lặp với số lần biết trớc, cấu trúc lặp kiểm tra điều kiện trớc.. - Biết mô tả đợc thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.. - Viết đúng lệnh lặp với s

Trang 1

Tuần :

Tiết : 13+14+15 Ngày soạn: Ngày giảng:

Bài 10 Cấu trúc lặp

I mục tiêu của bài:

1 Kiến thức

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán

- Hiểu cấu trúc lặp với số lần biết trớc, cấu trúc lặp kiểm tra điều kiện trớc

2 Kĩ năng

- Biết vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể

- Biết mô tả đợc thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp

- Viết đúng lệnh lặp với số lần biết trớc, lệnh lặp kiểm tra điều kiện trớc

- Viết đợc thuật toán của một số bài toán đơn giản

3 Thái độ

- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính

- Tiếp tục rèn luyện các phẩm chất cần thiết của ngời lập trình

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

1 Giáo viên: SGK, giáo án, STK (máy chiếu nếu có)

2 Học sinh: SGK, chuẩn bị trớc bài ở nhà

III Phơng pháp giảng dạy

- Thuyết trình, đàm thoại

IV Tiến trình bài học và các hoạt động:

1 ổn định tổ chức: 1’

2 Kiểm tra bài cũ:

Em hãy cho biết sự giống và khác nhau của hai dạng lệnh If – Then

3 Bài mới:

Tiết 13

* Hoạt động 1: Giới thiệu cho HS biết rẽ nhánh là gì?

- GVĐVĐ: Ở bài trước chỳng ta đó học

về lệnh rẽ nhỏnh nhưng khụng phải lỳc

nào chỳng ta cũng cú thể sử dụng được

cấu trỳc rẽ nhỏnh Nhiều bài toỏn cũn

phức tạp hơn mà cấu trỳc rẽ nhỏnh khụng

đỏp ứng được Hụm nay chỳng ta làm

quen với một dạng cấu trỳc khỏc đú là

cấu trỳc lặp

- GV: Đưa ra hai bài toỏn, yờu cầu HS

tỡm cỏch để giải bài toỏn này

- HS: Đưa ra cỏch giải bài toỏn của mỡnh,

cú thể cú nhiều cỏch giải khỏc nhau

1 Lặp

- Xột 2 bài toỏn với a là số nguyờn và a>2

Bài toỏn 1: Tớnh và đưa ra kết quả màn

hỡnh tổng:

100

1

2

1 1

1 1

1

a a

a a S

Trang 2

- GV: Trình bày cách giải bài toán từng

bước một

S1:= 0;

S1:=S1+1/a;

S1:=S1+1/(a+1);

……

S1:=S1+1/(a+N);

Sau đó gọi học sinh nhận xét về cách giải

bài toán này

- HS: Nếu giải theo cách này thì ta phải

viết 100 lần câu lệnh nếu như N=100,

Nêu N>100 thì số lần phải viết chưa biết

trước Nếu áp dụng cho cả hai bài toán thì

đều quá dài

- GVDD: Vậy ta có thể giải bài toán này

theo cách nào ngắn nhất mà vẫn chính

xác

- GV: Lấy 1 ví dụ thực tế về việc tính

toán lặp đi lặp lại nhiều lần để học sinh

hiểu được khái niệm lặp

Bài toán 2: Tính và đưa ra kết quả màn

hình tổng:

N a a

a a

S

2

1 1

1 1

2

cho đến khi 1  0 , 0001

N a

Cách giải:

- B1: Khởi tạo S:=1/a;

- B2: Tiếp theo mỗi lần thì cộng thêm vào

S là 1/(a+N) với N=1,2,3,

- Với bài toán 1 thì việc cộng thêm dừng khi N=100 có nghĩa là đã biết được số lần lặp biết trước

- Với bài toán 2 thì việc cộng thêm dừng khi 1/(1+N)<0,0001 Có nghĩa là số lần lặp chưa biết trước

Vậy: Trong lập trình có những thao tác

phải lặp đi lặp lại nhiều lần, khi đó gọi là cấu trúc lặp.

Trong lập trình thường có hai loại cấu trúc lặp:

+ Lặp vớí số lần biết trước

+ Lặp với số lần không biết trước

Ý nghĩa của cấu trúc lặp: Cấu trúc lặp

là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc một điều kiện nào đó còn đúng.

* Hoạt động 2: Trình bày cho HS biết Lặp với số lần biết trước và cấu trúc lệnh lặp

For-do trong ngôn ngữ lập trình Pascal

GV dẫn dắt vào vấn đề: Trong lập trình

có hai loại cấu trúc lặp, đó là lặp với số

lần biết trước và lặp với số lần không biết

trước Chúng ta đi tìm hiểu lần lượt từng

cấu trúc lặp

Trang 3

GV: Dùng bảng phụ để đặt câu hỏi cho

HS

GV: Gọi 2 HS lên bảng biểu diễn 2 thuật

toán trên bảng phụ bằng phương pháp vẽ

sơ đồ khối

HS: Lên bảng biểu diễn sơ đồ khối của

hai thuật toán trên

GV: Thuật toán trên có lặp không?

HSTL: Thuật toán trên lặp

GV: Hai thuật toán trên giống và khác

nhau như thế nào?

HS: Trả lời theo sự hiểu biết của mình

GV: Nhận xét tổng họp những ý kiến của

HS và dẫn dắt đưa HS biết dạng lặp với

số lần biết trước và sau đó đưa ra hai

dạng cấu trúc lặp với số lần biết trước

trong Pascal

GV: Nói rõ cho HS biết khi nào dùng

dạng lặp tiến và khi nào dùng dạng lặp

lùi

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

câu lệnh for-do

- Dạng lặp với số lần biết trước dùng để thực hiện câu lệnh một số lần xác định Dạng này dùng biến điều khiển để điều khiển vòng lặp

- Để mô tả cấu trúc lặp với số lần biết trước, Pascal dùng câu lệnh lặp for-do với hai dạng tiến lùi

+ Dạng lặp tiến:

For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

+ Dạng lặp lùi:

For <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;

- Trong đó:

+ Biến đếm thường là kiểu số nguyên + Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm Giá trị đầu nhỏ hơn giá trị cuối

+ Dạng lặp tiến: Biến đếm tự tăng dần từ giá trị đầu đến giá trị cuối

+ Dạng lặp lùi: Biến đếm tự giảm dần từ giá trị cuối đến giá trị đầu

* Chú ý: Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến

Trang 4

điều khiển.

Tiết 14

* Hoạt động 3: Rèn luyện kỹ năng vận dụng lệnh For - do

- ổn định lớp:

- Kiểm tra bài cũ:

HĐ 1: Kiểm tra kiến thức cũ

MT: Nhắc lại cú pháp, hoạt động của câu

lệnh For Do

- GV: Hãy nêu cú pháp của hai câu lệnh

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

của chúng?

- HS:

1/ Lặp dạng tiến:

for<biếnđếm>:=<gtđ>to<gtc>do<câu

lệnh>;

2/ Lặp dạng lùi:

for<biếnđếm>:=<gtc> downto <gtđ>do

<câu lệnh>;

Hoạt động của lệnh:

- Lặp dạng tiến: câu lệnh sau DO đc

thực hiện tuần tự, với biến đếm lần

lợt nhận các giá trị tăng dần từ

GTĐ đến GTC

- Lặp dang lùi: Câu lệnh sau DO đc

thực hiện tuần tự với biến đếm lần

lợt nhận các giá trị giảm dần từ

GTC đến GTĐ

HS: Trả lời câu hỏi

GV: Nhận xét

HĐ 2: Vận dụng kiến thức

MT: Vận dụng câu lệnh For – do vào

biểu diễn thuật toán Tong_1a

GV: Ví dụ cài đặt thuật toán Tong_1a

HS: Nghe giảng, ghi bài

HS: Nghiên cứu 2 ví dụ

GV: Hãy so sánh hai thuật toán trên

HS: Nhắc lại kiến thức cũ về thuật toán

GV: Củng cố thêm trả lời của học sinh

GV: áp dụng vào thuật toán Tong_1a

hãy trình bày thuật toán của Tong_1b

HS: Lên trình bày thuật toán Tong_1b

* Các ví dụ về câu lệnh lặp:

VD1: Thuật toán Tong_1a.

Program Tong_1a;

Uses crt;

Var s: real;

a, N:Integer;

Begin Clrscr;

Write(‘Nhap gia tri a vao: ’); Readln(a);

S:=1/a;

For N:=1 to 100 do S:=S+1/(a+N);

Writeln(‘Tong s la: ’,S:8:4); Readln

End

Trang 5

GV: Nhận xét cách làm của học sinh

HĐ 3: Vận dụng câu lệnh vào bài toán

cụ thể:

MT: Viết đợc chơng trình theo yêu cầu

của VD 2

GV: Giới thiệu ví dụ 2

HS: Quan sát ví vụ

HS: Nghe giảng, ghi bài

VD2: Nhập vào từ bàn phím 2 số nguyên dơng M và N, tính và đa ra màn hình tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M->N.

Program VD2;

Uses crt;

Var M,N,i: Integer;

T: longint;

Begin Clrscr;

Write(‘Nhap so M nho hon N: ’); Write(‘Nhap M: ’); readln(M);

Write(‘Nhap N: ’); readln(N);

T:=0;

For i:=M to N do

If (i mod 3 =0) or (I mod 5 =0) then T:=T+i;

Writeln(‘Ket qua: ’, T);

Readln End

Tiết 15

Hoạt động 4: Trỡnh b y cho HS biày cho HS bi ết Lặp với số lần cha biết trước v cày cho HS bi ấu trỳc lệnh lặp For-do trong ngụn ngữ lập trỡnh Pascal

Đặt vấn đề:

Treo nội dung bài toỏn Tong_2 lờn bảng

- GV: Sự khỏc nhau về giới hạn lặp của

bài toỏn này với bài toỏn 1?

- HS: Quan sỏt suy nghĩ và trả lời.

Bài toỏn 1: Cho giới hạn là N

Bài toỏn 2: Cho giới hạn là S

- GV: Lặp bao nhiờu lần?

- HS: Quan sỏt suy nghĩ và trả lời.

Bài toỏn 1: Lặp 100 lần

Bài toỏn 2: Chưa xỏc định được

- GV: Lặp đến khi nào?

- HS: Quan sỏt suy nghĩ và trả lời.

Bài toỏn 1: Lặp đến khi N>100

Bài toỏn 2: Lặp đến khi điều kiện

1/(1+N)<0.0001 được thỏa món

3 Lặp với số lần cha biết trớc Câu lệnh While do.

Cấu trỳc chung:

While <điều kiện> do <cõu lệnh lặp>; Giải thớch:

+ <điều kiện>: Là biểu thức quan hệ hoặc biểu thức logic, là điều kiện để lặp lại + <cõu lệnh lặp>: Là cỏc lệnh cần phải lặp lại

- Chú ý: Trong cấu trúc lặp While do phải có lệnh tăng biến chỉ số.

* ý nghĩa: Khi điều kiện còn đúng thì

cong thực hiện câu lẹnh sau Do sau đó lại

Trang 6

- GV: NhËn xÐt vµ ®a ra kÕt luËn.

* KL: Qua ví dụ ta thấy có một dạng bài

toán có sự lặp lại một số lệnh nhưng

không biết trước được số lần lặp Cần có

một cấu trúc điều khiển lặp lại một công

việc nhất định khi thỏa mãn một điều

kiện nào đó

- GV: Trong bài toán 2 điều kiện lặp lại

là gì?

- HS: Suy nghÜ vµ tr¶ lêi.

- GV: Trong bài toán 2 lệnh cần lặp là

gì?

- HS: Suy nghÜ vµ tr¶ lêi.

- GV: Sự khác nhau trong lệnh cần lặp

For và While là gì?

- HS: Quan s¸t vµ Suy nghÜ tr¶ lêi.

- GV: Dựa vào cấu trúc cho biết máy sẽ

thực hiện tính điều kiện trước hay thực

hiện lệnh cần lặp trước

Kết luận: Treo sơ đồ cấu trúc của câu

lệnh While – do lên bảng và giải thích

- GV: Trong bài toán này điều kiện lặp là

gì?

- HS: Not (1/(a+N)<0.0001)

- GV: Trong bài toán này lệnh cần lặp là

gì?

- HS: N: = N + 1; S : = S + 1/(a+N);

- GV: Nếu bỏ Not đi thì điều kiện thực

hiện câu lệnh lặp sẽ được viết như thế

nào?

- HS: Suy nghÜ tr¶ lêi

- GV: Đối với bài lập trình này câu lệnh

sau do ta sử dụng là câu lệnh đơn hay câu

lệnh ghép?Tại sao?

- HS: Suy nghÜ tr¶ lêi

- GV: LÊy vÝ dô vÒ thuËt to¸n t×m íc sè

chung lín nhÊt cña hai sè M, N

- GV: Điều kiện để tiếp tục lặp là gì?

- HS: M<>N

- GV: Các lệnh cần lặp là gì?

quay l¹i kiÓm tra ®iÒu kiÖn

* Ví dụ 1: Tính và đưa kết quả ra màn

hình tổng:

1

2

1 1

1 1

N a a

a a

S

0001 0

1

N a

Ví dụ 2: Tìm ƯCLN của hai số nguyên

dương M, N Phân tích để xác định <điều kiện> và

<lệnh cần lặp>

VD:

M = 25 M = 10

N = 15 N = 15

M = 10 M = 5

N = 5 N = 5

M:=M-N

Trang 7

- HS: M: = M – N ; N: = N – M;

Gọi hs nên viết câu lệnh lặp While – do

cho bài toán này

KL: Treo chương trình cài đặt trên giấy

A0 và giải thích

- GV: Có thể lấy câu lệnh While – do để

thay thế câu lệnh For – do trong bài toán

tong_1a được không? Nếu được thì viết

lại như thế nào?

- HS: Có thể thay thế được.

N : = 0;S:=1/a;

While (N<=100) do

Begin

N: = N + 1;

S: = S + 1/(a+N);

End;

 ƯCLN (25,15) = 5

IV cñng cè dÆn dß.– dÆn dß

1 Nội dung đã học.

- Ý nghĩa của cấu trúc lặp có số lần chưa biết trước

- Cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal

- Sơ đồ thực hiện lệnh lặp While

- Sự thực hiện của máy khi gặp lệnh While

2 Câu hỏi và bài tập về nhà.

- Giải bài tập 4, 5 b,7,8 SGK/trang 51

- Xem nội dung bài thực hành 2 SGK trang 49

- Xem nội dung phụ lục B SGK trang 131; lệnh rẽ nhánh và lặp

- Xem nội dung phụ lục C SGK trang 139; lệnh rẽ nhánh và lặp

Ngày đăng: 03/07/2013, 21:50

HÌNH ẢNH LIÊN QUAN

Hình tổng: - GA bai 10 tin hoc 11
Hình t ổng: (Trang 1)
Hình tổng: - GA bai 10 tin hoc 11
Hình t ổng: (Trang 6)

TỪ KHÓA LIÊN QUAN

w