Nhập môn về lập trình (C5) Slide 1 Chương 5 Vòng lặp while / do while / for Presenter Nhập môn về lập trình (C5) Slide 2 Learning outcomes L O 3 1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô t[.]
Trang 1Nhập môn về lập trình (C5) Slide 1
Chương 5
Vòng lặp
while / do-while / for Presenter:
Trang 2Learning 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ế
Trang 3Nhập môn về lập trình (C5) Slide 3
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 :
• Số lần lặp : biết trước hoặc không biết trước
Trang 4Phâ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 (init opt ; cond opt ; loop opt ) statement;
Trang 5Nhập môn về lập trình (C5) Slide 5
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
Trang 6Lưu đồ vận hành
condition
Statement
Sai
Đúng
Điều kiện đi trước
Kết thúc lặp
Trang 7Nhập môn về lập trình (C5) Slide 7
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 (1)
mặt khác ta cũng có:
S(n-1) = 1 + 2 + + (n-2) + (n-1) (2)
Vậy, từ (1) và (2) ta suy ra: