if (uvjet)
{
# blok koda koji će se izvršiti samo ako je uvjet istinit
}
U ovom kodu, uvjet je neki izraz koji se evaluira na logičku vrijednost (TRUE ili FALSE).
Ako je uvjet na početku evaluiran kao TRUE, izvršava se blok koda koji slijedi, a ako je uvjet FALSE, blok koda se preskače.
Primjer
Određivanje ocjene na temelju postignuća na ispitu.
Zadana je varijabla bodovi na osnovu kojih će program ispisati ocjenu.
Ovdje se vidi i primjena naredbi else if
i else
.
bodovi <- 80
if (bodovi >= 90) {
print("A")
} else if (bodovi >= 80) {
print("B")
} else if (bodovi >= 70) {
print("C")
} else {
print("F")
}
[1] "B"
Zadatak
Za zadanu varijablu broj ispišite da li je broj paran ili ne.
Na primjer za broj<-5
program treba ispisati "Broj je paran."
broj <- 10
if (broj %% 2 == 0) {
print("Broj je paran.")
} else print("Broj je neparan.")
[1] "Broj je paran."
IFELSE naredba¶
U programskom jeziku R, ifelse
naredba se, kao i naredba if
, koristi za provjeru određenog uvjeta i vraćanje vrijednosti ovisno o tome je li uvjet istinit ili nije.
Razlika je jedino u obliku naredbe, koji podsjeća na if
naredbu u MS Excelu.
Općenito, sintaksa ifelse
naredbe izgleda ovako:
ifelse(uvjet, vrijednost_za_istiniti_uvjet, vrijednost_za_neistiniti_uvjet)
Zadatak
Provjeriti parnost varijable broj, ali ovaj put koristeći ifelse
naredbu.
broj <- 10
ifelse(broj %% 2 == 0, "Broj je paran.", "Broj je neparan.")
Petlja REPEAT¶
U programskom jeziku R, naredba repeat
se koristi za ponavljajuće izvršavanje jednog bloka koda sve dok se ne ispuni neki određeni uvjet za prekid petlje.
Općenito, sintaksa repeat
petlje izgleda ovako:
repeat
{
# blok koda koji će se izvršavati sve dok ne dođe do prekida petlje
if (neki_uvjet) break
}
Ovaj primjer će izvršavati blok koda unutar petlje repeat sve dok se ne ispuni uvjet naveden unutar if uvjeta, nakon čega će se petlja prekinuti pomoću break
naredbe.
Zadatak
Ispišite prvih 10 prirodnih brojeva pomoću repeat
petlje.
Za ispis vrijednosti varijable u kombinaciji s proizvoljnim tekstom koristimo naredbu
cat
.
Na primjer za neku varijablui
ispis njene vrijednosti bi izgledao ovako:cat("Vrijednost od i je: ", i)
i <- 1
repeat
{
cat(i, " ")
i <- i + 1
if (i > 10) break
}
1 2 3 4 5 6 7 8 9 10
Zadatak
Korisnik unosi vrijednost varijable n, a program treba izračunati n-ti faktorijel.
Primjer ispisa:
Unesite prirodan broj veći od nule: 5
Faktorijel broja 5 je 120
Za unos vrijednost s ekrana koristimo naredbu
readline
.
Na primjer, unos nekog broja bi izgledao ovako:broj <- readline(prompt="Unesite jedan broj: ")
Pazite! Uneseni podatak će biti tekstualnog tipa, pa će ga trebati pretvoriti u broj funkcijomas.numeric()
broj <- readline(prompt="Unesite prirodan broj veći od nule: ")
n <- as.numeric(broj)
faktorijel <- 1
repeat
{
faktorijel <- faktorijel * n
n <- n-1
if (n == 0) break
}
cat("Faktorijel broja ", broj, " je ", faktorijel, "\n")
Unesite prirodan broj veći od nule: 5 Faktorijel broja 5 je 120
Petlja FOR¶
U programskom jeziku R, for
petlja se koristi za iteriranje kroz sekvence (npr. vektore, matrice) ili elemente objekata (npr. liste) uz obavljanje neke akcije za svaki element pojedinačno.
Općenito, sintaksa for
petlje izgleda ovako:
for (a in s) {
# blok koda koji će se izvršavati za svaku vrijednost varijable u sekvenci
}
U ovom primjeru a predstavlja varijablu koja se mijenja za svaku iteraciju kroz sekvencu, a s predstavlja sekvencu elemenata (npr. vektor, matricu ili listu) kroz koju se iterira.
Zadatak
Ispišite prvih 10 prirodnih brojeva pomoću for
petlje.
Za ispis vrijednosti varijable u kombinaciji s proizvoljnim tekstom koristimo naredbu
cat
.
Na primjer za neku varijablui
ispis njene vrijednosti bi izgledao ovako:cat("Vrijednost od i je: ", i)
for(i in 1:10)
{
cat(i, " ")
}
1 2 3 4 5 6 7 8 9 10
Zadatak
Izračunajte sumu kvadrata elemenata u vektoru v pomoću for
petlje.
Vektor v sadrži parne brojeve od 1 do 20.
vek <- 2*c(1:10)
suma_kv <- 0
for (i in vek) {
suma_kv <- suma_kv + i^2
}
suma_kv
Petlja WHILE¶
U programskom jeziku R, while
naredba se koristi za ponavljanje bloka koda sve dok je uvjet istinit.
To znači da će se izvršavanje koda unutar while
petlje ponavljati sve dok uvjet ne postane neistinit.
Općenito, sintaksa while
petlje izgleda ovako:
while (uvjet)
{
# blok koda koji će se ponavljati sve dok je uvjet istinit
}
U ovom kodu, uvjet je neki izraz koji se evaluira na logičku vrijednost (TRUE ili FALSE).
Ako je uvjet na početku evaluiran kao TRUE, izvršava se blok koda koji slijedi, a zatim se ponovo provjerava uvjet.
Ako je uvjet i dalje istinit, blok koda se ponavlja, a postupak se nastavlja sve dok uvjet nije više istinit.
Zadatak
Ispišite prvih 10 neparnih brojeva pomoću while
petlje.
i <- 1
while (i <= 20)
{
cat(i, " ")
i <- i + 2
}
1 3 5 7 9 11 13 15 17 19
Zadatak
Izračunajte sumu brojeva od 1 do 10 pomoću while
petlje.
i <- 1
suma <- 0
while (i <= 10)
{
suma <- suma + i
i <- i + 1
}
print(suma)
[1] 55