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
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ủais_good_enoughlà 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)
*/