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
Presenter:
Nhập môn về lập trình (C5)
Slide 1
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ế.
Nhập môn về lập trình (C5)
Slide 2
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.
Nhập môn về lập trình (C5)
Slide 3
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;
Nhập môn về lập trình (C5)
Slide 4
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.
Sai thì kết thúc.
• 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.
Nhập môn về lập trình (C5)
Slide 5
Vòng lꢁp while
Lưu đồ vận hành
Điều kiện đi trước
Sai
condition
Đꢀng
Statement
Kꢁt thꢀc lꢂp
Nhập môn về lập trình (C5)
Slide 6
Vòng lꢁp while
Vꢃ dụ
Tꢃnh tꢄng các số nguyên S = 1 + 2 + 3 + ... + n
Để 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 ta cꢉng có:
S(n-1) = 1 + 2 + ... + (n-2) + (n-1)
Vậy, tꢆ (1) và (2) ta suy ra:
S(n) = S(n-1) + n
(1)
(2)
(3)
Nhập môn về lập trình (C5)
Slide 7
Vòng lꢁp while
Vꢃ dụ
Để xác đꢇnh giá trꢇ ban đầu, tꢆ (1) ta có:
S(1) = 1
(4)
tꢆ (3) ta có:
S(1) = S(0) + 1
(5)
Do đó, có thể suy ra S(0)=0.
Để dùng vꢀng lꢁp tꢃnh công thức (3), ta thay n bằng biến
đếm i (với i = 1 n)
Tꢆ đó, ta có các dữ kiện về vꢀng lꢁp như sau:
• Khởi động:
S=0, i=1
• Thân vꢀng lꢁp:
• Điều khiển vꢀng lꢁp while:
thì vꢊn lꢁp)
S=S+i, i=i+1
i <= n (trong khi i chưa bằng n
Nhập môn về lập trình (C5)
Slide 8
Vòng lꢁp while
Vꢃ dụ
Nhập môn về lập trình (C5)
Slide 9
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, sai kết thúc.
• condition là biểu thức cho kết quả đúng/sai, đúng thì lꢁp, sai thì kết
thúc.
• 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.
Nhập môn về lập trình (C5)
Slide 10
Vòng lꢁp do-while
Lưu đồ vận hành
Statement
Điều kiện đi sau
Sai
condition
Đꢀng
Kꢁt thꢀc lꢂp
Nhập môn về lập trình (C5)
Slide 11
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)
Nhập môn về lập trình (C5)
Slide 12
Vòng lꢁp do-while
Code vꢃ dụ tꢃnh giai thꢆa
Nhập môn về lập trình (C5)
Slide 13
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
Nhập môn về lập trình (C5)
Slide 14
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
Nhập môn về lập trình (C5)
Slide 15
Vòng lꢁp for
Vꢃ dụ sắp thứ tự dꢅy
Nhập môn về lập trình (C5)
Slide 16
Vòng lꢁp for
Nhập trꢇ ban đầu và xử lý dꢅy
Một trong những ứng dụng phꢄ biến cꢈa for là dùng để xử
lý các vấn đề liên quan đến dꢅy (array).
Nhập môn về lập trình (C5)
Slide 17
Vòng lꢁp for
Vꢀng lꢁp lồng nhau
Dùng 2 vꢀng for lồng nhau để nhập ma trận.
Nhập môn về lập trình (C5)
Slide 18
Vòng lꢁp for
In ma trận
Dùng 2 vꢀng for lồng nhau để in ma trận.
Nhập môn về lập trình (C5)
Slide 19
Vòng lꢁp for
Tꢃnh tꢄng ma trận
Dùng 2 vꢀng for lồng nhau để tꢃnh tꢄng 2 ma trận.
Nhập môn về lập trình (C5)
Slide 20
Bạn đang xem 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:
bai_giang_nhap_mon_ve_lap_trinh_chuong_5_vong_lap_whiledo_wh.pdf

