Integrantes:

> Pedro Hinojosa

>Alisson Mendez

>Jhostin Nenger

>Natasha Piedra

>Nicole Yar.

EJERCICIO 1

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.

#poner un número al azar y redondearlo a cero decimales
n <- round(runif(1,0,9))

#crear una función que dice que si n es menor o igual o 1, o si la división desde el 2 hasta la raiz cuadrada de n
#para n tiene un modulo de cero, no es un número primo, pero si no se cumplen estas condiciones o si n es igual a 
#dos, si es un número primo
f1 <- function(n){
  if(n<=1){
    cat(n, "no es un número primo")}else{
      for (i in 2:sqrt(n)) {
        if(n%%i==0){
          cat(n, "no es un número primo")}else{
            if(n==2){
              cat(n, "si es un número primo")}else{
                cat(n, "si es un número primo")
            }
        }
      }
  }
}

f1(n)
## 3 si es un número primo

EJERCICIO 2

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.

ahorromes <- NULL
ahorrado <- 0
#for (i in 1:12) {
  #dineroalmes[i] <- as.numeric(readline("Ingrese la cantidad de dinero: "))
  #ahorradotot <- ahorrado+dineroalmes[i]
  #ahorromes <- c(ahorromes,ahorradotot)
#}

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

#(Ahorropormes <- data.frame(meses,ahorromes))

EJERCICIO 3

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.

horas<-function(x){
  dias<-c("lunes","martes","miercoles","jueves","viernes","sabado")
  print("Horas de la semana")
  horas<-round(runif(6,min = 8,max = 9),0)
  print("Sueldos por hora")
  sueldo<-round(runif(6,min = 20,max = 25),2)
  registro<-data.frame(dias,horas,sueldo)
  print(registro)
  b<- sum(sueldo)
  cat("Total de sueldo por semana: $ ",(b))
}
total<-horas(x)
## [1] "Horas de la semana"
## [1] "Sueldos por hora"
##        dias horas sueldo
## 1     lunes     9  21.14
## 2    martes     9  21.59
## 3 miercoles     9  24.88
## 4    jueves     9  24.08
## 5   viernes     8  21.58
## 6    sabado     9  20.45
## Total de sueldo por semana: $  133.72

EJERCICIO 4

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() {
  kilometro1<-70
  kilometro2<-150
  encuentro<-(kilometro1+(kilometro2-kilometro1)/2)
  cat("El kil?metro en el que se encuentran es:", encuentro)
}
kilometro()
## El kil?metro en el que se encuentran es: 110

EJERCICIO 5

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
total_a_pagar<-function(num){
  for(num in 1:20){
    pago<- pago*2
    total<- total + pago
    print(paste("EN EL MES", num, "PAGARAS: $", pago))
  }
  print(paste("EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $", total))
}
total_a_pagar() 
## [1] "EN EL MES 1 PAGARAS: $ 20"
## [1] "EN EL MES 2 PAGARAS: $ 40"
## [1] "EN EL MES 3 PAGARAS: $ 80"
## [1] "EN EL MES 4 PAGARAS: $ 160"
## [1] "EN EL MES 5 PAGARAS: $ 320"
## [1] "EN EL MES 6 PAGARAS: $ 640"
## [1] "EN EL MES 7 PAGARAS: $ 1280"
## [1] "EN EL MES 8 PAGARAS: $ 2560"
## [1] "EN EL MES 9 PAGARAS: $ 5120"
## [1] "EN EL MES 10 PAGARAS: $ 10240"
## [1] "EN EL MES 11 PAGARAS: $ 20480"
## [1] "EN EL MES 12 PAGARAS: $ 40960"
## [1] "EN EL MES 13 PAGARAS: $ 81920"
## [1] "EN EL MES 14 PAGARAS: $ 163840"
## [1] "EN EL MES 15 PAGARAS: $ 327680"
## [1] "EN EL MES 16 PAGARAS: $ 655360"
## [1] "EN EL MES 17 PAGARAS: $ 1310720"
## [1] "EN EL MES 18 PAGARAS: $ 2621440"
## [1] "EN EL MES 19 PAGARAS: $ 5242880"
## [1] "EN EL MES 20 PAGARAS: $ 10485760"
## [1] "EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $ 20971500"

EJERCICIO 6

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, demá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()

EJERCICIO 7

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

EJERCICIO 8

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

cronometro<- function(seg){
  print(seg)
  while(seg!=0){
    Sys.sleep(1)
    seg<- seg-1
    print(seg)
  }
}
#cronometro(seg<-as.numeric(dlgInput(message="INGRESE UN NUMERO:")$res)) 

EJERCICIO 9

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

#menu<-function(){ 
 # opc1<-as.numeric(dlgInput(message="MENU PRINCIPAL 
  #             
   #            1.- OPCION 1
    #           2.- OPCION 2       
     #          3.- OPCION 3 
      #         4.- OPCION 4 
       #        5.- SALIR 
        #       
          #     ***SELECCIONE UNA OPCION:***")$res)
  #if(opc1==1){
   # opc1 <- dlgInput(message="OPCION 1:         
    #           1.- REGRESAR AL MENU
     #          2.- SALIR
     #          
      #         ***SELECCIONE UNA OPCION:***")$res  
    #opc1<-as.character(opc1)
    #if(opc1==1){menu()}
    
  #}else if(opc1==2){
    
   # opc1 <- dlgInput(message="OPCION 2:         
    #           1.- REGRESAR AL MENU
    #           2.- SALIR
               
    #           ***SELECCIONE UNA OPCION:***")$res
    #opc1<-as.numeric(opc1)
    #if(opc1==1){menu()}
    
  #}else if(opc1==3){
   # opc1 <- as.numeric(dlgInput(message="OPCION 3:
    #           1.- REGRESAR AL MENU
     #          2.- SALIR
      #         
       #        ***SELECCIONE UNA OPCION:***")$res)
    #if(opc1==1){menu()}
    
  #}else if(opc1==4){
    #opc1 <- as.numeric(dlgInput(message="OPCION 4: 
     #          1.- REGRESAR AL MENU
      #         2.- SALIR
       #        ***SELECCIONE UNA OPCION:***")$res)
    #if(opc1==1){menu()}
    
  #}
#}
#menu()

EJERCICIO 10

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

numpri<- function(num)
{
  primo<-numeric()
  no_primo<-numeric()
  for (i in 1:num)
  {
    if (sum(i/1:i==i%/%1:i)==2)
    {
      no_primo<-c(no_primo,i)
    } else
    {
      primo<-c(primo,i)
    }
  }
  primo
  no_primo
}
numpri(10)
## [1] 2 3 5 7