APLICANDO LOS CONOCIMIENTOS DE RSTUDIO
En este documento se presentan los ejercicios resuletos del taller #12 haciendo uso de rmarkdown
AUTORES
COLABORACIÓN
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"
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"
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()
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))
#}
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))
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
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()
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))
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()
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))