Professional Documents
Culture Documents
Laboratorio #2
Materia: Informática I
Informe de Laboratorio
02/06/2023
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
● Problema 1 [16pts].
En la “FunciónMisterio1” se tienen dos parámetros de entrada, “a” y “b”. Valores
con que se realizan los cálculos que arrojan los resultados.
“If”, condición que verifica si “a>5” y si “b<0”. Si las dos condiciones son
verdaderas “a-b” se guarda el resultado como variable “S”.
“Elif”, condición que verifica si “a=5” y “b=0”, si las dos condiciones son
verdaderas “a+b” se guarda el resultado como variable “S”.
“Else”, condición que se ejecuta sólo si ninguna de las condiciones anteriores se
cumplen, entonces “a*b” se guarda el resultado como variable “S”.
En la “FuncionMisterio2” se inicia con “x=10”
“If”, condición que verifica si “var1<var2” si condición es verdadera “var2*2” y el
resultado se le asigna a “var1”
Luego se llama a la “FuncionMisterio1” con los valores de “var1” y “x”, su
resultado se guarda como variable “a”
Si la condición de “If” es falsa se de asigna a “a” el valor de “x”
● Problema 2 [18pts]
Este problema pide un programa que resuelva diversas operaciones matemáticas.
El pseudocódigo a realizar consiste en una serie de funciones para convertir
ángulos entre grados y radianes, así como para calcular el seno, coseno, tangente y
expresiones matemáticas utilizando funciones trigonométricas.
Imagen 1.
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 2.
La función para calcular seno recibe un ángulo en grados como parámetro. Utiliza la
función "radians" para convertir el ángulo a radianes, luego utiliza la función "sin"
para calcular el seno del ángulo en radianes y redondea el resultado a 2 decimales.
Finalmente, devuelve el resultado.
Imagen 3.
La función para calcular coseno recibe un ángulo en grados como parámetro. Utiliza
la función "radians" para convertir el ángulo a radianes, luego utiliza la función "cos"
para calcular el coseno del ángulo en radianes y redondea el resultado a 2
decimales. Finalmente, devuelve el resultado.
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 4.
Imagen 5.
La función para calcular expresión recibe un valor alfa como parámetro. Calcula el
numerador multiplicando alfa por el seno de alfa (previamente convertido a
radianes) y calcula el denominador sumando 1 a alfa. Luego, divide el numerador
entre el denominador y redondea el resultado a 2 decimales. Finalmente, devuelve
el resultado.
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 6.
La función para calcular expresión recibe tres parámetros: alfa, beta y gamma.
Utiliza las funciones trigonométricas "cos" y "sin" para calcular el producto de
cos(alfa) y sin(beta), previamente convertidos a radianes. Luego, eleva el resultado
a la potencia de gamma y redondea el resultado a 2 decimales. Finalmente,
devuelve el resultado.
Imagen 7
En cada caso, se solicita al usuario ingresar los valores necesarios para realizar los
cálculos
● Problema 3 [17pts]
En este problema se pide crear un código en python o google colab que
permita determinar si un estudiante aprobó o reprobó una materia. Lo primero que
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
se suele pedir en este tipo de formato es el nombre del usuario, también se pide
cada una de las notas del estudiante
Imagen 8.
Siguiente a esto en el pseudocódigo se realiza una función que logre calcular con
los datos aportados el promedio ponderado del usuario. En este caso la nota del
proyecto vale el 30%, la nota del primer parcial un 15%, la del segundo parcial 25%
y el promedio de los laboratorios un 30%
Imagen 9.
Imagen 10
● Problema 4 [16pts]
En este problema se presentan distintos errores en el pseudocódigo, se supone que
el programa deberá imprimir el número 2 si se ingresan valores como x=5 , y=1 pero
en su lugar imprime 5.
Como primer paso se debe utilizar los parámetro “a” y “b” en la funciones máximos()
y mínimos()
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 11.
Imagen 12.
● Problema 5 [17pts]
En este punto, se solicita un programa que permita calcular la distancia recorrida por
un proyectil, por tanto se necesita que el usuario seleccione la opción de entrada de
datos (a, b o c)
Si la opción es "b" o "B", se solicita al usuario que ingrese la altura máxima (altmax)
y el ángulo inicial (θ) en grados. Luego, el programa calcula la velocidad inicial (Vi)
utilizando una fórmula dada. Después, se calcula el tiempo de vuelo (t) y finalmente
se calcula la posición horizontal (x) utilizando las fórmulas correspondientes. El valor
de x se muestra
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 13.
Si la opción es "a" o "A", se solicita al usuario que ingrese la velocidad inicial (Vi) y el
ángulo inicial (θ) en grados. Luego, el programa calcula el tiempo de vuelo (t)
utilizando una fórmula dada. Después, se calcula la posición horizontal (x) utilizando
las fórmulas correspondientes. El valor de x se muestra
Imagen 14.
Si la opción es "c" o "C", se solicita al usuario que ingrese el tiempo (t) y el ángulo
inicial (θ) en grados. Luego, el programa calcula la velocidad inicial (Vi) utilizando
una fórmula dada. Después, se calcula la posición horizontal (x) utilizando las
fórmulas correspondientes. El valor de x se muestra.
Imagen 15.
● Problema 6 [16pts]
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
Imagen 16.
Si el discriminante es mayor que 0, significa que hay dos raíces reales distintas. Se
calculan las raíces utilizando las fórmulas conocidas y se devuelven como resultado.
Si el discriminante es igual a 0, significa que hay una raíz real (una raíz doble). Se
calcula la raíz utilizando la fórmula correspondiente y se devuelve como resultado.
Si el discriminante es menor que 0, significa que hay raíces complejas conjugadas.
Se calculan las raíces utilizando números complejos y se devuelven como resultado.
Luego, se le pide al usuario ingresar los valores de los coeficientes “a, b y c”.
Por último se utiliza la función destinada a calcular las raíces con los datos
proporcionados por el usuario para de esta manera obtener las raíces de la función
cuadrática.
2. Prueba de escritorio
● Problema #1
i) Al ejecutar la función
F1= funcionMisterio1(1, 2)
Print(F1)
La respuesta es 2
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
1 2 10 If Var1=var2 * 2 S = 4 * 10 40
var1<var2 =4
Tabla 2. Prueba de escritorio problema #1 parte ii
-2 -1 else S=a*b S = -2 * -1 2
elif Var1 * X S = -2 * 10
-2 -1 10 (var2<var1) -20
Tabla 4. Prueba de escritorio problema #1 parte iv
● Problema #2
● Problema #3
Para prueba de escritorio del programa:
● Problema #4
mínimo (x + 2, y - 5) 5 1 5+2=7 2
1 - 5 = -4
● Problema #5
a 12 3 if t=(2*Vi*math.sin(θ))/9 1.53592
V0, θ (op=="a" .8
or x=Vi*math.cos(θ)*t
op=="A")
b 45 23 if Vi= 212.02
Ymax (op=="b" math.pow(((19.6*altm
,θ or ax)/(math.sin(θ)*(mat
op=="B")
h.sin(θ)))),0.5)
t=
(Vi*math.sin(θ))/9.8
x= Vi*math.cos(θ)*t
c t, θ 34 45 if Vi= 5664.40{
(op=="c" (t*9.8)/(2*math.sin(θ))
or x= Vi*math.cos(θ)*t
op=="C")
Tabla 8. Prueba de escritorio problema #5
● Problema #6
a 2
b -7
c 3
x 4
y 2
raíz_1 3.0
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
raíz_2 0.5
3. Algoritmo en Python
Problema #1
#Ejercicio 1 laboratorio
opcion = input
if opcion == “1”:
print(“Has elegido la opción 1.”)
def FuncionMisterio1(a, b):
if (a > 5 and b < 0)
S = a - b
elif (a == 5 and b == 0):
S = a + b
else:
S = a * b
return S
a = int(input(“Ingrese el valor de a: “))
b = int(input(“Ingrese el valor de b: “))
resultado = FuncionMisterio1(a, b)
print(“El resultado es:”, resultado)
a = FuncionMisterio1(var, x)
elif (var2 < var):
a = FuncionMisterio1(var1, x)
else:
a = x
return a
var1 = int(input(“Ingrese el valor de var1:”))
var2 = int(input(“Ingrese el valor de var2:”))
else:
print(“Opcion invalida. Debes elegir 1 o 2.”)
Problema #2
#Ejercicio 2 laboratorio
#a)convertir angulos a radianes
import math
def convertir_angulos_a_radianes(angulo):
radianes = math.radians(angulo):
return round(radianes,2)
angulo = float(input(“Ingrese el ángulo en grados: ”))
resultado = convertir_angulos_a_radianes(angulo)
print(“El resultado en radianes es:”, resultado)
def convertir_radianes_a_angulos(radianes):
angulo = math.degrees(radianes)
return round(angulo, 2)
#c)sen(α)
import math
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
def calcular_seno(angulo):
seno = math.sin(math.radians(angulo))
return round(seno, 2)
#d) cos(α)
import math
def calcular_coseno(angulo):
coseno = math.cos(math.radians(angulo))
return round(coseno, 2)
# e) tan(α)
import math
def calcular_tangente(angulo):
tangente = math.tan(math.radians(angulo))
return round(tangente, 2)
# f) 𝐹(𝛼) = 𝛼∗𝑆𝑒𝑛(𝛼)/1+𝛼
import math
def calcular_expresion(alfa):
numerador = alfa * math.sin(math.radians(alfa))
denominador = 1 + alfa
resultado = numerador / denominador
return round (resultado, 2)
Problema #3
Problema #4
#Ejercicio 4 laboratorio
def maximo(a, b):
if a > b:
return a
else:
return b
def mínimo(a, b):
if a < b:
return a
else:
return b
#Programa principal
x = int(input(“Valor de x: “))
y = int(input(“Valor de y: “))
Problema #5
#Ejercicio 5 laboratorio
import math
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
if (op==”b” or op==”B”):
altmax= int(input(“Ingrese la altura máxima (m) “))
θ= math.radians(int(input(“Ingrese el ángulo inicial
(deg) “)))
#Para deducir x se necesita despejar “t” y “Vi”
Vi=
math.pow(((19.6*altmax)/(math.sin(θ)*(math.sin(θ)))),0.5)
t= (Vi*math.sin(θ))/9.8
x= Vi*math.cos(θ)*t
print(“La posición de x es “, x, “m”)
if (op==”a” or op==”A”):
Vi= int(input(“Ingrese velocidad inicial (m/s) “))
θ= math.radians(int(input(“Ingrese ángulo inicial (deg)
“)))
#Para deducir x se necesita despejar “t”
t= (2*Vi*math.sin(θ))/9.8
x= Vi*math.cos(θ)*t
print(“La posición de x es “, x, “m”)
if (op==”c” or op==”C”):
t= int(input(“Ingrese tiempo (s) “))
θ= math.radians(int(input(“Ingrese ángulo inicial (deg)
“)))
#Para deducir x es necesario despejar “Vi”
Vi= (t*9.8)/(2*math.sin(θ))
x= Vi*math.cos(θ)*t
print(“La posición de x es “, x,)
Problema #6
#Ejercicio 6 laboratorio a.m
import math
discriminante = (b ** 2) - (4 * a * c)
if discriminante > 0:
#Dos raíces reales distintas
raiz_1 = (-b + math.sqrt(discriminante)) / (2 *
a)
raiz_2 = (-b - math.sqrt(discriminante)) / (2 *
a)
return raiz_1, raiz_2
elif discriminante == 0:
#Una raíz real (raiz doble)
raiz = -b / (2 * a)
return raiz,
else:
#Raíces complejas conjugadas
raiz_1 = (-b + complex(0,
math.sqrt(abs(discriminate)))) /(2 *a)
raiz_2 = (-b - complex(0,
math.sqrt(abs(discriminante)))) / (2 * a)
return raiz_1, raiz_2
#Pedir los valores de los coeficientes al usuario
A = float(input(“Ingrese el coeficiente A: “))
B = float(input(“Ingrese el coeficiente B: “))
C = float(input(“Ingrese el coeficiente C: “))
● Problema #1
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
● Problema #3
● Problema #4
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2
● Problema #5
● Problema #6
Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación
Laboratorio #2