Pagina personale di:
Carlo Vecchio
appunti di C#, R, SQL Server, ASP.NET, algoritmi, numeri
Vai ai contenuti

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





© 2020 Carlo Vecchio
Torna ai contenuti