JuveYell

UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE CIENCIAS ECONÓMICAS
INGENIERÍA EN ESTADÍSTICA

Integrantes :

TALLER-APE 12

EJERCICIO N° 1.

Escribe un programa que diga si un número introducido por teclado es o no primo. Un número primo es aquel que sólo es divisible entre él mismo y la unidad. Nota: Es suficiente probar hasta la raíz cuadrada del número para ver si es divisible por algún otro número.

Si num es igual a 2, muestra “Es número primo”. Si num no es igual a 2, verifica si es divisible por algún número en el rango de 2 a num-1. Si es divisible, muestra “No es número primo”. Si no es divisible por ningún número en ese rango, muestra “Es número primo”.

#is.prime <- function(num) {
#  if (num == 2) {
#    TRUE
#    j<-print(" Es número primo")
#  } else if (any(num %% 2:(num-1) == 0)) {
#    FALSE
#    j<-print(" No es número primo")
#  } else { 
#    TRUE
#    j<-print(" Es número primo")
#  }
#}

#is.prime(10)

EJERCICIO N°2.

Realizar un algoritmo para determinar cuánto ahorrará una persona en un año, si al final de cada mes deposita cantidades variables de dinero; además, se quiere saber cuánto lleva ahorrado cada mes.

#cuenta <- function(mes) {
#  total <- 0
  
#  for (num in mes) {
#    ahorro <- as.numeric(readline(prompt = paste("INGRESE LA CANTIDAD A AHORRAR EN", num, ": ")))
#    total <- total + ahorro
#    print(paste("EN", num, "LLEVAS: $", total, "DE AHORRO"))
#  }
  
#  print(paste("EN EL AÑO AHORRASTE: $", total))
#}

#months <- c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")

#cuenta(months)

EJERCICIO N°3.

Una empresa tiene el registro de las horas que trabaja diariamente un empleado durante la semana (seis días) y requiere determinar el total de éstas, así como el sueldo que recibirá por las horas trabajadas.

Definir la cantidad de horas trabajadas por día

#horas_trabajadas <- c(8, 7, 8, 7, 9, 6) 

Definir el salario por hora

#salario_por_hora <- 10  

Calcular el total de horas trabajadas

#total_horas_trabajadas <- sum(horas_trabajadas)

Calcular el sueldo total

#sueldo_total <- total_horas_trabajadas * salario_por_hora

Mostrar resultados

#cat("Total de horas trabajadas en la semana:", total_horas_trabajadas, #"horas\n")
#cat("Sueldo total a recibir:", sueldo_total, "pesos\n")

Ejercicio N° 4.

Una persona se encuentra en el kilómetro 70 de una carretera, otra se encuentra en el km 150, los coches tienen sentido opuesto y tienen la misma velocidad. Realizar un programa para determinar en qué kilómetro de esa carretera se encontrarán.

#persona1 <- 70
#persona2 <- 150

#while (persona1 < persona2) {
  #persona1 <- persona1 + 1
  #persona2 <- persona2 - 1
#}

#kilometro_encuentro <- persona1
#print(paste("SE ENCONTRARON EN EL KILOMETRO", kilometro_encuentro))

EJERCICIO N°5.

Una persona adquirió un producto para pagar en 20 meses. El primer mes pagó 10 €, el segundo 20 €, el tercero 40 € y así sucesivamente. Realizar un algoritmo para determinar cuánto debe pagar mensualmente y el total de lo que pagó después de los 20 meses.

mes_actual <- 1
pago_mensual <- 10
total_pagado <- 0

while (mes_actual <= 20) {
  total_pagado <- total_pagado + pago_mensual
  pago_mensual <- pago_mensual * 2
  mes_actual <- mes_actual + 1
}

cat("El pago mensual es de", total_pagado/20, "€\n")
## El pago mensual es de 524287.5 €
cat("El total pagado después de 20 meses es de", total_pagado, "$\n")
## El total pagado después de 20 meses es de 10485750 $

Ejercicio N° 6.

Una empresa les paga a sus empleados con base en las horas trabajadas en la semana.Realice un algoritmo para determinar el sueldo semanal de N trabajadores y, además,calcule cuánto pagó la empresa por los N empleados.

#empleados <- as.numeric(readline("CUANTOS TRABAJADORES TIENE?"))
#empleados

#gasto_empresa <- 0



#for (i in 1:empleados) {
#  horas <- as.numeric(readline(paste("CUANTAS HORAS TRABAJO EL EMPLEADO", i, "A LA SEMANA?")))
#  horas
  
 # Calcular el sueldo y actualizar el gasto total de la empresa
#  sueldo <- horas * 2.50
#  gasto_empresa <- gasto_empresa + sueldo
  
#  gasto_empresa
  
  # Mostrar el sueldo del empleado
 # print(paste("EL EMPLEADO", i, "GANA SEMANAL: $", sueldo))
