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

pdf 20 trang Gia Huy 17/05/2022 1950
Bạn đang xem tài liệu "Bài giảng Nhập môn về lập trình (C1) - Chương 5: Vòng lặp while/ do-while/ for", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_c1_chuong_5_vong_lap_while_d.pdf

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

  1. Chương 5 Vòng lặp while / do-while / for Presenter: Nhập môn về lập trình (C5) Slide 1
  2. 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
  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 : • Đ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
  4. 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
  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. Nhập môn về lập trình (C5) Slide 5
  6. 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
  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: S(n) = S(n-1) + n (3) Nhập môn về lập trình (C5) Slide 7
  8. 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: S=S+i, i=i+1 • Điều khiển vòng lặp while: i <= n (trong khi i chưa bằng n thì vẫn lặp) Nhập môn về lập trình (C5) Slide 8
  9. Vòng lặp while Ví dụ Nhập môn về lập trình (C5) Slide 9
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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 : là biểu thức luận lý quyết định lặp hay dừng. • loopopt : 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ậndưới ; giảm đếm ) statement Nhập môn về lập trình (C5) Slide 14
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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