ÎncepețiÎncepe gratuit

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

Vezi cursul

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 lui is_good_enough este 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)
*/
Editează și rulează codul