Autores:
Colaborador:
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.
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(5)
## [1] " Es número 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.
ahorros<-function(a){
print("DEPOSITO ANUAL")
MESES<-c("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNEO",
"JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE")
DEPOSITOS_M<-round(runif(12,min = 250,max = 500),2)
DATOS<-data.frame(MESES,DEPOSITOS_M)
print(DATOS)
cat("TOTAL DE DEPOSITO ANUAL : ",sum(DEPOSITOS_M))
}
depositosA<-ahorros(a)
## [1] "DEPOSITO ANUAL"
## MESES DEPOSITOS_M
## 1 ENERO 320.05
## 2 FEBRERO 490.96
## 3 MARZO 325.50
## 4 ABRIL 479.13
## 5 MAYO 491.34
## 6 JUNEO 288.59
## 7 JULIO 385.13
## 8 AGOSTO 356.15
## 9 SEPTIEMBRE 496.52
## 10 OCTUBRE 414.59
## 11 NOVIEMBRE 475.26
## 12 DICIEMBRE 348.72
## TOTAL DE DEPOSITO ANUAL : 4871.94
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<-function(h){
DIAS<-c("lunes","martes","miercoles","jueves","viernes","sabado")
print("Horas durante la semana")
HORAS<-round(runif(6,min = 8,max = 9),0)
print("Sueldos por hora")
SUELDO<-round(runif(6,min = 20,max = 25),2)
REGISTRO<-data.frame(DIAS,HORAS,SUELDO)
print(REGISTRO)
cat("TOTAL DE SUELDO POR EL TRABAJO EN LA SEMANA : ",sum(SUELDO))
}
total<-horas(h)
## [1] "Horas durante la semana"
## [1] "Sueldos por hora"
## DIAS HORAS SUELDO
## 1 lunes 9 23.73
## 2 martes 8 24.45
## 3 miercoles 8 20.97
## 4 jueves 8 24.53
## 5 viernes 9 22.75
## 6 sabado 9 22.69
## TOTAL DE SUELDO POR EL TRABAJO EN LA SEMANA : 139.12
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.
pa<-70
pb<- 150
d<- pb - pa
while (d>0){
pa<- pa + 1
pb<- pb -1
d<- pb - pa
}
paste("El punto de encuentro es en el kilómetro:", pa)
## [1] "El punto de encuentro es en el kilómetro: 110"
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..Funciones:
p<- 10
t<- 0
for(i in 1:20){
p<- p*2
t<- t + p
paste("EN EL MES", i, "PAGARAS: $", p)
}
paste("EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $", t)
## [1] "EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $ 20971500"
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.
N <- readline(prompt="Ingrese el número de trabajadores: ")
Precio_hora<-10
Sueldo<-function(horas){
return(horas*Precio_hora)
}
Sum_sueldo<-0
for (i in 1:N) {
print(paste("Empleado ",i))
horas <- readline(prompt="Ingrese las horas trabajadas: ")
horas <- as.integer(horas)
print(paste("Sueldo semanal de empleado ",i," :$",Sueldo(horas)))
Sum_sueldo<-Sum_sueldo+Sueldo(horas)
}
print(paste("La empresa pago: $",Sum_sueldo))
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.
N <- readline(prompt="Ingrese el número de trabajadores: ")
Precio_hora<-10
Sueldo<-function(dias,horas){
return(horas*Precio_hora)
}
Sum_sueldo<-0
for (i in 1:N) {
print(paste("Empleado ",i))
dias <- readline(prompt="Ingrese los dias trabajados: ")
horas <- readline(prompt="Ingrese las horas trabajadas: ")
horas <- as.integer(horas)
print(paste("Sueldo semanal de empleado ",i," :$",Sueldo(dias,horas)))
Sum_sueldo<-Sum_sueldo+Sueldo(dias,horas)
}
print(paste("La empresa pago: $",Sum_sueldo))
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))
}
}
}
Realizar un ejemplo de menú, donde podemos escoger las distintas opciones hasta que seleccionamos la opción de “Salir”.
Opcion<-""
while(Opcion!="Salir"){
Opcion <- readline(prompt="Elija entre estas opciones:\n-Opc1\n-Opc2\n-Opc3\n-Salir: ")
if (Opcion=="Opc1"){
print("Escogió opción 1")
}else{
if (Opcion=="Opc2"){
print("Escogió opción 2")
}else{
if (Opcion=="Opc3"){
print("Escogió opción 3")
}else{
if (Opcion=="Salir"){
print("Salió del menú")
break
}else{
print("Opción incorrecta")
}
}
}
}
}
Mostrar en pantalla los N primero número primos. Se pide por teclado la cantidad de números primos que queremos mostrar.
N <- readline(prompt="Ingrese la cantidad de números primos: ")
N <- as.integer(N)
i<-0
j<-0
k<-0
l<-0
m<-0
while(j < N) {
k<-k+1
m<-0
for (i in 1:k) {
l<-k%%i
if (l==0){
m<-m+1
}
}
if (m==2){
print(paste(k))
j<-j+1
}
}