Skip to content

Commit

Permalink
#36
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardocpol committed Apr 22, 2023
1 parent 0764f88 commit 946ce18
Show file tree
Hide file tree
Showing 2 changed files with 175 additions and 0 deletions.
59 changes: 59 additions & 0 deletions Labs/tarea2/Grupo_5_py.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/usr/bin/env python
# coding: utf-8

# # **Script en Python**

# ### Condicionales

# In[ ]:


# Pregunta 1

compra = int(input("¿Cuánto dinero gastas? ")) #se agrega un cuadro para que escojan el valor del gasto
if compra < 100:
print("compra de",compra,"soles y pago en efectivo")
elif 100 < compra < 300:
print("compra de",compra,"soles y pago en débito")
elif compra >= 300:
print("compra de",compra,"soles y pago en crédito")


# In[ ]:


# Pregunta 2

x = int(input("¿valor de x? "))
if 0 < x < 100: #si se cumple la condición, entonces se resuelve la función Fx
Fx=x**(1/2)
print("F(x) es",Fx) #se devuelve el valor de F(x)
elif 100 < x < 300:
Fx=x-5
print("F(x) es",Fx)
elif x >= 300:
Fx=50
print("F(x) es",Fx)
else:
print ("0, X es un número negativo")


# La función aplicará las condiciones de acuerdo al valor que se le otorgue a X.

# ### Loops en Python

# In[ ]:


utilidadesanuales = [100, 152, -1 , 8, 12, 156,35, -10, 100, -0.5, 30, 1050 , 7, -10]

for utilidad in utilidadesanuales:
if utilidad < 0:
continue #para que no considere los valores negativos y salte al siguiente
if utilidad > 1000 :
break #si supera 1000, se rompe el loop
else:
print("La utilidad neta anual es", utilidad, "millones")


# Según lo solicitado, el loop debe detenerse si la utilidad supera los 1000 millones, por lo que se realiza el break despues de "if utilidad > 1000 " y el loop ya no considera los siguientes valores. Por ello, el 7, a pesar de que no sea una utilidad negativa no es considerada por el loop.
116 changes: 116 additions & 0 deletions Labs/tarea2/Grupo_5_r.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#Tarea 2
##Parte R

# 1) Condicionales ####

###Pregunta 1 ####

compra <- 4000 #se realizara una condicional con tres alternativas evitando el else, ya que se entiende que el pago es un número positivo

if (compra < 100) {

print(paste0('compra de ',compra,' soles y pago en efectivo'))
} else if (100 < compra & compra < 300) {

print(paste0('compra de ',compra,' soles y pago en debito'))
} else if (compra > 300) {

print(paste0('compra de ',compra,' soles y pago en credito'))
}
#en R para agregar un intervalo se usa &

###Pregunta 2####
x = 400
if (0 < x & x < 100) { #se escribe una funcion cerrada entre 0 y 100
Fx = x^(1/2)
print(paste0("la funcion F(x) es ",Fx))
} else if (100 < x & x < 300) {
Fx = x-5
print(paste0("la funcion F(x) es ",Fx))
} else if (x >= 300) {
Fx = 50
print(paste0("la funcion F(x) es ",Fx))
} else { #se agrega el else, ya que se le puede dar valor de negativos a Fx
print ("0, X es un numero negativo")
}
# 2) Loops en R ####

utilidades_anuales <- c(100, 152, -1 , 8, 12, 156, 35, -10, 100, -0.5, 30, 1050, 7, -10)

for (utilidad in utilidades_anuales) {
if (utilidad < 0) { #indicamos que la utilidad no puede ser menor a 0
next # para saltar los valores negativos
} else if (utilidad > 1000) {
break # romper el loop cuando la utilidad es mayor a 1000 millones
} else {
print(paste("La utilidad neta anual es", utilidad, "millones"))
}}
#Según lo solicitado, el loop debe detenerse si la utilidad supera los 1000 millones, por lo que se realiza el break despues de "if utilidad > 1000 " y el loop ya no considera los siguientes valores. Por ello, el 7, a pesar de que no sea una utilidad negativa no es considerada por el loop.


# 3) Funciones ####

###Función para calcular el factorial ####
###En el ejemplo mostrado a continuación, creamos la función para resolver el factorial del múmero 5, que es 120.

num=5
fact= 1
if (num < 0) {
print("Factorial para números negativos no está permitido")
} else if (num == 0) {
print("El factorial de 0 es 1")
} else {
for(i in 1:num){
fact=fact*i
}
print(fact)
}



###Función de masa corporal####
###La siguiente función entre 4 outputs: el dato de peso, el dato de talla, el indice corporal y clasificación.

calculator <- function(x,y)
{
result = x/y^2

if (result <= 18.4) {return( cat("peso:", x,"talla:",y, "índice corporal:", result,"introducir valores nuevamente"))}
else if(result <=24.9){return( cat("peso:", x,"talla:",y, "índice corporal:", result,"la clasificación es normal"))}
else if(result <= 29.9) {return( cat("peso:", x,"talla:",y, "índice corporal:", result,"la clasificación es sobrepeso"))}
else if(result <= 34.9) {return( cat("peso:", x,"talla:",y, "índice corporal:", result,"la clasificación es obesidad grado 1"))}
else if(result <= 39.9) {return( cat("peso:", x,"talla:",y, "índice corporal:", result,"la clasificación es obesidad grado 2"))}
else if(result <= 40) {return( cat("peso:", x,"talla:",y, "índice corporal:", result,"la clasificación es obresidad grado 3"))}
}
calculator(70,1.5)
calculator(85,1.8)
calculator(50,1.6)


###Función aplicado a dos activos financieros####

###Coeficiente de correlación

library(readr)
Portafolio <- read_csv("~/GitHub/1ECO35_2023_1/data/Portafolio.csv")
alpha <- function(data){
X <- data$X
y <- data$Y
coeficiente= cov(X,y)/sqrt(var(X))*sqrt(var(y))
return(coeficiente)
}
alpha(Portafolio)


###Varianza portafolio

wx=0.2
wy=0.8
alpha2 <- function(data){
X <- data$X
y <- data$Y
varianza= wx^2*var(X)+wy^2*var(y)+2*wx*wy*cov(X,y)
return(varianza)
}
alpha2(Portafolio)

0 comments on commit 946ce18

Please sign in to comment.