UNIVERSIDAD CENTRAL DEL
ECUADOR
FACULTAD DE CIENCIAS
ECONOMICAS
INGENIERIA ESTADISTICA
Sello UCE
Ejercicios Acerca de Ciclos
Repetitivos:
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.
n_primo <- function(num) {
num<-as.integer(readline("Ingrese el número a verificar: "))
residuo<-(sum(num/1:num==num%/%1:num))
if(residuo==2)
{
cat("El número", num, "es primo")
}else
{
cat("El número",num, "no es primo")
}
}
n_primo()
Ejecución del código
en consola:
Ejecución del Ejercicio 1
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.
ahorro <- function(cantidad) {
cantidad <- scan()
cat("Las cantidades a ahorrar por cada mes son:","\n", cantidad)
suma_t <- sum(cantidad)
cat("\n","El total a ahorrar en un año es de:", suma_t, "dólares")
}
# Ingrese las cantidades hasta 12 (meses del año)
ahorro()
Ejecución del código
en consola:
Ejecución del Ejercicio 2
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.
sueldo_total <- function(sueldo, horas) {
sueldo <- as.numeric(readline("Ingrese el sueldo que gana por horas: "))
horas <- as.numeric(readline("Ingrese las horas trabajadas por día: "))
sueldo_diario <- (sueldo * horas)*6
cat("El sueldo a recibir es de:", sueldo_diario)
}
sueldo_total()
Ejecución del código
en consola:
Ejecución del Ejercicio 3
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.
kilometro <- function() {
km1 <- 70
km2 <- 150
km_total <- km1 + (km2 - km1)/2
cat("El kilómetro en el cual se encuentran es en el km", km_total)
}
kilometro()
## El kilómetro en el cual se encuentran es en el km 110
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.
producto <- function(pago, contador) {
contador <- 5
for (pago in 1:20) {
contador <- (contador * 2)
cat("El pago del mes", pago, "es:", contador, "\n")
}
}
producto()
## El pago del mes 1 es: 10
## El pago del mes 2 es: 20
## El pago del mes 3 es: 40
## El pago del mes 4 es: 80
## El pago del mes 5 es: 160
## El pago del mes 6 es: 320
## El pago del mes 7 es: 640
## El pago del mes 8 es: 1280
## El pago del mes 9 es: 2560
## El pago del mes 10 es: 5120
## El pago del mes 11 es: 10240
## El pago del mes 12 es: 20480
## El pago del mes 13 es: 40960
## El pago del mes 14 es: 81920
## El pago del mes 15 es: 163840
## El pago del mes 16 es: 327680
## El pago del mes 17 es: 655360
## El pago del mes 18 es: 1310720
## El pago del mes 19 es: 2621440
## El pago del mes 20 es: 5242880
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
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()
Ejecución del código
en consola:
Ejecución del Ejercicio 6
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.
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()
Ejecución del código
en consola:
Ejecución del Ejercicio 7
Ejercicio 8:
Hacer un programa
que muestre un cronometro, indicando las horas, minutos y segundos.
print("Cronómetro")
i<-0
j<-0
k<-0
for (i in 0:23) {
for (j in 0:59) {
for (k in 0:59) {
Sys.sleep(1)
print(paste(i,":",j,":",k))
}
}
}
Ejecución del código
en consola:
Ejecución del Ejercicio 8
Ejercicio 9:
Realizar un ejemplo
de menú, donde podemos escoger las distintas opciones hasta que
seleccionamos la opción de “Salir”.
# install.packages("svDialogs")
# Cargar la libreria "svDialogs"
library(svDialogs)
menu<-function(){
opc1<-as.numeric(dlgInput(message="Ejemplo Menú
1.- Opción 1
2.- Opción 2
3.- Salir
Selecciona una opción:")$res)
if(opc1==1){
opc1 <- dlgInput(message="Opción 1:
1.- Regresar al menú
2.- Salir
Selecciona 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
Selecciona una opción:")$res
opc1<-as.numeric(opc1)
if(opc1==1){menu()}
}
}
menu()
Ejecución del código
en consola:
Ejecución del Ejercicio 9
Ejercicio
10:
Mostrar en pantalla
los N primero número primos. Se pide por teclado la cantidad de números
primos que queremos mostrar.
n_primos <- function(num) {
num<-as.numeric(readline("Ingrese la cantidad de números que desea observar: "))
primo <- numeric()
num_primo <- numeric()
for (k in 1:num)
{
if (sum(k/1:k==k%/%1:k)==2)
{
num_primo <- c(num_primo,k)
} else
{
primo <- c(primo,k)
}
}
primo
num_primo
}
n_primos()
Ejecución del código
en consola:
Ejecución del Ejercicio 10