CICLOS REPETITIVOS
## 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.
#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()
## 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.
#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()
## 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.
#horas <- 0
#total_horas <- 0
#dias<- c("LUNES", "MARTES", "MIERCOLES", "JUEVES", "VIERNES", "SABADO")
#remuneracion<-function(num){
# for(num in dias){
# horas<- as.numeric(dlgInput(message= "¿CUANTAS HORAS TRABAJO?")$res)
# 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))
#}
#remuneracion()
## 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.
#c1 <- 60
#c2 <- 20
#km <- 0
#while (p1 == p2) {
# p1 <- c1+1
# p2 <- c2-1
# km <- c2-c1
# print(paste("SE ENCONTRARON EN EL KILOMETRO", km))
#}
## 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.
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 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.
#empresa<-function(num){
# empleados<- as.numeric(dlgInput(message="CUANTOS TRABAJADORES TIENE?")$res)
# gasto_empresa<- 0
# for(num in 1:empleados){
# horas<-as.numeric(dlgInput(message="CUANTAS HORAS TRABAJO A LA SEMANA?")$res)
# gasto_empresa<- gasto_empresa + horas*2.50
# sueldo<- horas*2.50
# print(paste("EL EMPLEADO", num, "GANA SEMANAL: $", sueldo))
# }
# print(paste("LA EMPRESA PAGO POR LOS", empleados, "EMPLEADOS", gasto_empresa))
#}
#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.
#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.
#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 N° 9
## Realizar un ejemplo de menú, donde podemos escoger las distintas opciones
## hasta que seleccionamos la opción de “Salir”.
#opc1<-dlgInput(message=
# "***********************************************
# MENU
#*********************************
#*
#* 1. OPCIÓN N° 1
#* 2. OPCIÓN N° 2
#* 3. OPCIÓN N° 3
#* 4. SALIR
#*
#*********************************
#*SELECCIONE UNA OPCION:*")$res
## EJERCICIO N° 10
## Mostrar en pantalla los N primero número primos. Se pide por teclado la
## cantidad de números primos que queremos mostrar.
#primo<- 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
#}
#primo(num<-as.numeric(dlgInput(message="HASTA QUE NUMERO PRIMO QUIERE?")$res))