UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERIA EN ESTADÍSTICA

GRUPO 2

APLICANDO LOS CONOCIMIENTOS DE RSTUDIO

En este documento se presentan los ejercicios resuletos del taller #12 haciendo uso de rmarkdown

AUTORES

COLABORACIÓN

DATOS

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.

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

#primo <- function(){
#  num4<-as.integer(dlgInput(message="INGRESE UN NUMERO ")$res)
#  if(sum(num4/1:num4==num4%/%1:num4)==2){
#    (m <- paste0("EL NUMERO: ", num4 , " ES PRIMO "))
#  }else{(m <- paste0("EL NUMERO: ", num4, " NO ES PRIMO"))}
#}
#primo()

#[1] "EL NUMERO: 9 NO ES PRIMO"

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.

#total<- 0
#ahorro<- 0
#mes<- c("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO",
#        "AGOSTO","SEPTIEMBRE","OCTUBRE", "NOVIEMBRE", "DICIEMBRE")
#cuenta<-function(num){
#  for(num in mes){
#    ahorro<- as.numeric(dlgInput(message="INGRESE LA CANTIDAD A AHORRAR:")$res)
#    total<- total+ahorro
#    print(paste("EN", num, "LLEVAS: $",total, "DE AHORRO"))
# }
#  print(paste("EN EL AÑO AHORRASTE: $",total))
#}
#cuenta()
#[1] "EN ENERO LLEVAS: $ 30 DE AHORRO"
#[1] "EN FEBRERO LLEVAS: $ 130 DE AHORRO"
#[1] "EN MARZO LLEVAS: $ 190 DE AHORRO"
#[1] "EN ABRIL LLEVAS: $ 230 DE AHORRO"
#[1] "EN MAYO LLEVAS: $ 240 DE AHORRO"
#[1] "EN JUNIO LLEVAS: $ 270 DE AHORRO"
#[1] "EN JULIO LLEVAS: $ 279 DE AHORRO"
#[1] "EN AGOSTO LLEVAS: $ 281 DE AHORRO"
#[1] "EN SEPTIEMBRE LLEVAS: $ 331 DE AHORRO"
#[1] "EN OCTUBRE LLEVAS: $ 380 DE AHORRO"
#[1] "EN NOVIEMBRE LLEVAS: $ 415 DE AHORRO"
#[1] "EN DICIEMBRE LLEVAS: $ 437 DE AHORRO"
#[1] "EN EL AÑO AHORRASTE: $ 437"

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.

#Asignamos a la variable horas y total_horas desde 0
#horas<- 0
#total_horas<- 0
#A la variable dias le asignamos los seis días de la semana
#dias<- c("LUNES", "MARTES", "MIERCOLES", "JUEVES", "VIERNES", "SABADO")
#Entrada de la función
#En la función calcularemos el salario que recibiran los trabajadores
#remuneracion<-function(num){
#  for(num in dias){
#    horas<- as.numeric(readline ("¿CUÁNTAS HORAS TRABAJO?"))
#    total_horas<- total_horas+ horas
#    sueldo<- total_horas*4.50
#    print(paste("EL", num, "TRABAJO", horas, "HORAS"))
#  }
#  print(paste("EL SUELDO QUE RECIBIRA ES DE: $", sueldo))
#}
#Salida de la función
#remuneracion()

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.

#Asignamos valores a las variables a1 y a2 (kilómetros que se encuentras las personas)
#a1<- 70
#a2<- 150
#A la variable km le asignamos un valor de 0
#km<-0
#Entrada de la función 
#Con la función while el bucle se ejecutará mientras una condición sea verdadera
#proceso para la resolución del problema
#while(a1 == a2){
#  a1<- a1+1
#  a2<- a2-1
#  km<- a2-a1
#  print(paste("SE ENCONTRARON EN EL KILÓMETRO", km))
#}

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.

