Practica 6 Manejo de ciclos

Objetivo: Realizar operaciones de recorrido de vectores por medio de ciclos en R y realizar algunas operaciones haciendo uso de condicionales en R

Descripcion: A traves del uso de mecanismos de flujos de control, mediante ciclos y condicionales en R, ejecutar operaciones.

Recorrer y presentar un ciclo desde 20 hasta 40 mostrando el valor de la variables del ciclo mediante uso de for, while y repeat

# for
for (i in 20:40){
  print (i)
}
## [1] 20
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25
## [1] 26
## [1] 27
## [1] 28
## [1] 29
## [1] 30
## [1] 31
## [1] 32
## [1] 33
## [1] 34
## [1] 35
## [1] 36
## [1] 37
## [1] 38
## [1] 39
## [1] 40
# while
x <- 20
while (x>=20 && x<=40){
  print (x)
  x <- x + 1
}
## [1] 20
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25
## [1] 26
## [1] 27
## [1] 28
## [1] 29
## [1] 30
## [1] 31
## [1] 32
## [1] 33
## [1] 34
## [1] 35
## [1] 36
## [1] 37
## [1] 38
## [1] 39
## [1] 40
# repeat
x <- 20
repeat {
print(x)
x = x + 1
if (x<20 || x>40){
break
}
}
## [1] 20
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25
## [1] 26
## [1] 27
## [1] 28
## [1] 29
## [1] 30
## [1] 31
## [1] 32
## [1] 33
## [1] 34
## [1] 35
## [1] 36
## [1] 37
## [1] 38
## [1] 39
## [1] 40

Genera una secuencia de 20 numeros de 5 en 5 comenzando en 10 y recorrer e imprimir la variable por medio de ciclo for, while y repeat

# for
i <- 5
for (i in seq (i, 100, 5)){
  print (i + 5)
}
## [1] 10
## [1] 15
## [1] 20
## [1] 25
## [1] 30
## [1] 35
## [1] 40
## [1] 45
## [1] 50
## [1] 55
## [1] 60
## [1] 65
## [1] 70
## [1] 75
## [1] 80
## [1] 85
## [1] 90
## [1] 95
## [1] 100
## [1] 105
# while
x <- 10
while (x>=10 && x<=105){
  print (x)
  x <- x + 5
}
## [1] 10
## [1] 15
## [1] 20
## [1] 25
## [1] 30
## [1] 35
## [1] 40
## [1] 45
## [1] 50
## [1] 55
## [1] 60
## [1] 65
## [1] 70
## [1] 75
## [1] 80
## [1] 85
## [1] 90
## [1] 95
## [1] 100
## [1] 105
# repeat
x <- 10
repeat {
print(x)
x = x + 5
if (x<10 || x>105){
break
}
}
## [1] 10
## [1] 15
## [1] 20
## [1] 25
## [1] 30
## [1] 35
## [1] 40
## [1] 45
## [1] 50
## [1] 55
## [1] 60
## [1] 65
## [1] 70
## [1] 75
## [1] 80
## [1] 85
## [1] 90
## [1] 95
## [1] 100
## [1] 105

Establecer una semilla de set.seed(50) para generar numeros aleatorios

set.seed(50)
misnumeros <- sample(80:100, 30, replace = TRUE)
misnumeros
##  [1] 94 89 84 96 90 80 94 93 80 82 88 85 93 81 85 94 97 87 81 83 92 84 94
## [24] 97 86 93 92 85 86 87

Generar 30 numeros aleatorios de entre 80 y 100 con valores repetidos y recorrer por medio de ciclos for, while y repeat

