1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Tối ưu hóa mã R với Rcpp

Connected

Bài tập

Thoát khỏi vòng lặp for

Đôi khi bạn muốn thoát khỏi vòng lặp trước khi hoàn thành tất cả lượt lặp. Ví dụ, mã của bạn có thể hoàn thành nhiệm vụ trước khi thử hết mọi khả năng. Từ khóa break dùng để dừng vòng lặp sớm.

Mẫu mã trông như sau:

for(int i = 0; i < n; i++) {
  // Do something

  // Test for exiting early
  if(breakout_condition) break;

  // Otherwise carry on as usual
}

Ở đây bạn sẽ chỉnh lại ví dụ trước sao cho vòng lặp dừng khi giá trị không thay đổi quá nhiều (dựa trên một ngưỡng). Hàm đã được sửa để trả về một List (bạn sẽ học về List trong chương sau), cho phép bạn xem giá trị xấp xỉ ở mỗi lượt lặp.

Hàm sqrt_approx() đã chỉnh sửa trả về cả căn bậc hai và số lượt lặp cần thiết để đạt kết quả dựa trên ngưỡng.

Hướng dẫn

100 XP

Thêm điều kiện dừng bằng break khi nghiệm đã đủ tốt (dựa trên biến is_good_enough).