#pago<-  10
#total<- 0
#for(i in 1:20)
#{
#  pago<- pago*2
#  total<- total + pago
#  print(paste("EN EL ", i, "PAGARAS: $", pago))
#}
#print(paste("EL TOTAL QUE PAGASTE EN 20  ES DE: $", total))

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
#empresa <- function(num1, x1, x2) {
#  num1 <- as.numeric(readline("Ingrese el número de trabajadores: "))
#  for (num1 in 1:num1) {
#    x1 <- as.numeric(readline("Ingrese el valor de horas trabajadas:"))
#    x2 <- as.numeric(readline("Ingrese el valor de pago por hora:"))
#    sueldosem <- x1*x2
#    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")
#}

#empresa()

#Ingrese el número de trabajadores: 50
#Ingrese el valor de horas trabajadas:5
#Ingrese el valor de pago por hora:20
#El sueldo a recibir es: 100

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.

#library(svDialogs)

## Paso 1.- En la variable "empr2" vamos a realizar la función con las diferentes condiciones del ejercicio.
#empr2<-function(num){
#  trab<- as.numeric(dlgInput(message="Cuantos empleados tiene?")$res);trab<-5
#  pago<- 0
#  for(num in 1:trab){
#    dias<- as.numeric(dlgInput(message="cuantos días trabajo a la #semana")$res);dias<-3
#    horas<- as.numeric(dlgInput(message="Cuantas horas trabajo esos dias?")$res);horas<-6
#    sueldo<- (dias*horas)*2.50
#    pago<- pago+ (dias*horas)+ sueldo
#    print(paste("El empleado", num, "gana a la semana: $", sueldo))
#  }
#  print(paste("La empresa paga semanalmente a los ", trab, "EMPLEADOS: $", #pago))
#}
## Paso 2.- Llamamos a la función realizada e ingresamos los datos requeridos.
#empr2()

EJERCICIO 8

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

#crono<- function(seg){
#  print(seg)
#  while(seg!=0){
#    Sys.sleep(1)
#    seg<- seg-1
#    print(seg)
#  }
#}
## Paso 2.- Llamamos a la función "Crono" e ingresamos un número para que #inicie el conteo regresivo.
#crono(seg<-as.numeric(dlgInput(message="Ingrese un número:")$res)) 

EJERCICIO 9

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

## Paso 1.- Realizamos una función en la varaible " menu " que nos permita escoger distintas opciones de un Menú.
#menu<-function(){ 
#  opc1<-as.numeric(dlgInput(message="MENÚ PRINCIPAL 
#               
#               1.- OPCIÓN 1
#               2.- OPCIÓN 2       
#               3.- OPCIÓN 3 
#               4.- SALIR 
               
#               SELECCIONE UNA OPCIÓN:")$res)
#  if(opc1==1){
#    opc1 <- dlgInput(message="OPCIÓN 1:         
#               1.- REGRESAR AL MENÚ
#               2.- SALIR
               
#               SELECCIONE 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
               
#               SELECCIONE UNA OPCION:")$res
#    opc1<-as.numeric(opc1)
 #   if(opc1==1){menu()}
    
#  }else if(opc1==3){
#    opc1 <- as.numeric(dlgInput(message="OPCIÓN 3:
#               1.- REGRESAR AL MENÚ
#               2.- SALIR
               
 #              SELECCIONE UNA OPCIÓN:")$res)
#    if(opc1==1){menu()}
#    
#  }
#}
## Paso 2.- Llamamos a la función menu e ingresamos las diferentes opciones a escoger.
#menu()

EJERCICIO 10

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

## Paso 1.- En la variable "primos" vamos a realizar la función para calcular los números primos que se quiera mostrar.
#primos<- function(num){
#  pri<-numeric()
#  no_pri<-numeric()
#  for (i in 1:num){
#    if (sum(i/1:i==i%/%1:i)==2){
#      no_pri<-c(no_pri,i)
#    } else {
#      pri<-c(pri,i)
#    }
#  }
#  pri
#  no_pri
#}
## Paso 2.- Llamamos a la función e ingresar la cantidad de números primos a #mostrarse.
#primos(num<-as.numeric(dlgInput(message="Hasta que número primo quiere que se #muestre?")$res))