bgt3

20

Upload: xuan-nguyen

Post on 22-May-2015

76 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bgt3
Page 2: Bgt3

Tr ng: ĐH S Ph m TP.HCMườ ư ạKhoa: Công Ngh Thông Tinệ

Môn: Ph ng Pháp D y H c 3ươ ạ ọ

TIN H C 11- CH NG 3: Ọ ƯƠC U TRÚC RẼ NHÁNH VÀ L PẤ Ặ-BÀI 10: C U TRÚC L P.Ấ Ặ

GVHD: Cô Nguy n Th Ng c Hoaễ ị ọSVTH: Nguy n Th Thanh Xuân–K36.103.090ễ ịL P: Tin4Ớ

Page 3: Bgt3

N i dung bài h cộ ọ

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

Ví d m r ngụ ở ộ2

C ng c và bài t p v nhàủ ố ậ ề3

Page 4: Bgt3

Bài toán Tong_2

V i c u trúc for-do ớ ấđã h c thì áp d ng ọ ụ

vào bài toán này nh ưth nào?ế

Không th xác đ nh đ c

ểị ượ

giá tr cu i c a bài toán

ị ố ủtrên =>Không th dung ểfor-do

)(

1...

)2(

1

)1(

1

a

1

NaaaS

Cho đ n khi: ế 0001.0)(

1

Na

Tính t ng S v i a là s nguyên và a>2ổ ớ ố

Page 5: Bgt3

)(

1...

)2(

1

)1(

1

a

1

NaaaS

Cho đ n khi: ế 0001.0)(

1

Na

Tính t ng S v i a là s nguyên và a>2ổ ớ ố

)(

1...

)2(

1

)1(

1

a

1

NaaaS

Tính t ng S v i a là s nguyên và a>2ổ ớ ố

V i N=100ớ

Bài toán

Tong_1

Bài toán

Tong_2

Bài toán Tong_1 và Tong_2

SO SÁNH SS= S+

)(

1

Na Y t ng ươ

thu t âtoan

Page 6: Bgt3

Xuât S

=>Kêt thuc

Nh p aâ

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

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

N:= N+1;

Nh p aậB1

Kh i t o ở ạ S:=1/a; N:=1;B2

S:=S+1/(a+N); N:=N+1;quay l i b c 3ạ ướ

4B4

Xu t giá tr c a S ra màn hình và ấ ị ủk t thúcế

B5

3B3 Ki m traể : N u ế 1/(a+N)>=0,0001 thì th c ự hi n b c ệ ướ 4

Thuât toan chi dưng lai khi 1/(a+N)<0.0001

)(

1...

)2(

1

)1(

1

a

1

NaaaS

Cho đ n khi: ế 0001.0)(

1

Na

Tính t ng S v i a là s nguyên và a>2ổ ớ ố

1/(a+N)>= 0,0001

1/(a+N)>= 0,0001

Đ

S

-Input:-Output:

S nguyên a>2ốS th c S th a ố ự o 0001.0

)(

1

Na

Page 7: Bgt3

WHILE <điều kiện> DO <câu lệnh>;

Điều kiện

đúngCâu lệnh

Điều kiênh: là biểu thức quan hệ hoặc logicCâu lệnh: là một câu lệnh

của Pascal.

sai

Trong đó:

Trong khi điều kiện còn đúng thì thực hiện câu lệnh

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

Page 8: Bgt3

Cài đ t thu t toánặ ậ Tong_2

Ch ng trinhươPh n đ u ch ng trìnhầ ầ ươ BEGIN

Clrscr;

Write(‘Nhap a= ‘);

Readln(a);

S:=0;

N:=0;

WHILE 1/(a+N)>=0.0001 DO

BEGIN

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

N:=N+1;

END;

Writeln(‘Gia tri cua tong S =

‘,S:8:3);

Readln;

END.

Ph n thân ch ng trìnhầ ươ

khai bao biên

B1: Băt đâu chương trinh

B2: Nhâp a

B3: Gan gia tri cho S va N

B4: Tinh S băng WHILE-DO

B5: Kêt thuc chương trinh

Program Tong_2;

Uses Crt;

Var a,N:Integer;

S:Real;

Page 9: Bgt3

Demo

Ch ng trìnhươ

Page 10: Bgt3

Chu y

Ngoài ra còn có l nh do-while, và repeat…until ệ

Có khi nào máy se ch y m t vòng l p mà không ạ ộ ặbao gi ng ng cho đ n khi t t máy không?ờ ư ế ă

N u bi u th c đi u ki n luôn nh n giá tr ế ể ứ ề ệ ậ ịtrue thì câu l nh đ c th c hi n mãi, ta g i ệ ượ ự ệ ọlà vòng l p vô h nặ ạ S=0;

i=0;While (i=0)Begin

S=s+i;End

T i sao bài toán này l i ạ ạl p vô h n?ặ ạ

Cách gi i quy t?ả ế

Page 11: Bgt3

WHILE-DO VA FOR-DO

Xét bài toán Tong_1:

L p ch ng trình tính t ng sau:ậ ươ ổ

Có th vi t bài toán trên b ng ể ế ằcách s d ng while-do không?ử ụ

)(

1...

)2(

1

)1(

1

a

1

NaaaS

Page 12: Bgt3

S:=1/a; N:=1;Chưng nao N<101 thi con thưc hiên:+ Tăng gia tri cua tông S thêm 1/(a+N)+ Tăng N lên 1 đơn vi

Ch ng trinhươ

BEGIN

Clrscr;

Write(‘Nhap gia tri cua a= ‘);

Readln(a);

S:=1/a;

N:=1;

WHILE N<101 DO

BEGIN

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

N:=N+1;

END;

Writeln(‘Gia tri cua tong S = ‘,S:8:3);

Readln;

END.

Program Tong_1;

Uses Crt;

Var a,N:Integer;

S:Real;

Y t ng chungưở

Input?

Ouput?

)(

1...

)2(

1

)1(

1

a

1

NaaaS

L p ch ng trinh tính Tong_1â ươ

Page 13: Bgt3

K t lu nế â

• Với viêc biết trước số lần lặp thi viêc lưa chọn cấu trúc nao để ap dụng vao bai toan la tùy thuộc vao người lâp trinh

• For-do có thể chuyển thanh while-do

• Vong for trong pascal ta không thể thay đôi biến điều khiển(mỗi lần tăng lên 1), nhưng trong while thi biến điều khiển có thể điều chinh được

Page 14: Bgt3

Lập chương trình nhập vào hai số nguyên dương M,N. Tìm ƯCLN của hai số đó.

B1: Nh p M,N; ậB2 : Ch ng nào Mư N n u M>N thì M:=M-N,ế ng c l i thì N:=N-M;ượ ạB3: Đ n khi M=N thìế => Đ a ra CLN(M,N)=M;ư Ư => K t thúc.ế

B1: Nh p M,N ậB2 : While M<>N DO

BeginIF M>N then M:=M-N

else N:=N-M;end;

B3: In CLN(M,N)Ư

Thu t toánậ Các b cướ c a chủ nươ g trình

Suy nghĩ thuât toan va viêt cac bước

thực hiện chương trinh cho bai toan

trên????

2. Ví d ụ

Page 15: Bgt3

Chú ý:Các câu l nh trong vòng lệ ặp th nườ g lặp l i ạ

nhi u l n, vì v y ề ầ ậ để tăng hi u qu c a chệ ả ủ nươ g trình thì những thao tác không c n lầ ặp l i ạ đ aư ra ngoài vòng lặp

Chu y

Page 16: Bgt3
Page 17: Bgt3

Câu lệnh rẽ nhanh

Câu lệnh lặp

IF <đk> THEN <câu lệnh>;

FOR ... TO ... DO ...…

IF <đk> THEN <câu lệnh 1>

ESLE <câu lệnh 2>;

FOR ... DOWNTO ... DO

While <đk> Do <câu lệnh>;

+Dạng khuyêt

+Dạng đây đủ

+Lặp với số lân biêt trước

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

Ki n th c c n nhế ứ ầ ớ

Page 18: Bgt3

- Viết thuât toan,vẽ sơ đồ khối, viết chương trinh hoan thanh ví dụ trên.

- HS xem nội dung lai kiến thức bai học va bai tâp về nha tai: http://nttxk36.wordpress.com/

-Tim hiểu về vong lặp repeat…until, chuyển đôi lênh

for..do sang while..do trong cac ví dụ ở bai cấu trúc lặp

tiết 2.

- Chuẩn bi cho bai thưc hanh số 2.

Bài t p v nhàâ ề

Page 19: Bgt3

Trắc nghiệm củng cố

Tr c nghi m c ng că ệ ủ ố

Page 20: Bgt3

Chúc các em h c t tọ ố