#}
# Mostrar el gasto total de la empresa
#print(paste("LA EMPRESA PAGO POR LOS", empleados, "EMPLEADOS: $", #gasto_empresa))

EJERCICIO N°7.

Una empresa les paga a sus empleados con base en las horas trabajadas en la semana. Para esto, se registran los días que trabajó y las horas de cada día. Realice un algoritmo para determinar el sueldo semanal de N trabajadores y además calcule cuánto pagó la empresa por los N empleados.

#install.packages("svDialogs")
#library(svDialogs)


#empresa2<-function(num){
#  trab<- as.numeric(dlgInput(message="CUANTOS EMPLEADOS TIENE?")$res)
#  pago<- 0
#  for(num in 1:trab){
#    dias<- as.numeric(dlgInput(message="CUANTOS DIAS TRABAJO EN LA SEMANA?")$res)
#    horas<- as.numeric(dlgInput(message="CUANTOS HORAS TRABAJO EN ESOS DIAS?")$res)
#    sueldo<- (dias*horas)*2.50
#    pago<- pago+ (dias*horas)+ sueldo
#    print(paste("EL EMPLEADO", num, "GANA SEMANAL: $", sueldo))
#  }
#  print(paste("LA EMPRESA PAGA SEMANALMENTE POR LOS", trab, "EMPLEADOS: $", pago))
#}
#empresa2()

Ejercicio N° 8.

Hacer un programa que muestre un cronometro, indicando las horas, minutos y segundos. La función toma un argumento seg, que representa la cantidad de segundos a contar.

Inicia un bucle que disminuye seg en 1 en cada iteración y muestra el valor actual de seg.

La función hace una pausa de 1 segundo entre cada impresión.

El proceso continúa hasta que seg alcanza 0, momento en el cual se completa el conteo regresivo.

cronometro<- function(seg)
{
  print(seg)
  while(seg!=0)
  {
    Sys.sleep(1)
    seg<- seg-1
    print(seg)
  }
}

cronometro(7)
## [1] 7
## [1] 6
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
## [1] 0

EJERCICIO N° 9.

Realizar un ejemplo de menú, donde podemos escoger las distintas opciones hasta que seleccionamos la opción de “Salir”.

#opcion <- 0

#while (opcion != 4) {
#  cat("***********************************************
#  MENU DE OPCIONES
#  ***********************************************
#  1. OPCION 1
#  2. OPCION 2
#  3. OPCION 3
#  4. SALIR
  
#  SELECCIONE UNA OPCION: ")
  
#  entrada <- readline()
  
#  if (grepl("^\\d+$", entrada)) {
#    opcion <- as.numeric(entrada)
    
#    if (!is.na(opcion) && opcion >= 1 && opcion <= 4) {
#      if (opcion == 1) {
#        cat("Seleccionaste la OPCION 1\n")
        # Agrega aquí el código correspondiente a la opción 1
#      } else if (opcion == 2) {
#        cat("Seleccionaste la OPCION 2\n")
        # Agrega aquí el código correspondiente a la opción 2
#      } else if (opcion == 3) {
#        cat("Seleccionaste la OPCION 3\n")
        # Agrega aquí el código correspondiente a la opción 3
#      } else if (opcion == 4) {
#        cat("Saliendo del programa. Hasta luego.\n")
        # No es necesario agregar código aquí para salir
#     }
#    } else {
#      cat("Opción no válida. Por favor, selecciona una opción del 1 al 4.\n")
#    }
#  } else {
#    cat("Entrada no válida. Por favor, ingresa un número.\n")
#  }
#}

EJERCICIO N°10

Mostrar en pantalla los N primeros números primos. Se pide por teclado la cantidad de números primos que queremos mostrar.

# Función para verificar si un número es primo
#es_primo <- function(n) {
# if (n <= 1) {
# return(FALSE)
#  }
# for (i in 2:(n-1)) {
# if (n %% i == 0) {
#      return(FALSE)
#    }
#  }
#  return(TRUE)
#}

# Pedir al usuario la cantidad de números primos a mostrar
#N <- as.integer(readline(prompt = "Ingrese la cantidad de números primos que desea #mostrar: "))

# Verificar que N sea un número positivo
# if (is.na(N) || N <= 0) {
#  stop("Por favor, ingrese un número entero positivo para la cantidad de primos.")
#}

# Mostrar los primeros N números primos
#num_primos_mostrados <- 0
#num_actual <- 2

# cat("Los primeros", N, "números primos son:\n")

# while (num_primos_mostrados < N) {
# if (es_primo(num_actual)) {
#    cat(num_actual, " ")
#   num_primos_mostrados <- num_primos_mostrados + 1
#  }
# num_actual <- num_actual + 1
#}

# Salto de línea al final
#cat("\n")