#===========================================================================================# # Universidad Nacional de Colombia # Unidad de Informática - Facultad de Ciencias Económicas # Curso Libre Introducción a la Programación en Python y R | 2023-2 # Taller 2 # Realiza: Julian Esteban Delgado
#===========================================================================================#

Mediante la realización del taller #2 se pondran a prueba los conocimientos en estructuras basicas, condicionales, estructuras de control y funciones en Lenguaje R aprendidas durante el desarrollo de las sesiones del correspondiente curso.

#===============# #### Punto 1 #### #===============#

Genere una función llamada impares que cumpla con las siguientes

características:

- Entradas: Un vector numérico

- Procedimiento: Que seleccione únicamente los números impares del vector

numérico

- Salida: Un vector numérico con los números impares del vector original

#=============== Solución ======================#

impares <- function(vector) {#se crea una función llamada impares que recibe un vector numerico y los almacena en este función
  impares <- vector[vector %% 2 != 0]
  return(impares)# se realiza la valiación en los elementos de la función y retorna los que cumplen con las carasteristicas de ser un numero impar
}

Prueba

impares(1:20) # se ingresa un rango de numeros del 1 al 20 los cuales son validados dentro de la funcíon y son retornados los impares 
##  [1]  1  3  5  7  9 11 13 15 17 19

Resultado esperado

>> [1] 1 3 5 7 9 11 13 15 17 19

#===============# #### Punto 2 #### #===============#

Genere una función llamada determinar_signo con la cual, dado un número real x,

pueda determinar si el número es positivo, negativo o cero. Para cada caso,

debe imprimir el texto que se especifica a continuación:

# “Positivo: El número x es positivo” # “Negativo: El número x es negativo” # “Cero (0): El número x es el neutro para la suma”

- Entradas: Un valor numérico

- Procedimiento: Que determine si es positivo, negativo o neutro

- Salida: El mensaje indicando si el número ingresado es positivo, negativo o neutro

#=============== Solución ======================#

determinar_signo <- function(x) {
  if (x > 0) {#se crea la función que va a contener los numeros ingresados en la prueba para la respectiva valiación de estos y determinar que tipo de numero es
    mensaje <- paste("Positivo: El número", x, "es positivo")
  } else if (x < 0) {# se valida si el numero es mayor a 0 y se retorna el mensaje que es positivo si cumple con esta condición
    mensaje <- paste("Negativo: El número", x, "es negativo")# se valida si el numero es menor a 0 y se retorna el mensaje que es negativo si este cumple con la condición
  } else {
    mensaje <- paste("Cero (0): El número", x, "es el neutro para la suma")# se valida si el numero es igual a 0 si se retorma el mensaje que es el numero neutro para la suma si este cumple la condición
  }
  
  return(mensaje)# retorno del mensaje con las condiciones de la validaci´´on de cada numero
}

Prueba

determinar_signo(5)     # Positivo
## [1] "Positivo: El número 5 es positivo"
determinar_signo(-3.5)  # Negativo
## [1] "Negativo: El número -3.5 es negativo"
determinar_signo(0)     # Cero
## [1] "Cero (0): El número 0 es el neutro para la suma"

#=======================================# #### BONUS - Opcional. Valor (0.5) #### #=======================================#

Realice el código de alguno de los dos ejercicios de funciones propuestos para

la parte de Python (interés compuesto o tienda). Adaptelo de acuerdo a las

características de R.

Le pueden resultar útiles las funciones cat(),as.numeric(), as.integer(),

readline()

#=============== Solución ejercicio interés compuesto ======================#

calcular_interes_compuesto <- function() {
  prestamo <- as.numeric(readline("Ingrese el monto del préstamo o capital inicial: "))
  interes <- as.numeric(readline("Ingrese la tasa de interés anual: "))
  tiempo <- as.integer(readline("Ingrese el periodo de tiempo en meses: "))

  cf <- prestamo * (1 + (interes / 100)) ^ tiempo
  interes_compuesto <- cf - prestamo

  cat("El interés compuesto es:", interes_compuesto)
}

calcular_interes_compuesto()
## Ingrese el monto del préstamo o capital inicial: 
## Ingrese la tasa de interés anual: 
## Ingrese el periodo de tiempo en meses: 
## El interés compuesto es: NA

#=========================================================================================================# # Ha llegado al final del taller #=========================================================================================================#