UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE CIENCIAS ECONOMICAS
INGENIERIA ESTADISTICA
Sello UCE
Sello UCE

Ejercicios Acerca de Ciclos Repetitivos:

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

n_primo <- function(num) {
  num<-as.integer(readline("Ingrese el número a verificar: "))
  residuo<-(sum(num/1:num==num%/%1:num))
  if(residuo==2)
  {
    cat("El número", num, "es primo")
  }else
  {
    cat("El número",num, "no es primo")
  }
}

n_primo()

Ejecución del código en consola:


Ejecución del Ejercicio 1
Ejecución del Ejercicio 1

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

ahorro <- function(cantidad) {
  cantidad <- scan()
  cat("Las cantidades a ahorrar por cada mes son:","\n", cantidad)
  suma_t <- sum(cantidad)
  cat("\n","El total a ahorrar en un año es de:", suma_t, "dólares")
}

# Ingrese las cantidades hasta 12 (meses del año)
ahorro()

Ejecución del código en consola:


Ejecución del Ejercicio 2
Ejecución del Ejercicio 2

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

sueldo_total <- function(sueldo, horas) {
  sueldo <- as.numeric(readline("Ingrese el sueldo que gana por horas: "))
  horas <- as.numeric(readline("Ingrese las horas trabajadas por día: "))
  sueldo_diario <- (sueldo * horas)*6
  cat("El sueldo a recibir es de:", sueldo_diario)
}
sueldo_total()

Ejecución del código en consola:


Ejecución del Ejercicio 3
Ejecución del Ejercicio 3

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

kilometro <- function() {
  km1 <- 70
  km2 <- 150
  km_total <- km1 + (km2 - km1)/2
  cat("El kilómetro en el cual se encuentran es en el km", km_total)
}
kilometro()
## El kilómetro en el cual se encuentran es en el km 110

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

producto <- function(pago, contador) {
  contador <- 5
  for (pago in 1:20) {
    contador <- (contador * 2)
    cat("El pago del mes", pago, "es:", contador, "\n")
  }
}
producto()
## El pago del mes 1 es: 10 
## El pago del mes 2 es: 20 
## El pago del mes 3 es: 40 
## El pago del mes 4 es: 80 
## El pago del mes 5 es: 160 
## El pago del mes 6 es: 320 
## El pago del mes 7 es: 640 
## El pago del mes 8 es: 1280 
## El pago del mes 9 es: 2560 
## El pago del mes 10 es: 5120 
## El pago del mes 11 es: 10240 
## El pago del mes 12 es: 20480 
## El pago del mes 13 es: 40960 
## El pago del mes 14 es: 81920 
## El pago del mes 15 es: 163840 
## El pago del mes 16 es: 327680 
## El pago del mes 17 es: 655360 
## El pago del mes 18 es: 1310720 
## El pago del mes 19 es: 2621440 
## El pago del mes 20 es: 5242880

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

contador <- 0
pagos <- function(num_tra, horas, valor) {
  num_tra <- as.numeric(readline("Ingrese el número de trabajadores: "))
  for (num_tra in 1:num_tra) {
    horas <- as.numeric(readline("Ingresa el valor de horas trabajadas: "))
    valor <- as.numeric(readline("ingresa el valor de pago por hora: "))
    sueldosem <- horas*valor
    contador <- contador + sueldosem
    cat("El sueldo a recibir es:", sueldosem )
  }
  cat("\n","Por lo tanto","\n","La empresa pagó un total de:",contador, "dólares")
}
pagos()

Ejecución del código en consola:


Ejecución del Ejercicio 6
Ejecución del Ejercicio 6

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

contador <- 0
pago_dias <- function(trabajadores, dias, horas, valor) {
  trabajadores <- as.numeric(readline("Ingrese el número de trabajadores: "))
  for (trabajadores in 1:trabajadores) {
    dias <- as.numeric(readline("Ingresa el número de días trabajados: "))
    horas <- as.numeric(readline("Ingresa las horas trabajadas al día: "))
    valor <- as.numeric(readline("Ingresa el valor de pago por hora: "))
    horas_trabajo <- dias*horas
    sueldosemp <- horas_trabajo * valor
    contador <- contador + sueldosemp
    cat("El sueldo a recibir es:", sueldosemp )
  }
  cat("\n","Por lo tanto","\n","La empresa pagó un total de:", contador, "dólares")
}
pago_dias()

Ejecución del código en consola:


Ejecución del Ejercicio 7
Ejecución del Ejercicio 7

Ejercicio 8:

Hacer un programa que muestre un cronometro, indicando las horas, minutos y segundos.

print("Cronómetro")
i<-0
j<-0
k<-0
for (i in 0:23) {
  for (j in 0:59) {
    for (k in 0:59) {
      Sys.sleep(1)
      print(paste(i,":",j,":",k))
    }
  }
}

Ejecución del código en consola:


Ejecución del Ejercicio 8
Ejecución del Ejercicio 8

Ejercicio 9:

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

# install.packages("svDialogs")

# Cargar la libreria "svDialogs"
library(svDialogs)

menu<-function(){ 
  opc1<-as.numeric(dlgInput(message="Ejemplo Menú 
               1.- Opción 1
               2.- Opción 2       
               3.- Salir 
               Selecciona una opción:")$res)
  if(opc1==1){
    opc1 <- dlgInput(message="Opción 1:         
               1.- Regresar al menú
               2.- Salir
               
               Selecciona una opción:")$res  
    opc1<-as.character(opc1)
    if(opc1==1){menu()}
    
  }else if(opc1==2){
    
    opc1 <- dlgInput(message="Opción 2:         
               1.- Regresar al menú
               2.- Salir
               
               Selecciona una opción:")$res
    opc1<-as.numeric(opc1)
    if(opc1==1){menu()}
    
  }
}
menu()

Ejecución del código en consola:


Ejecución del Ejercicio 9
Ejecución del Ejercicio 9

Ejercicio 10:

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

n_primos <- function(num) {
  num<-as.numeric(readline("Ingrese la cantidad de números que desea observar: "))
  primo <- numeric()
  num_primo <- numeric()
  for (k in 1:num)
  {
    if (sum(k/1:k==k%/%1:k)==2)
    {
      num_primo <- c(num_primo,k)
    } else
    {
      primo <- c(primo,k)
    }
  }
  primo
  num_primo
}
n_primos()

Ejecución del código en consola:


Ejecución del Ejercicio 10
Ejecución del Ejercicio 10