Aan de slagGa gratis aan de slag

if en if/else

Net als in R kun je de sleutelwoorden if en else gebruiken voor vertakkingen. De syntaxis is hetzelfde als in R.

if(condition) {
  // Code die wordt uitgevoerd als de voorwaarde TRUE is
} else {
  // Code die anders wordt uitgevoerd
}

Hier gebruik je if en else om de definitie van een functie absolute() af te maken die de absolute waarde van een drijvendekommagetal berekent. (Dit bootst de C++-functie fabs() na.)

Deze oefening maakt deel uit van de cursus

R-code optimaliseren met Rcpp

Cursus bekijken

Oefeninstructies

  • Test of x groter is dan nul.
  • Als de voorwaarde geldt, retourneer x.
  • Voeg het sleutelwoord toe voor wat je anders moet doen.
  • Als de voorwaarde niet geldt, retourneer -x.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

#include 
using namespace Rcpp ;

// [[Rcpp::export]]
double absolute(double x) {
  // Test for x greater than zero
  ___(___) {
    // Return x
    ___;
  // Otherwise
  } ___ {
    // Return negative x
    ___;
  }
}

/*** R  
absolute(pi)
absolute(-3)
*/
Code bewerken en uitvoeren