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.
Si num es igual a 2, muestra “Es número primo”. Si num no es igual a 2, verifica si es divisible por algún número en el rango de 2 a num-1. Si es divisible, muestra “No es número primo”. Si no es divisible por ningún número en ese rango, muestra “Es número primo”.
#is.prime <- function(num) {
# if (num == 2) {
# TRUE
# j<-print(" Es número primo")
# } else if (any(num %% 2:(num-1) == 0)) {
# FALSE
# j<-print(" No es número primo")
# } else {
# TRUE
# j<-print(" Es número primo")
# }
#}
#is.prime(10)
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.
#cuenta <- function(mes) {
# total <- 0
# for (num in mes) {
# ahorro <- as.numeric(readline(prompt = paste("INGRESE LA CANTIDAD A AHORRAR EN", num, ": ")))
# total <- total + ahorro
# print(paste("EN", num, "LLEVAS: $", total, "DE AHORRO"))
# }
# print(paste("EN EL AÑO AHORRASTE: $", total))
#}
#months <- c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
#cuenta(months)
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.
Definir la cantidad de horas trabajadas por día
#horas_trabajadas <- c(8, 7, 8, 7, 9, 6)
Definir el salario por hora
#salario_por_hora <- 10
Calcular el total de horas trabajadas
#total_horas_trabajadas <- sum(horas_trabajadas)
Calcular el sueldo total
#sueldo_total <- total_horas_trabajadas * salario_por_hora
Mostrar resultados
#cat("Total de horas trabajadas en la semana:", total_horas_trabajadas, #"horas\n")
#cat("Sueldo total a recibir:", sueldo_total, "pesos\n")
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
#while (persona1 < persona2) {
#persona1 <- persona1 + 1
#persona2 <- persona2 - 1
#}
#kilometro_encuentro <- persona1
#print(paste("SE ENCONTRARON EN EL KILOMETRO", kilometro_encuentro))
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.
mes_actual <- 1
pago_mensual <- 10
total_pagado <- 0
while (mes_actual <= 20) {
total_pagado <- total_pagado + pago_mensual
pago_mensual <- pago_mensual * 2
mes_actual <- mes_actual + 1
}
cat("El pago mensual es de", total_pagado/20, "€\n")
## El pago mensual es de 524287.5 €
cat("El total pagado después de 20 meses es de", total_pagado, "$\n")
## El total pagado después de 20 meses es de 10485750 $
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(readline("CUANTOS TRABAJADORES TIENE?"))
#empleados
#gasto_empresa <- 0
#for (i in 1:empleados) {
# horas <- as.numeric(readline(paste("CUANTAS HORAS TRABAJO EL EMPLEADO", i, "A LA SEMANA?")))
# horas
# Calcular el sueldo y actualizar el gasto total de la empresa
# sueldo <- horas * 2.50
# gasto_empresa <- gasto_empresa + sueldo
# gasto_empresa
# Mostrar el sueldo del empleado
# print(paste("EL EMPLEADO", i, "GANA SEMANAL: $", sueldo))
#}
# Mostrar el gasto total de la empresa
#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.
#install.packages("svDialogs")
#library(svDialogs)
#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()
Hacer un programa que muestre un cronometro, indicando las horas, minutos y segundos. La función toma un argumento seg, que representa la cantidad de segundos a contar.
Inicia un bucle que disminuye seg en 1 en cada iteración y muestra el valor actual de seg.
La función hace una pausa de 1 segundo entre cada impresión.
El proceso continúa hasta que seg alcanza 0, momento en el cual se completa el conteo regresivo.
cronometro<- function(seg)
{
print(seg)
while(seg!=0)
{
Sys.sleep(1)
seg<- seg-1
print(seg)
}
}
cronometro(7)
## [1] 7
## [1] 6
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
## [1] 0
Realizar un ejemplo de menú, donde podemos escoger las distintas opciones hasta que seleccionamos la opción de “Salir”.
#opcion <- 0
#while (opcion != 4) {
# cat("***********************************************
# MENU DE OPCIONES
# ***********************************************
# 1. OPCION 1
# 2. OPCION 2
# 3. OPCION 3
# 4. SALIR
# SELECCIONE UNA OPCION: ")
# entrada <- readline()
# if (grepl("^\\d+$", entrada)) {
# opcion <- as.numeric(entrada)
# if (!is.na(opcion) && opcion >= 1 && opcion <= 4) {
# if (opcion == 1) {
# cat("Seleccionaste la OPCION 1\n")
# Agrega aquí el código correspondiente a la opción 1
# } else if (opcion == 2) {
# cat("Seleccionaste la OPCION 2\n")
# Agrega aquí el código correspondiente a la opción 2
# } else if (opcion == 3) {
# cat("Seleccionaste la OPCION 3\n")
# Agrega aquí el código correspondiente a la opción 3
# } else if (opcion == 4) {
# cat("Saliendo del programa. Hasta luego.\n")
# No es necesario agregar código aquí para salir
# }
# } else {
# cat("Opción no válida. Por favor, selecciona una opción del 1 al 4.\n")
# }
# } else {
# cat("Entrada no válida. Por favor, ingresa un número.\n")
# }
#}
Mostrar en pantalla los N primeros números primos. Se pide por teclado la cantidad de números primos que queremos mostrar.
# Función para verificar si un número es primo
#es_primo <- function(n) {
# if (n <= 1) {
# return(FALSE)
# }
# for (i in 2:(n-1)) {
# if (n %% i == 0) {
# return(FALSE)
# }
# }
# return(TRUE)
#}
# Pedir al usuario la cantidad de números primos a mostrar
#N <- as.integer(readline(prompt = "Ingrese la cantidad de números primos que desea #mostrar: "))
# Verificar que N sea un número positivo
# if (is.na(N) || N <= 0) {
# stop("Por favor, ingrese un número entero positivo para la cantidad de primos.")
#}
# Mostrar los primeros N números primos
#num_primos_mostrados <- 0
#num_actual <- 2
# cat("Los primeros", N, "números primos son:\n")
# while (num_primos_mostrados < N) {
# if (es_primo(num_actual)) {
# cat(num_actual, " ")
# num_primos_mostrados <- num_primos_mostrados + 1
# }
# num_actual <- num_actual + 1
#}
# Salto de línea al final
#cat("\n")