Bắt đầu ngayBắt đầu miễn phí

Làm lại: vòng lặp do-while

Vòng lặp repeat trong R được gọi là vòng lặp do while trong C++. So với while, nó chuyển điều kiện xuống cuối vòng lặp, đảm bảo phần nội dung vòng lặp sẽ chạy ít nhất một lần. Cú pháp như sau:

do {
  // Do something
} while(condition);

Lưu ý dấu chấm phẩy sau điều kiện của while.

Bài tập này là một phần của khóa học

Tối ưu hóa mã R với Rcpp

Xem khóa học

Hướng dẫn bài tập

  • Bắt đầu vòng lặp với lệnh do.
  • Chỉ định điều kiện while, để vòng lặp tiếp tục lặp khi giá trị của is_good_enough là false.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

#include 
using namespace Rcpp;

// [[Rcpp::export]]
double sqrt_approx(double value, double threshold) {
    double x = 1.0;
    double previous = x;
    bool is_good_enough = false;
    
    // Initiate do while loop
    ___ {
        previous = x;
        x = (x + value / x) / 2.0;
        is_good_enough = fabs(x - previous) < threshold;
    // Specify while condition
    } ___
    
    return x;
}

/*** R
sqrt_approx(2, 0.00001)
*/
Chỉnh sửa và Chạy Mã