Kako delujejo zanke while v R?
Zanke so eden od osnovnih pojmov programiranja. Zagotavljajo, da se določeni deli kode izvajajo večkrat pod določenim pogojem. Pri zankah while v R se del ponavlja, dokler prej določen pogoj ne postane lažen.
Za kaj se v R uporabljajo zanke while?
Zankovni cikli se uporabljajo za ponavljajoče izvajanje bloka kode, odvisno od pogoja. Dokler je ta pogoj izpolnjen, se izvaja koda v zankovnem ciklu.
V programiranju v jeziku R se zanke pogosto uporabljajo za spoznavanje elementov seznama R in izvajanje posebnih dejanj na njih posamično. Na primer, na zaslonu lahko izpišete kateri koli niz iz seznama nizov R. Poleg tega se zanke while v jeziku R uporabljajo za pogojno izvajanje kode. Zanke, kot je zanka while, so osnova mnogih znanih algoritmov za razvrščanje, ki organizirajo bazo podatkov po določenih merilih.
Struktura in sintaksa zanke while v R
Sintaksa zanke while v R je podobna sintaksi zanke while v večini drugih programskih jezikov. V glavi zanke, ki se uvede s ključno besedo while, je pogoj naveden v oklepajih. Ta pogoj mora biti izpolnjen, da se izvede telo zanke. Telo zanke ni nič drugega kot njen lastni blok kode za glavo zanke, zaprt v oklepajih.
Da bi to ponazorili, smo ustvarili primer. Ta primer R zanke prikazuje zanke while, ki izpisujejo vrednosti od 1 do 10:
x <- 1
while (x <= 10) {
print(x)
x <- x + 1
}RPrimer razvrščanja po velikosti v R
Bubblesort je klasični algoritem za razvrščanje, ki se uporablja za razvrščanje elementov vektorja R ali matrike v R v naraščajočem vrstnem redu. V tem algoritmu za razvrščanje se za izvajanje kode za razvrščanje uporablja zanka while, dokler niso razvrščeni vsi elementi vektorja:
bubblesort <- function(x) {
swapped <- TRUE
n <- length(x) - 1
while (swapped) {
swapped <- FALSE
for (i in 1:n) {
if (x[i] > x[i+1]) {
tmp <- x[i]
x[i] <- x[i+1]
x[i+1] <- tmp
swapped <-TRUE
}
}
}
return(x)
}RV zgornji kodi je ustvarjena funkcija R z imenom bubblesort. Ta zagotavlja, da je numerični vektor razvrščen v naraščajočem vrstnem redu. Zankovni ciklus while se uporablja za izvedbo procesa izmenjave, ki je bistven za Bubblesort, dokler razvrščanje ni končano.
Prekinitev zanke while v R
Za predčasno izhod iz zanke while pod določenim pogojem lahko uporabite ključno besedo »break«. To zagotovi, da se zanka zapusti in se vanjo ne vstopi ponovno. Tukaj je primer izjave »break« za pojasnilo:
x <- 10
while (x >= 0) {
print(x)
if (x == 5) {
break
}
x <- x - 1
}RZgornja zanka na zaslonu izpiše številke od 10 do 5. Ko spremenljivka „x“ doseže vrednost 5, se izvede pogoj „if“ v jeziku R in zanka se predčasno prekine s klicem „break“.
Druge zanke v R
Zanka while v R ni edina vrsta zanke v R. Obstaja tudi zanka for, ki se pogosto obravnava kot vrsta štetne zanke, in zanka repeat, ki se uporablja za večkratno izvajanje kode , ne glede na pogoj. Zanke repeat je treba zapreti s ključno besedo »break«, sicer so neskončne zanke.
Za zanko v R
Za zanke se uporabljajo, kadar je število ponovitev znano vnaprej. Število ponovitev je izrecno navedeno v glavi zanke. Zanka, ki izpisuje številke od 1 do 5, izgleda takole:
for (z in 1:5) {
print(i)
}RPonovi zanko v R
Ponavljajoči se cikli v R se uporabljajo za večkratno izvajanje kode, ne glede na pogoj. Če niste ravno začetnik v programiranju, ste verjetno seznanjeni s cikli do-while iz drugih programskih jezikov, kot je Java. V R ni eksplicitnega cikla do-while, v katerem se blok kode izvede vsaj enkrat. Toda to funkcionalnost je mogoče enostavno implementirati s ponavljajočimi se cikli:
x <- 1
repeat {
print(x)
if (x >= 10) {
break
}
x <- x + 1
}RZgornji primer kode izpiše številke od 1 do 10. Koda se izvede vsaj enkrat (v klasični zanki do-while v kodnem bloku »do«) pred izjavo »if«, ki zaključi zanko, če je navedeni pogoj resničen. be736e550b1141b116c6745223aecfd7
d1d76d85f27f41c7f98c49bcb7641848
37b614e8ff1142c9025056cc2b26f936
f73edeee674565a3ba93d621869650b4