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

bai 10: Cấu truvs lặp tiết 1

15 290 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 1,44 MB

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

Nội dung

GI ỚI THIỆU I THI U ỆUNỘI DUNG Có Những hoạt động mà chúng ta lặp với số lần nhất định và biết tr ớc, chẳng hạn : -Đánh răng mỗi ngày hai lần.. Chúng ta còn lặp lại những công việc với s

Trang 1

GI ỚI THIỆU I THI U ỆU

NỘI DUNG

Có Những hoạt động mà chúng ta lặp với số lần nhất định và biết tr ớc, chẳng hạn :

-Đánh răng mỗi ngày hai lần

-Mỗi ngày tắm 1 lần

Chúng ta còn lặp lại những công việc với số lần không thể xác định tr ớc, chẳng hạn

-Học cho đến khi thuộc bài

-Nhặt từng cọng rau cho đến khi xong…

Khi viết ch ơng trình máy tính cũng vậy Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều

tr ờng hợp ta cũng cần phảI viết nhiều câu lệnh thực hiện 1 phép tính nhất định

Ổn định lớp

NỘI DUNG

Củng cố

1-Lặp

2.Lặp với số lần xác định

3-Ch ơng trình

Trang 2

Bµi 10

Ngµy 28 th¸ng 9 n¨m 2013

Trang 42 s¸ch gi¸o khoa

Trang 3

NỘI DUNG

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 khi cú một điều kiện nào

đú cũn đỳng.

C ấu trỳc lặp mụ tả thao tỏc lặp và được phõn hai loại :

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

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

1/ LẶP

Ổn định lớp

NỘI DUNG

Củng cố

1-Lặp

2.Lặp với số lần xác định

3-Ch ơng trình

Trang 4

Ngµy 24 th¸ng 11 n¨m 2008

Trang 5

XuÊt ph¸t

a

1

1

a

LÇn 1

2

1

a

100

1

a

Sau mçi lÇn thùc hiÖn céng vµo tæng S mét gi¸ trÞ b»ng bao nhiªu?

1

Sau mçi lÇn thùc hiÖn gi¸ trÞ tæng S t¨ng thªm  ( víi N=1, 2,3

, ,100)

a + N

bµi to¸n 1

Víi a lµ sè nguyªn vµ a>2 TÝnh vµ ® a kÕt qu¶ ra mµn h×nh tæng

100

1

2

1 1

1

1

a a

a a

S

+…

• ViÖc t¨ng gi¸ trÞ cho tæng S ® îc lÆp ®i lÆp l¹i 100 lÇn

Sè lÇn lÆp biÕt tr íc.

Trang 6

Ph©n tÝch bµi to¸n 1

NhËn xÐt:

S 0 = 1/a

S 1 = S 0 + 1/(a+1)

S 2 = S 1 + 1/(a+2)

S 100 = S 99 + 1/(a+100)

B¾t ®Çu tõ S 1 viÖc tÝnh S ® îc lÆp ®i lÆp l¹i 100 lÇn theo quy luËt

S sau = S tr íc + 1/(a+N) (víi N =1,2, ,100 )

1

1

a

a

100

1

a

+…

2

1

a

Trang 7

Bước 1 S1/a ; N0;

Bước 2 NN+1;

Bước 3 Nếu N>100 thì chuyển đến bước 5;

Bước 4 SS+1/(a+N) rồi quay lại bước 2;

Bước 5 Đưa S ra màn hình rồi kết thúc.

ThuËt to¸n Tong_1 a

Bước 1 S1/a ; N101;

Bước 2 NN-1;

Bước 3 Nếu N<1 thì chuyển đến bước 5;

Bước 4 SS+1/(a+N) rồi quay lại bước 2; Bước 5 Đưa S ra màn hình rồi kết thúc.

Giá trị N khi bắt đầu tham gia vòng

lặp là 1 và sau mỗi lần lặp N tăng lên

1 cho đến khi N>100(N=101) thì kết

thúc.

Giá trị N khi bắt đầu tham gia vòng lặp

là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N<1 (N=0) thì kết thúc.

