Bài giảng Nhập môn về lập trình - Chương 5: Vòng lặp while/do-while/for

Chương 5  
Vòng lặp  
while / do-while / for  
Slide 1  
Nhập môn về lập trình (C5)  
Learning outcomes  
L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô  
tả chúng.  
L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu  
điều khiển để mô tả các giải thuật.  
L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn  
ngữ C.  
L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài  
toán thực tế.  
Slide 2  
Nhập môn về lập trình (C5)  
Vòng lặp là gì ?  
Vòng lặp là các phát biểu điều khiển dùng để thực hiện  
một công việc nhiều lần.  
Các phát biểu thực hiện công việc trong vòng lặp gọi là  
thân vòng lặp.  
Một vòng lặp thường có các phần :  
• Khởi động vòng lặp.  
• Thân vòng lặp.  
• Điều khiển vòng lặp.  
Có thể phân loại vòng lặp theo các tiêu chuẩn sau :  
• Điều kiện : đi trước hoặc đi sau.  
• Số lần lặp : biết trước hoặc không biết trước.  
Slide 3  
Nhập môn về lập trình (C5)  
Vòng lặp  
Sơ đồ  
Khởi động  
Sai  
Điều khiển  
Đúng  
Thân  
Thoát  
Slide 4  
Nhập môn về lập trình (C5)  
Vòng lặp  
Phân loại  
VC++ cho phép sử dụng 3 loại vòng lặp với cú pháp như  
sau:  
• Vòng lặp while  
while (condition) statement;  
• Vòng lặp do  
do statement while (condition);  
• Vòng lặp for  
for (initopt ; condopt ; loopopt ) statement;  
Slide 5  
Nhập môn về lập trình (C5)  
Vòng lặp while  
Cú pháp : while (condition) statement  
Nghĩa là : trong khi điều kiện condition còn đúng thì làm  
phát biểu statement.  
• condition là biểu thức luận lý điều khiển vòng lặp:  
Đúng thì lặp (thực hiện statement).  
Sai thì kết thúc (thoát khỏi vòng lặp).  
• statement có thể là phát biểu ghép { ... }.  
Vòng lặp while là vòng lặp có điều kiện đi trước và số lần  
lặp không biết trước.  
Slide 6  
Nhập môn về lập trình (C5)  
Vòng lặp while  
Lưu đồ vận hành  
Điều kiện đi trước  
Sai  
Điều kiện  
Đúng  
Lệnh  
Kết thúc lặp  
Slide 7  
Nhập môn về lập trình (C5)  
Vòng lặp while  
Ví dụ  
Tính tổng các số nguyên S = 1 + 2 + 3 + ... + n  
(1)  
Để có thể sử dụng vòng lặp, ta cần đưa công thức tính  
dãy về dạng “từng bước”: S(n) = G[S(n-1)]  
Theo dạng này, muốn tính giá trị bước thứ n, phải có giá  
trị bước thứ (n-1).  
Xuất phát của vòng lặp là từ bước n=0.  
Ta có thể viết lại tổng trên như sau:  
S(n) = 1 + 2 + 3 + ... + (n-1) + n  
mặt khác theo (1) ta cũng có:  
S(n-1) = 1 + 2 + ... + (n-1)  
Vậy, từ (2) và (3) ta suy ra:  
S(n) = S(n-1) + n  
(2)  
(3)  
(4)  
Slide 8  
Nhập môn về lập trình (C5)  
Vòng lặp while  
Ví dụ  
Để xác định giá trị ban đầu, từ (1) ta có:  
S(1) = 1  
(5)  
Mặt khác, từ (4) ta có:  
S(1) = S(0) + 1  
(6)  
Suy ra: S(0)=0  
Trong công thức (4), ta thay n bằng biến đếm i (i = 1 n)  
Như vậy, các dữ kiện về vòng lặp là:  
• Khởi động:  
• Thân:  
S=0,i=1  
S=S+i,i=i+1  
• Điều khiển:  
i <= n(lặp đến khi i lớn hơn n)  
Slide 9  
Nhập môn về lập trình (C5)  
Vòng lặp while  
Ví dụ  
Slide 10  
Nhập môn về lập trình (C5)  
Vòng lặp do-while  
Cú pháp và vận hành  
Cú pháp : do statement while (condition) ;  
Nghĩa là : làm phát biểu statement trước 1 lần, sau đó xét  
điều kiện condition, nếu đúng thì lặp lại, sai kết thúc.  
• condition là biểu thức luận lý điều khiển vòng lặp:  
Đúng thì lặp (thực hiện statement).  
Sai thì kết thúc (thoát khỏi vòng lặp).  
• statement có thể là phát biểu ghép { ... }.  
Vòng lặp do-while là vòng lặp có điều kiện đi sau và số lần  
lặp không biết trước.  
Slide 11  
Nhập môn về lập trình (C5)  
Vòng lặp do-while  
Lưu đồ vận hành  
Lệnh  
Điều kiện đi sau  
Sai  
Điều kiện  
Đúng  
Kết thúc lặp  
Slide 12  
Nhập môn về lập trình (C5)  
Vòng lặp do-while  
Ví dụ tính giai thừa  
Tính giai thừa gt = 1*2*3*...*n  
Đưa về dạng lặp: gt(n)= gt(n-1)*n  
Từ đó, ta có thể xác định các dữ kiện vòng lặp như sau:  
• Khởi động:  
gt=1, i=1  
• Thân:  
gt=gt*i  
i=i+1  
• Kiều kiện lặp:  
(i<=n)  
Slide 13  
Nhập môn về lập trình (C5)  
Vòng lặp do-while  
Code ví dụ tính giai thừa  
Slide 14  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Cú pháp và vận hành  
Cú pháp : for (initopt ; condopt ; loopopt ) statement  
Nghĩa là : làm phát biểu statement trong khi điều kiện  
condopt còn đúng.  
• initopt :  
là phát biểu khởi động vòng lặp.  
• condopt :  
• loopopt :  
là biểu thức luận lý quyết định lặp hay dừng.  
là phát biểu điều khiển vòng lặp.  
• statement : có thể là phát biểu ghép.  
Vòng lặp for cho phép thực hiện vòng lặp có số lần lặp biết  
trước nếu dùng các dạng sau :  
for (đếm=cậndưới; đếm<=cậntrên ; tăng đếm ) statement  
for (đếm=cậntrên; đếm>=cậndưới ; giảm đếm ) statement  
Slide 15  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Lưu đồ vận hành  
Initopt  
Điều kiện đi trước  
Sai  
condopt  
Đúng  
Kết thúc lặp  
Statement  
loopopt  
Slide 16  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Ví dụ sắp thứ tự dãy  
Slide 17  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Giải thuật Bubble sort  
i=0  
j=1  
5
2
7
1
4
5
j=2-3  
j=4  
2
5
7
1
4
2
1
5
7
2
4
1
Slide 18  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Giải thuật Bubble sort  
j=2-3  
i=1  
1
5
7
2
4
5
j=4  
1
2
7
5
4
2
Slide 19  
Nhập môn về lập trình (C5)  
Vòng lặp for  
Giải thuật Bubble sort  
j=3  
i=2  
1
2
7
5
4
7
j=4  
1
2
5
7
4
5
1
2
4
7
5
Slide 20  
Nhập môn về lập trình (C5)  
Tải về để xem bản đầy đủ
pdf 25 trang myanh 21240 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn về lập trình - Chương 5: Vòng lặp while/do-while/for", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_chuong_5_vong_lap_whiledo_wh.pdf