Comece agoraComece grátis

De novo: laço do-while

O laço repeat em R é chamado de do while em C++. Comparado a um laço while, ele move a condição para o final do laço, garantindo que o conteúdo do laço será executado pelo menos uma vez. A sintaxe é a seguinte:

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

Note o ponto e vírgula após a condição do while.

Este exercicio faz parte do curso

Otimizando código R com Rcpp

Ver curso

Instruções do exercicio

  • Inicie o laço com a instrução do.
  • Especifique a condição do while, para que o laço continue iterando enquanto o valor de is_good_enough for falso.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

#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)
*/
Editar e Executar Código