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 varijabluiispis 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 varijabluiispis 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