MulaiMulai sekarang secara gratis

Ulangi lagi: do-while loop

Loop repeat di R disebut do while di C++. Dibandingkan dengan while, kondisinya dipindahkan ke akhir loop, sehingga isi loop dijalankan setidaknya satu kali. Sintaksnya sebagai berikut:

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

Perhatikan tanda titik koma setelah kondisi while.

Latihan ini adalah bagian dari kursus

Mengoptimalkan Kode R dengan Rcpp

Lihat Kursus

Petunjuk latihan

  • Mulai loop dengan pernyataan do.
  • Tentukan kondisi while, sehingga loop terus berulang selama nilai is_good_enough bernilai false.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

#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)
*/
Edit dan Jalankan Kode