Ejercicio 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)

validarEdad <- function(edad){

if (edad>=18 & edad<65){
  print("La persona es mayor de edad")
}else if (edad<=18){
  print("La persona es menor de edad")
}else if(edad>=65){
  print("La persona es menor de adulto mayor")
}
  
}
validarEdad(10)
## [1] "La persona es menor de edad"

Ejercicio 2

Escribeuncódigoqueverifiquelatemperaturaydeterminesiestá”fría”(<10°C),“templada”(10°C-25°C),o”caliente”(>25°C)yluegoimprimaunmensajecorrespondiente.

validarTemperatura <- function(temperatura){

if (temperatura>=10 & temperatura<25){
  print("La temperatura es templada")
}else if (temperatura<10){
  print("La temperatura es fria")
}else if(temperatura>=25){
  print("La temperatura es caliente")
}
  
}
validarTemperatura(24)
## [1] "La temperatura es templada"

Ejercicio 3

Escribeuncódigoqueimprimacadaletradeunvectordecaracteres.

vec <- c("a","b","c","x","y","z")
tam<-length(vec)
i<-0
for (i in 1:tam) {
  print(paste("El elemento ",i, "es ",vec[i]))
  
}
## [1] "El elemento  1 es  a"
## [1] "El elemento  2 es  b"
## [1] "El elemento  3 es  c"
## [1] "El elemento  4 es  x"
## [1] "El elemento  5 es  y"
## [1] "El elemento  6 es  z"

Ejercicio 4

Escribeuncódigoquerecorraunvectordenúmerosycalculelasumadetodoslosnúmerosenelvector.

vecNun <- c(10,23,35,44,58,69)
tamNum<-length(vecNun)
i<-0
for (i in 1:tamNum) {
  print(paste("El elemento ",i, "es ",vecNun[i]))
  suma<-vecNun[i]+vecNun[i]
  if(i==tamNum){
    print(paste("la  suma del vector de numeros es ",suma))
  }
}
## [1] "El elemento  1 es  10"
## [1] "El elemento  2 es  23"
## [1] "El elemento  3 es  35"
## [1] "El elemento  4 es  44"
## [1] "El elemento  5 es  58"
## [1] "El elemento  6 es  69"
## [1] "la  suma del vector de numeros es  138"

Ejercicio 5

Escribeuncódigoquerecorraunvectordenombresysaludeacadapersonaimprimiendo”Hello,[nombre]!”

vecNombres <- c("Alexa","Miguel","Diana","Hector","Marina","Luz")
tamV<-length(vecNombres)
i<-0
for (i in 1:tamV) {
  print(paste("Hola",vecNombres[i],"!"))
  
}
## [1] "Hola Alexa !"
## [1] "Hola Miguel !"
## [1] "Hola Diana !"
## [1] "Hola Hector !"
## [1] "Hola Marina !"
## [1] "Hola Luz !"

Ejercicio 6

Escribeuncódigoqueuseunbuclewhileparacontardel1al10eimprimacadanúmero.Sielnúmeroesmayorque5,imprimeunmensajeadicionalindicandoqueelnúmeroesmayorque5.

i<-1
while (i<=10) {
  print(i)
  i<-i+1
  if(i>5&i<=10){print(paste("El numero",i, " es mayor que 5"))}
  
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] "El numero 6  es mayor que 5"
## [1] 6
## [1] "El numero 7  es mayor que 5"
## [1] 7
## [1] "El numero 8  es mayor que 5"
## [1] 8
## [1] "El numero 9  es mayor que 5"
## [1] 9
## [1] "El numero 10  es mayor que 5"
## [1] 10

Ejercicio 7

Escribeuncódigoqueuseunbuclewhileparasumarlosnúmerosdel1al100yluegoimprimaelresultado.

i<-1
while (i<=100) {
  suma<-i+i
  i<-i+1
  if(i==100){print(paste("La suma es",suma))}
  
}
## [1] "La suma es 198"

Ejercicio 8

Escribeuncódigoqueuseunbuclewhilepararestar1deunnúmerondadohastaquensea0,imprimiendoelvalordenencadaiteración.

restarNumero <- function(n){
  i<-0
  while (i<=n) {
    print(paste("El valor de N es",n))
    n<-n-1
  }

}
restarNumero(12)
## [1] "El valor de N es 12"
## [1] "El valor de N es 11"
## [1] "El valor de N es 10"
## [1] "El valor de N es 9"
## [1] "El valor de N es 8"
## [1] "El valor de N es 7"
## [1] "El valor de N es 6"
## [1] "El valor de N es 5"
## [1] "El valor de N es 4"
## [1] "El valor de N es 3"
## [1] "El valor de N es 2"
## [1] "El valor de N es 1"
## [1] "El valor de N es 0"

Ejercicio 9

Escribeuncódigoqueuselaestructuraswitchparaimprimirelnombredeundíadelasemanabasadoenunnúmerodel1al7.

diaSemana <- function(dia){
  if(dia>0&dia<7){
     result <- switch(dia, "1"="Lunes","2"="Martes","3"="Miercoles","4"="Jueves","5"="Viernes","6"="Sabado","7"="Domingo")
  print(paste("El dia", dia,"es",result))
    
  }else {print(paste("El numero", dia,"esta fuera de rango de los dias de la semana 1-7"))}
  
}
diaSemana(2)
## [1] "El dia 2 es Martes"

Ejercicio 10

Escribeuncódigoqueuselaestructuraswitchparadeterminareltipodeunavariabledada(character,numeric,logical,etc.)yluegoimprimaunmensajecorrespondiente.

tipoDato <- function(x) {
  tipo <- class(x)
  
  resultado <- switch(tipo,
                      numeric = "El dato es de tipo numérico",
                      character = "El dato es de tipo cadena o carácter",
                      factor = "El dato es de tipo factor",
                      integer = "El dato es de tipo entero",
                      logical = "El dato es de tipo lógico",
                      "El tipo de dato no está identificado")
  
  return(resultado)
}
print(tipoDato(1))           
## [1] "El dato es de tipo numérico"
print(tipoDato("Hola"))      
## [1] "El dato es de tipo cadena o carácter"
print(tipoDato(factor("A"))) 
## [1] "El dato es de tipo factor"
print(tipoDato(TRUE)) 
## [1] "El dato es de tipo lógico"
print(tipoDato(FALSE))
## [1] "El dato es de tipo lógico"
print(tipoDato(1L))          
## [1] "El dato es de tipo entero"

Ejercicio 11

Escribeuncódigoqueuselaestructuraswitchparaimprimirelnombredeunmesbasadoenunnúmerodel1al12.

validaMes <- function(mes){
  if(mes>0&mes<=12){
     result <- switch(mes, "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(paste("El mes", mes,"es",result))
    
  }else {print(paste("El numero", mes,"esta fuera de rango de los meses 1-12"))}
  
}
validaMes(12)
## [1] "El mes 12 es Diciembre"