R - Le istruzioni condizionali
R
Le istruzioni condizionali
- Le istruzioni condizionali presenti in R sono simili a quelle che si incontrano in altri linguaggi di programmazione.
- if, else: per eseguire delle condizioni.
- for, while, repeat: per eseguire dei cicli.
- break: per uscire da un ciclo.
- next: per interrompere l'esecuzione e del ciclo corrente e passare alla prossima esecuzione.
Le istruzioni 'if' e 'else'
- L'istruzione if permette di inserire una condizione logica.
- Esempi:
# Esempio di utilizzo di un 'if' semplice.
x <- 5
if (x == 5){
print ("x è uguale a 5")
}
[1] "x è uguale a 5"
# Esempio di utilizzo di 'if' e 'else'.
x <- 6
if (x == 5) {
print ("x è uguale a 5")
} else {
print ("x è diverso da 5")
}
[1] "x è diverso da 5"
x <- 4
if (x < 5) {
print ("x è minore di 5")
} else if (x == 5) {
print ("x è uguale a 5")
} else {
print ("x è maggiore di 5")
}
[1] "x è minore di 5"
Le istruzioni 'while' e 'break'
- L'istruzione while permette di eseguire un blocco di istruzioni finché è valida la condizione logica.
- Con l'istruzione break si esce dal while.
- Esempi:
# Esempio di utilizzo di un 'while' semplice.
x <- 1
while (x < 10) {
print(x)
x <- x + 1
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
# Esempio di utilizzo di un 'while' con il 'break'.
x <- 1
while (x < 10) {
print(x)
x <- x + 1
if (x == 5) {
break
}
}
[1] 1
[1] 2
[1] 3
[1] 4
L'istruzione 'repeat'
- Anche l'istruzione repeat permette di eseguire un blocco di istruzioni più volte.
- Nell'istruzione repeat è d'obbligo prevedere una condizione di uscita dal ciclo, da implementare con un break.
- Esempio.
# Esempio di utilizzo di un 'repeat' con il 'break'.
x <- 1
repeat {
print(x)
x <- x + 1
if (x == 5) {
break
}
}
[1] 1
[1] 2
[1] 3
[1] 4
Le istruzioni 'for', 'next' e 'break'
- L'istruzione for permette di eseguire un blocco di istruzioni per tutti gli elementi indicati in una variabile, tipicamente un vettore.
- Si può uscire dal ciclo prima di elaborare tutti gli elementi con l'istruzione break.
- Si può anche interrompere l'elaborazione del blocco di istruzioni per una variabile e passare alla variabile successiva con l'istruzione next.
- Esempi:
# Esempio di utilizzo di un 'for' semplice.
x <- c(1, 2, 3, 4, 5, 6)
numeri_pari <- 0
for (v in x) {
if (v %% 2 == 0) {
numeri_pari <- numeri_pari + 1
}
}
print(numeri_pari)
[1] 3
# Esempio di utilizzo di un 'for' con 'break'.
x <- c(1:10)
for (v in x) {
print(v)
if (v == 5) {
print('Trovato!')
break
}
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] "Trovato!"
# Esempio di utilizzo di un 'for' con 'next'.
x <- c(1:10)
for (v in x) {
if (v %% 2 == 0) {
next
}
print(v)
}
[1] 1
[1] 3
[1] 5
[1] 7
[1] 9