# for
x <- sample(80:100,30 ,replace = TRUE)
for (i in x)
{
 print(i)
}
## [1] 87
## [1] 88
## [1] 89
## [1] 92
## [1] 84
## [1] 93
## [1] 82
## [1] 94
## [1] 87
## [1] 89
## [1] 87
## [1] 97
## [1] 85
## [1] 81
## [1] 81
## [1] 94
## [1] 100
## [1] 89
## [1] 94
## [1] 96
## [1] 100
## [1] 96
## [1] 93
## [1] 86
## [1] 87
## [1] 88
## [1] 95
## [1] 91
## [1] 90
## [1] 85
# while
x <- sample(80:100,30 ,replace = TRUE)
res<-1
while(res<=length(x))   
{
  print(x[res]) 
  res<-res+1 
}
## [1] 92
## [1] 93
## [1] 84
## [1] 92
## [1] 82
## [1] 80
## [1] 95
## [1] 81
## [1] 82
## [1] 99
## [1] 90
## [1] 100
## [1] 93
## [1] 81
## [1] 100
## [1] 83
## [1] 93
## [1] 100
## [1] 93
## [1] 100
## [1] 91
## [1] 80
## [1] 87
## [1] 89
## [1] 91
## [1] 80
## [1] 80
## [1] 94
## [1] 91
## [1] 93
# repeat
x <- sample(80:100,30 ,replace = TRUE)
res<-1
repeat
{
  print(x[res]) 
  res<-res+1 
  if (res>length(x)) 
    break() 
}
## [1] 94
## [1] 94
## [1] 97
## [1] 95
## [1] 81
## [1] 86
## [1] 81
## [1] 96
## [1] 86
## [1] 94
## [1] 90
## [1] 100
## [1] 93
## [1] 80
## [1] 80
## [1] 98
## [1] 80
## [1] 92
## [1] 97
## [1] 87
## [1] 98
## [1] 81
## [1] 84
## [1] 82
## [1] 81
## [1] 86
## [1] 81
## [1] 96
## [1] 89
## [1] 100

La misma opcion anterior pero mediante una condicion if salir y romper (break) el ciclo para cuando el valor generado aleatoriamente este entre 85 y 95

# for
misnumeros <- sample(85:95, 30, replace = TRUE)
misnumeros
##  [1] 91 85 90 91 90 90 87 85 85 87 88 87 93 90 86 88 90 88 86 90 90 86 87
## [24] 86 85 89 92 91 90 89
  print("Si un valor se encuentra entre 85 y 95 salir del ciclo")
## [1] "Si un valor se encuentra entre 85 y 95 salir del ciclo"
for (i in misnumeros) {
  print (i)
  if (i>=85 & i<=95)
break
}
## [1] 91
  print("El valor se encuentra entre 85 y 95, salimos del ciclo")
## [1] "El valor se encuentra entre 85 y 95, salimos del ciclo"
# while  
misnumeros <- sample(85:95, 30, replace = TRUE)
misnumeros
##  [1] 87 87 89 95 94 90 86 88 92 85 86 87 94 93 92 90 88 89 94 89 93 93 88
## [24] 87 90 85 85 94 90 95
  print("Si un valor se encuentra entre 85 y 95 salir del ciclo")
## [1] "Si un valor se encuentra entre 85 y 95 salir del ciclo"
i <- 1
while (TRUE) {
  print (misnumeros[i])
  if (misnumeros[i]>=85 & misnumeros[i]<=95)
    break
  i <- i + 1
}
## [1] 87
print("El valor se encuentra entre 85 y 95, salimos del ciclo")
## [1] "El valor se encuentra entre 85 y 95, salimos del ciclo"
# repeat
misnumeros <- sample(85:95, 30, replace = TRUE)
misnumeros
##  [1] 94 88 94 91 92 93 95 90 90 88 95 86 89 95 91 88 86 92 95 89 85 91 90
## [24] 89 90 87 92 88 94 89
  print("Si un valor se encuentra entre 85 y 95 salir del ciclo")
## [1] "Si un valor se encuentra entre 85 y 95 salir del ciclo"
i <- 1
repeat  {
  print (misnumeros[i])
  if (misnumeros[i]>=85 & misnumeros[i] <= 95)
    break
  i <- i +1 
}
## [1] 94
print("El valor se encuentra entre 85 y 95, salimos del ciclo")
## [1] "El valor se encuentra entre 85 y 95, salimos del ciclo"