Taller Estructuras de Control

if, else if, else

1. Escribe un código que verifique si una persona es menor de edad, mayor de edad o un adulto mayor basándose en su edad y luego imprima un mensaje correspondiente. (Menor de edad: < 18, Adulto mayor: ≥ 65)

edad<-20
  if (edad<18) {
    print("Menor de edad: < 18")
  } else if(edad>=18 & edad<=65) {
    print("Mayor de edad")
  } else {
    print("Adulto mayor: ≥ 65")
  }
## [1] "Mayor de edad"

2. Escribe un código que verifique la temperatura y determine si está “fría” (< 10°C), “templada” (10°C - 25°C), o “caliente” (> 25°C) y luego imprima un mensaje correspondiente.

temp<-70
  if (temp<10) {
    print("fría")
  } else if (temp>=10 & temp<=25) {
    print("templada")
  } else {
    print("caliente")
  }
## [1] "caliente"

for

1. Escribe un código que imprima cada letra de un vector de caracteres.

v<-c("d","a","t","o","s")
for (i in v) {
  print(i)
}
## [1] "d"
## [1] "a"
## [1] "t"
## [1] "o"
## [1] "s"

2. Escribe un código que recorra un vector de números y calcule la suma de todos los números en el vector.

v<-c(2,0,2,4)
suma<-0
for (i in 1:length(v)) {
  suma<-suma+v[i]
}
print(suma)
## [1] 8

3. Escribe un código que recorra un vector de nombres y salude a cada persona imprimiendo “Hello, [nombre]!”

v<-c("Ana","Carlos","Claudia","Víctor")
for (i in v) {
  print(paste("Hello,",i,"!"))
}
## [1] "Hello, Ana !"
## [1] "Hello, Carlos !"
## [1] "Hello, Claudia !"
## [1] "Hello, Víctor !"

while

1. Escribe un código que use un bucle while para contar del 1 al 10 e imprima cada número. Si el número es mayor que 5, imprime un mensaje adicional indicando que el número es mayor que 5.

i<-1
while(i<=10) {
  print(i)
  i<-i+1
  if (i>=6) {
    print("Es mayor a 5")
  }
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] "Es mayor a 5"
## [1] 6
## [1] "Es mayor a 5"
## [1] 7
## [1] "Es mayor a 5"
## [1] 8
## [1] "Es mayor a 5"
## [1] 9
## [1] "Es mayor a 5"
## [1] 10
## [1] "Es mayor a 5"

2. Escribe un código que use un bucle while para sumar los números del 1 al 100 y luego imprima el resultado.

i<-1
suma<-0
while(i<=100) {
  suma<-suma+i
  i<-i+1
}
print(suma)
## [1] 5050

3. Escribe un código que use un bucle while para restar 1 de un número n dado hasta que n sea 0, imprimiendo el valor de n en cada iteración.

n<-25
while(n!=0) {
  print(n)
  n<-n-1
}
## [1] 25
## [1] 24
## [1] 23
## [1] 22
## [1] 21
## [1] 20
## [1] 19
## [1] 18
## [1] 17
## [1] 16
## [1] 15
## [1] 14
## [1] 13
## [1] 12
## [1] 11
## [1] 10
## [1] 9
## [1] 8
## [1] 7
## [1] 6
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1

switch

1. Escribe un código que use la estructura switch para imprimir el nombre de un día de la semana basado en un número del 1 al 7.

d<-3
dia<-switch(d,"1"="Lunes","2"="Martes","3"="Miercoles","4"="Jueves","5"="Viernes","6"="Sábado","7"="Domingo")
print(dia)
## [1] "Miercoles"

2. Escribe un código que use la estructura switch para determinar el tipo de una variable dada (character, numeric, logical, etc.) y luego imprima un mensaje correspondiente.

variable<-TRUE
tipo_variable<-class(variable)
var<-switch(tipo_variable,"integer"="Número entero","numeric"="Número","character"="Cadena de texto","factor"="Factor","logical"="Lógico","NA"="Perdido","null
"="Vacio")
print(var)
## [1] "Lógico"

3. Escribe un código que use la estructura switch para imprimir el nombre de un mes basado en un número del 1 al 12.

m<-11
mes<-switch(m,"1"="Enero","2"="Febrero","3"="Marzo","4"="Abril","5"="Mayo","6"="Junio","7"="Julio","8"="Agosto","9"="Septiembre","10"="Octubre","11"="Noviembre","12"="Diciembre")
print(mes)
## [1] "Noviembre"