ThuËt to¸n tong_1 b

2/ LÆp víi sè lÇn biÕt tr íc vµ c©u lÖnh For - do

Víi a lµ sè nguyªn vµ a>2 TÝnh vµ ® a kÕt qu¶ ra mµn h×nh tæng

100

1

2

1 1

1

1

a a

a a

S

Sè lÇn lÆp cña c¶ hai thuËt to¸n trªn lµ biÕt tr íc vµ nh nhau ( 100 lÇn)

Trang 8

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

b Dạng 2 (dạng lặp lùi)

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

a Dạng 1 (dạng lặp tiến)

Câu lệnh Lặp For do trong ngôn ngữ lập trình Pascal– do trong ngôn ngữ lập trình Pascal

Trong đó

 Biến đếm là biến đơn, th ờng có 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 phải nhỏ hơn hoặc bằng giá trị cuối.

Giá trị biến đếm đ ợc điều chỉnh tự động, vì vậy câu

lệnh sau DO không đ ợc thay đổi giá trị biến đếm.

Trang 9

Câu lệnh viết sau từ khoá do đ ợc thực hiện tuần tự, với biến đếm

lần l ợt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.

b Dạng 2 (dạng lùi)

Câu lệnh viết sau từ khoá do đ ợc thực hiện tuần tự, với biến

đếm lần l ợt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu

a Dạng 1 (dạng tiến)

Hoạt động của lệnh for - do

Trang 10

Program Tong-1a;

Var S:real; a,n:Integer;

Begin Write (‘Nhap vao a>2’); Readln(a);

s:=1/a; (* Buoc 1 *) For n:=1 to 100 do (* Buoc 2, buoc 3 *) S:=S+1/(a+n); (* Buoc 4 *)

write(‘Tong S la’,S:5:1); (* Buoc 5 *) Readln;

End.

Trang 11

Ch ¬ng tr×nh sau cho ra kÕt qu¶ g×? Program MAU;

Var a,n:Integer;

Begin a:=0;

For n:= a+1 to a+3 do

a:=a+n;

write(‘Ket qua la’, a);

Readln;

End.

Ket qua la 6

Trang 12

Víi a lµ sè nguyªn vµ a>2.

TÝnh vµ ® a kÕt qu¶ ra mµn h×nh tæng

100

1

4

1 2

1

1

a a

a a

S

C¸ch 1: C¸ch 2:

S:=1/a;

For n:=2 to 100 do Begin

s:=s+1/(a+n); n:=n+2;

End;

S:=1/a;

For n:=2 to 100 do

If n mod 2=0 then s:=s+1/(a+n);

§óng

¸p dông

Trang 13

C¸c c©u lƯnh Pascal sau cã hỵp lƯ kh«ng? v× sao ? NHÓM 1:

NHÓM 2:

NHÓM 3:

NHÓM 4:

ĐS:kh«ng hỵp lƯ, v× gi¸ trÞ ®Çu lín h¬n gi¸ trÞ cuèi

60

30

15

25

20 35

40 45 50

10

HẾT GIỜ

For i:=100 to 1 do Write(‘A’);

For i:=1.5 to 10.5 do Write(‘A’);

ĐS:kh«ng hỵp lƯ, v× gi¸ trÞ ®Çu, gi¸ trÞ cuèi lµ d÷ liƯu

kiĨu sè thùc

For i:=1 to 10 do Write(‘A’);

ĐS:Hỵp lƯ, AAAAAAAAAA

For i:=10 Downto 1 do Write(‘A’);

ĐS:Hỵp lƯ, AAAAAAAAAA

Trang 14

Bµi tËp vÒ nhµ

ViÕt ch ¬ng tr×nh nhËp vµo n nguyªn d ¬ng TÝnh vµ ® a ra mµn h×nh tæng sau:

n

S

3 2 1

1

3 2 1

1 2

1

1 1

1

Trang 15

• Xin ch©n thµnh c¶m ¬n

• Chóc søc kháe quý thÇy

• chóc c¸c em häc giái

Ngày đăng: 10/02/2015, 03:00

TỪ KHÓA LIÊN QUAN

w