Fallo di nuovo: ciclo do-while
Il ciclo repeat in R si chiama do while in C++. Rispetto a un ciclo while, sposta la condizione alla fine del ciclo, così il contenuto del ciclo viene eseguito almeno una volta. La sintassi è la seguente:
do {
// Fai qualcosa
} while(condition);
Nota il punto e virgola dopo la condizione del while.
Questo esercizio fa parte del corso
Ottimizzare il codice R con Rcpp
Istruzioni dell'esercizio
- Avvia il ciclo con un'istruzione
do. - Specifica la condizione
while, in modo che il ciclo continui a iterare finché il valore diis_good_enoughè falso.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
#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)
*/