Repetă: bucla do-while
Bucla repeat din R se numește buclă do while în C++. Față de o buclă while, aceasta mută condiția la sfârșitul buclei, astfel încât corpul buclei este garantat să se execute cel puțin o dată. Sintaxa este următoarea:
do {
// Fă ceva
} while(condition);
Observă punctul și virgula după condiția while.
Acest exercițiu face parte din cursul
Optimizarea codului R cu Rcpp
Instrucțiuni pentru exercițiu
- Inițiază bucla cu instrucțiunea
do. - Specifică condiția
while, astfel încât bucla să continue să itereze cât timp valoarea luiis_good_enougheste falsă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
#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)
*/