bgt3
TRANSCRIPT
![Page 1: Bgt3](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/1.jpg)
![Page 2: Bgt3](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/5.jpg)
)(
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/9.jpg)
Demo
Ch ng trìnhươ
![Page 10: Bgt3](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/16.jpg)
![Page 17: Bgt3](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/18.jpg)
- 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](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/19.jpg)
Trắc nghiệm củng cố
Tr c nghi m c ng că ệ ủ ố
![Page 20: Bgt3](https://reader035.vdocuments.pub/reader035/viewer/2022062405/555f0741d8b42ae8288b4dee/html5/thumbnails/20.jpg)
Chúc các em h c t tọ ố