1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Optimizing R Code with Rcpp

Connected

cvičení

Výpočet odmocnin pomocí cyklu for

Stejně jako v R i v C++ cyklus for spouští stejný kód zadaný počet opakování – v každé iteraci se mění pouze hodnota indexu. Syntaxe cyklu for je ale o něco složitější než v R.

for(int i = 0, i < n, i++) {
  // Do something
}
  • int i = 0 deklaruje index jako celé číslo (nejběžnější případ) a nastavuje jeho hodnotu na 0 v první iteraci.
  • i < n určuje podmínku iterace: jakmile i dosáhne hodnoty n, podmínka přestane platit a cyklus se zastaví.
  • i++ znamená, že se hodnota i v každé iteraci zvýší o 1.

Tady dokončíš definici funkce pro výpočet odmocniny pomocí babylonské metody. (V produkčním kódu bys samozřejmě použil/a sqrt(), která využívá rychlejší moderní algoritmus.)

Pokyny

100 XP
  • Inicializuj lokální proměnnou x typu double na hodnotu jedna.
  • Definuj cyklus for.
    • Inicializuj celé číslo i na 0.
    • Nastav podmínku iterace tak, aby i bylo menší než n.
    • Zvyšuj i o jedničku v každém kroku.