IniziaInizia gratis

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

Visualizza il corso

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 di is_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)
*/
Modifica ed esegui il codice