Funciones aplicadas:
function: Se puede definir una función dentro de otra función.
paste: sirve para concatenar cadenas de caracteres.
cat: facilita la impresión cuando hay muchas variables.
if: es usado cuando deseamos que una operación se ejecute únicamente cuando una condición se cumple.
else: es usado para indicarle a R qué hacer en caso de la condición de un if no se cumpla.
sqrt: calcula la raiz cuadrada.
list: permite agrupar o contener cosas como dataframes, matrices y vectores en una misma variable.
data.frame: se utiliza para guardar tablas de datos.
return: obtiene el resultado de un paso en particular en la ejecución, no necesariamente el último.
is.character: Esto es de utilidad para asegurarnos que las operaciones que deseamos realizar tendrán los datos apropiados
primo <- function(n) {
if (n == 2) {
TRUE
a<-print(" Es primo")
} else if (any(n %% 2:(n-1) == 0)) {
FALSE
a<-print(" No es primo")
}
}
primo(4)
## [1] " No es primo"
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))
}
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))
}
p1<-70
p2<-150
km<-0
while (p1 == p2) {
p1<- p1+1
p2<- p2-1
km<- p2-p1
print(paste("SE ENCONTRARON EN EL KILOMETRO", km))
}
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"
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))
}
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))
}
cronometro<- function(seg){
print(seg)
while(seg!=0){
Sys.sleep(1)
seg<- seg-1
print(seg)
}
}
o<-""
while(o!="Salir"){
o <- readline(prompt="Elija entre estas opciones:\n-o1\n-o2\n-o3\n-Salir: ")
if (o=="o1"){
print("Escogió opción 1")
}else{
if (o=="o2"){
print("Escogió opción 2")
}else{
if (o=="o3"){
print("Escogió opción 3")
}else{
if (o=="Salir"){
print("Salió del menú")
break
}
}
}
}
}
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
}