Pętla for
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
for(i in 1:5)
{
print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
z=1:8
for(i in z)
{
print(i*10)
}
## [1] 10
## [1] 20
## [1] 30
## [1] 40
## [1] 50
## [1] 60
## [1] 70
## [1] 80
# Wyznaczenie sumy pierwszych 20 liczb naturalnych (bez zera).
suma=0
liczby=1:20
for(i in liczby)
{
suma=suma+i
}
suma
## [1] 210
# Wyznaczenie sumy elementów wektora x.
x=c(23,45,13,22,11,-54)
suma=0
for(i in 1:length(x))
{
suma=suma+x[i]
}
suma
## [1] 60
# Wyznaczenie sumy różnic elementów wektora x.
x=c(12,34,4,-15,4,0)
suma=0
for(i in 2:length(x))
{
suma=suma+(x[i]-x[i-1]) #Nawias tutaj jest niepotrzebny, ale podkreśla czynność odejmowania.
}
suma
## [1] -12
# Wyświetlenie kolejnych różnic elementów wektora x.
x=c(12,34,4,-15,4,0)
for(i in 2:length(x))
{
print(x[i]-x[i-1])
}
## [1] 22
## [1] -30
## [1] -19
## [1] 19
## [1] -4
Pętla while
# Wyświetlenie pierwszych 9 licz naturalnych (bez 0).
i=1
while(i<10)
{
print(i)
i=i+1
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
# Wyznaczenie sumy elementów wektora x.
x=c(12,-30,4,2,67,-18)
i=1
suma=0
while(i<=length(x))
{
suma=suma+x[i]
i=i+1
}
suma
## [1] 37
sum(x) #Sprawdzenie poprawności uzyskanych wyników.
## [1] 37
Pętla repeat
i=1
repeat
{
print(paste("powtórzenie nr.",i))
i=i+1
if(i>5) break
}
## [1] "powtórzenie nr. 1"
## [1] "powtórzenie nr. 2"
## [1] "powtórzenie nr. 3"
## [1] "powtórzenie nr. 4"
## [1] "powtórzenie nr. 5"
Przykład 1
# Wyświetlić kolejne 10 potęg liczby 2 za pomocą:
#Pętli for
#1 sposób
for(i in 1:10)
{
print(2^i)
}
## [1] 2
## [1] 4
## [1] 8
## [1] 16
## [1] 32
## [1] 64
## [1] 128
## [1] 256
## [1] 512
## [1] 1024
## [1] 1 2 3 4 5 6 7 8 9 10
y=c()
for(i in 1:length(x))
{
y[i]=2^x[i]
}
y
## [1] 2 4 8 16 32 64 128 256 512 1024
#Pętli while
#1 sposób
i=1
while(i<=10)
{
print(2^i)
i=i+1
}
## [1] 2
## [1] 4
## [1] 8
## [1] 16
## [1] 32
## [1] 64
## [1] 128
## [1] 256
## [1] 512
## [1] 1024
#2 sposób
i=1
y=c()
while(i<=length(x))
{
y[i]=2^x[i]
i=i+1
}
y
## [1] 2 4 8 16 32 64 128 256 512 1024
#Pętli repeat
#1 sposób
i=1
repeat
{
print(2^i)
i=i+1
if(i>10) break
}
## [1] 2
## [1] 4
## [1] 8
## [1] 16
## [1] 32
## [1] 64
## [1] 128
## [1] 256
## [1] 512
## [1] 1024
#2 sposób
i=1
y=c()
repeat
{
y[i]=2^x[i]
i=i+1
if(i>length(x))break
}
y
## [1] 2 4 8 16 32 64 128 256 512 1024
Przykład 2
# Napisać pętlę, która będzie wyświetlała kolejne 10 potęg liczby 3
# i będzie pokazywała komunikat: 3 do potęgi… wynosi….
x=1:10
x
## [1] 1 2 3 4 5 6 7 8 9 10
y=c()
for(i in 1:length(x))
{
y[i]=2^x[i]
print(paste("2 do potęgi",i,"wynosi",y[i]))
}
## [1] "2 do potęgi 1 wynosi 2"
## [1] "2 do potęgi 2 wynosi 4"
## [1] "2 do potęgi 3 wynosi 8"
## [1] "2 do potęgi 4 wynosi 16"
## [1] "2 do potęgi 5 wynosi 32"
## [1] "2 do potęgi 6 wynosi 64"
## [1] "2 do potęgi 7 wynosi 128"
## [1] "2 do potęgi 8 wynosi 256"
## [1] "2 do potęgi 9 wynosi 512"
## [1] "2 do potęgi 10 wynosi 1024"