CICLOS REPETITIVOS
En el presente artículo realizaremos una serie de ejercicios sobre el uso de los ciclos repetitivos en R, realizados por estudiantes de la Facultad de Ciencias Económicas, carrera de Estadística de la Universidad Central del Ecuador, estos programas nos será de ayuda para nuestro aprendizaje.
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.
##COMO FUNCION:
#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()
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")
#for(i in mes)
#{
# ahorro<- as.numeric(dlgInput(message="INGRESE LA CANTIDAD A AHORRAR:")$res)
# total<- total+ahorro
# print(paste("EN", i, "LLEVAS: $",total, "DE AHORRO"))
#}
#print(paste("EN EL AÑO AHORRASTE: $",total))
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")
#for(i in dias)
# {
# horas<- as.numeric(dlgInput(message= "¿CUANTAS HORAS TRABAJO?")$res)
# total_horas<- total_horas+ horas
# sueldo<- total_horas*2.50
# print(paste("EL", i, "TRABAJO", horas, "HORAS"))
# }
#print(paste("EL SUELDO QUE RECIBIRA ES DE: $", sueldo))
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.
#persona1<- 70
#persona2<- 150
#kilometro<-0
#while(persona1 == persona2)
# {
# persona1<- persona1+1
# persona2<- persona2-1
# kilometro<- persona2-persona1
# print(paste("SE ENCONTRARON EN EL KILOMETRO", kilometro))
# }
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 MES", i, "PAGARAS: $", pago))
# }
#print(paste("EL TOTAL QUE PAGASTE EN 20 MESES 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.
#empleados<- as.numeric(dlgInput(message="CUANTOS TRABAJADORES TIENE?")$res)
#gasto_empresa<- 0
#for(i 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", i, "GANA SEMANAL: $", sueldo))
# }
#print(paste("LA EMPRESA PAGO POR LOS", empleados, "EMPLEADOS", gasto_empresa))
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.
#trab<- as.numeric(dlgInput(message="CUANTOS EMPLEADOS TIENE?")$res)
#pago<- 0
#for(i 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", i, "GANA SEMANAL: $", sueldo))
# }
#print(paste("LA EMPRESA PAGA SEMANALMENTE POR LOS", trab, "EMPLEADOS: $", pago))
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))
Realizar un ejemplo de menú, donde podemos escoger las distintas opciones hasta que seleccionamos la opción de “Salir”.
#opc1<-dlgInput(message=
# "***********************************************
# MENU DE OPCIONES?
#***********************************************
#*
#* 1. OPCION 1
#* 2. OPCION 2
#* 3. OPCION 3
#* 4. SALIR
#*
#***********************************************
#
#*SELECCIONE UNA OPCION:*")$res
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)
# {
# 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
# }
#PRIMO(num<-as.numeric(dlgInput(message="HASTA QUE NUMERO PRIMO QUIERE?")$res))