▶️ Tematyka
- Instrukcje warunkowe
- Funkcja if
- Funkcja if… else…
- Funkcja ifelse
- Pętle
- Pętla for
- Pętla while
- Pętla repeat
- Inne przykłady
📘 Instrukcje warunkowe
Funkcja if
## [1] nierówność jest prawdziwa
## [1] "nierówność jest prawdziwa"
Funkcja if… else…
## [1] "nierówność jest fałszywa"
## [1] 46
x=34
if(x==liczba) {
print(paste("wybrana liczba x jest równa",liczba))
}else{
if(x>liczba){
print(paste("wybrana liczba x jest większa od",liczba))
}else{
print(paste("wybrana liczba x jest mniejsza od", liczba))
}}
## [1] "wybrana liczba x jest mniejsza od 46"
Funkcja ifelse
## [1] "nierówność jest fałszywa" "nierówność jest fałszywa"
## [3] "nierówność jest fałszywa" "nierówność jest fałszywa"
## [5] "nierówność jest fałszywa" "nierówność jest fałszywa"
## [7] "nierówność jest fałszywa" "nierówność jest fałszywa"
## [9] "nierówność jest fałszywa" "nierówność jest fałszywa"
## [11] "nierówność jest prawdziwa" "nierówność jest prawdziwa"
## [13] "nierówność jest prawdziwa" "nierówność jest prawdziwa"
## [15] "nierówność jest prawdziwa" "nierówność jest prawdziwa"
## nierówność
## 1 nierówność jest fałszywa
## 2 nierówność jest fałszywa
## 3 nierówność jest fałszywa
## 4 nierówność jest fałszywa
## 5 nierówność jest fałszywa
## 6 nierówność jest fałszywa
## 7 nierówność jest fałszywa
## 8 nierówność jest fałszywa
## 9 nierówność jest fałszywa
## 10 nierówność jest fałszywa
## 11 nierówność jest prawdziwa
## 12 nierówność jest prawdziwa
## 13 nierówność jest prawdziwa
## 14 nierówność jest prawdziwa
## 15 nierówność jest prawdziwa
## 16 nierówność jest prawdziwa
📘 Pętle
Pętla for
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [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
## [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
## [1] 37
Pętla repeat
## [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
## [1] 2 4 8 16 32 64 128 256 512 1024
## [1] 2
## [1] 4
## [1] 8
## [1] 16
## [1] 32
## [1] 64
## [1] 128
## [1] 256
## [1] 512
## [1] 1024
## [1] 2 4 8 16 32 64 128 256 512 1024
## [1] 2
## [1] 4
## [1] 8
## [1] 16
## [1] 32
## [1] 64
## [1] 128
## [1] 256
## [1] 512
## [1] 1024
## [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
## [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"
Inne przykłady
Pętla for i instrukcja if
# Pętla wyświetlająca komentarz: "liczba ... jest parzysta"
# lub "liczba ... jest nieparzysta", w zależności od elementów wektora x.
x=c(21,52,35,12,25)
for(i in 1:length(x))
{
if(x[i]%%2==0){
print(paste("Liczba",x[i],"jest parzysta"))
}else{
print(paste("Liczba",x[i],"jest nieparzysta"))
}
}
## [1] "Liczba 21 jest nieparzysta"
## [1] "Liczba 52 jest parzysta"
## [1] "Liczba 35 jest nieparzysta"
## [1] "Liczba 12 jest parzysta"
## [1] "Liczba 25 jest nieparzysta"
Zagnieżdżona pętla for
# Napisać kod wyświetlający najpierw sumę pierwszego elementu z wektora x
# z kolejnymi elementami wektora y,
# a później sumę drugiego elementu wektora x z kolejnymi elementami wektora y itd.
x=c(12,2,3,4)
y=c(5,4,8,7)
for(i in 1:length(x))
{
for(j in 1:length(y))
{
print(x[i]+y[j])
}
}
## [1] 17
## [1] 16
## [1] 20
## [1] 19
## [1] 7
## [1] 6
## [1] 10
## [1] 9
## [1] 8
## [1] 7
## [1] 11
## [1] 10
## [1] 9
## [1] 8
## [1] 12
## [1] 11