Thứ Ba, 3 tháng 2, 2015

Vòng lặp - FOR / WHILE / DO WHILE - Phần 3: Do while và các lệnh nhảy.

IV. DO WHILE

- Vòng lặp do while có khả năng khác biệt so với 2 vòng lặp kia, đó là việc thực hiện hành động trước khi kiểm tra biểu thức đánh giá ( gọi vui là Tiền trảm hậu tấu ^^ )

Cấu trúc do while như sau:
    do { hành động } while ( biểu thức đánh giá )
 
Sử dụng do while để hiển thị số chia hết cho 5.
  Như trên hình ta thấy, do while bắt đầu bằng việc hành động trước, sau đó mới xuống kiểm tra biểu thức đánh giá trong while. Chính vì thế, nếu chúng ta muốn chuyển do while sang while hay for, ta cần tính toán tăng thêm 1 lần lặp trong vòng while.

  Dãy số Fibonacci thể hiện dưới vòng lặp do while.

Tương tự vòng while, vòng lặp do while cũng được tự do trong câu lệnh hơn vòng for.

Tiếp theo sẽ là những lệnh nhảy sử dụng để thoát khỏi hành động đang diễn ra.

V. Lệnh nhảy

 Đôi khi trong chương trình có những trường hợp đặc biệt mà khi gặp, ta sẽ bỏ qua, dừng vòng lặp, hay đơn giản là thoát khỏi chương trình. Có 5 lệnh nhảy : return, goto, break, continue, exit ()

return : Được sử dụng để trả giá trị về cho hàm. Phần này mình sẽ viết sau khi học xong hàm
go to: Sử dụng để đi đến bất kì identifier nào được gọi. Ví dụ:

int i;

LOOP:
for ( i=0;i<10;i++){
      printf("%d",i); }
goto LOOP;

Trong đó LOOP là identifier, được gán vào lệnh for. Khi gọi LOOP bằng goto, chương trình sẽ quay lại việc thực hiện vòng lặp ngay lập tức.

Vì đặc tính di chuyển tự do, goto sẽ khiến logic và flowchart của chương trình trở nên phức tạp. Việc sử dụng goto cần phải suy xét kĩ trong những chương trình lớn.

continue: Sử dụng trong vòng lặp, khi hành động đến continue, vòng đó sẽ bị dừng lại và thực hiện 1 vòng lặp mới.

break: Sử dụng trong vòng lặp và switch. Khi hành động đến break, toàn bộ cấu trúc lặp hay switch đó sẽ kết thúc, chương trình chạy tiếp.

exit (): Khi gặp exit, chương trình sẽ kiểm tra đúng sai với biểu thức trong ngoặc. Nếu biểu thức trong ngoặc là ĐÚNG, chương trình sẽ kết thúc.

VI. Kết luận

Có thể nói vòng lặp là công cụ tiết kiệm thời gian hữu hiệu nhất của 1 lập trình viên. Các vòng lặp hoàn toàn giống nhau về mặt ý nghĩa, có thể chuyển kiểu vòng lặp này sang vòng lặp kia chỉ trong 1 phút. 

Tuy nhiên, việc phân loại vòng lặp giúp chúng ta lựa chọn sáng suốt hơn khi gặp các tình huống khác nhau: biết trước số vòng lặp thì dùng for, không biết thì dùng while, thực hiện trước khi kiểm tra thì dùng do while. Và để điều khiển chương trình dễ dàng hơn, những lệnh nhảy sẽ được thêm vào tùy ý để ngắt vòng lặp. 


Không có nhận xét nào:

Đăng nhận xét