Está en la página 1de 17

FUNCIÓN CUADRÁTICA

DESCRIPCIÓN DEL PROBLEMA PLANTEADO:

Desarrolle un programa que calcule las raíces de una función cuadrática y grafique
los resultados, en caso de no tener, solo mostrar el mensaje.

Si el valor de discriminante (raiz) es menor a cero, el programa deberá mostrar


el mensaje:

La función cuadrática no tiene solución real alguna

Si el valor de discriminante (raiz) es igual a cero, el programa deberá mostrar el


mensaje:

La función cuadrática con los valores de a, b, y c tiene una única


solución

La única raíz es x1:

Si el valor de discriminante (raiz) es mayor a cero, el programa deberá mostrar


el mensaje:

La función cuadrática con los valores de a, b y c tiene dos soluciones


reales

La primera raíz es x1:

La segunda raíz es x2:

El programa:

 Utilice los textos ‘Valor de a?’, ‘Valor de b?', 'Valor de c?' para solicitar los
números a evaluar.

 Utilice el formato de punto flotante con dos dígitos en la parte fraccionaria


para presentar los valores de a, b y c, así como a los resultados de sus
raíces.
 El rango para ambos ejes, así como el color de dicha función, queda al
criterio del alumno.
 Nombrar a la gráfica como: Función cuadrática.

DESARROLLO DEL CÓDIGO EN PYTHON.

import numpy as np

import matplotlib.pyplot as plt

import math as m

a=float(input('Valor de a?'))

b=float(input('valor de b?'))

c=float(input('valor de c?'))

#g(x)= a*x**2 + b*x + c

#Fórmula para calcular la raíz:

# x1=-b+math. sqrt(r)/(2*a)

# x2=-b-math.sqrt(r)/(2*a)

# r=((b**2) - 4*a*c)

r= ((b**2) - 4*a*c)

if r < 0:

print('La función cuadrática no tiene solución real alguna.\n')

if r==0:
x1=(-b+m.sqrt(r))/(2*a)

print('La función cuadrática con los valores de a=%.2f, b=%.2f y c=%.2f tiene una
única solución:\n' %(a,b,c))

print('\nLa única raiz es x1:%.2f' %(x1))

else :

x1=(-b+m.sqrt(r))/(2*a)

x2=(-b-m.sqrt(r))/(2*a)

print('La función cuadrática con los valores de a=%.2f, b=%.2f y c=%.2f tiene dos
soluciones reales:\n' %(a,b,c))

print('\nLa primera raiz es x1:%.2f \nLa segunda raiz es x2:%.2f \n ' %(x1,x2))

def g(x):

return a*(x**2) + b*x + c

x = np.arange(-10,10,0.1)

plt.plot(x,[g(i) for i in x], "red")

plt.title('Función cuadrática')

plt.xlabel('Eje X')

plt.ylabel('Eje Y')

plt.grid()

plt.axhline(0, color="blue")

plt.axvline(0, color="blue")

plt.xlim(-10,10)

plt.ylim(-15,15)
plt.show()

DESCRIPCIÓN DE LOS CÓDIGOS UTILIZADOS:

 numpy: realiza cálculos lógicos y matemáticos sobre cuadros y matrices.


 Matplotlib: es una biblioteca para la generación de gráficos en dos
dimensiones, a partir de datos contenidos en listas.
 Math: este módulo proporciona acceso a las funciones matemáticas definidas
en el estándar de C.
 Pyplot : es un módulo Matplotlib que propone varias funciones sencillas para
añadir elementos tales como líneas, imágenes o textos a los ejes de un
gráfico.
 np.arange: Crea y devuelve una referencia a un array de una dimensión
cuyos elementos son la secuencia desde inicio hasta fin tomando valores
cada salto
IMPRESIÓN DE LOS RESULTADOS:

Ejemplos:

 g(x)= 2x2 -4x-1.


 g(x)=x2 +4x+4.

 g(x)= 2x2 -5x+7.


FUNCIÓN SENO, COSENO

DESCRIPCIÓN DEL PROBLEMA PLANTEADO:

En este ¨problema¨ se pretende mostrar el funcionamiento de un código


hecho en python que nos permita graficar una o más funciones.
En este caso el objetivo de este código es hacer una gráfica que muestre las
funciones seno y coseno especificando un rango de valores. El usuario tiene
que proporcionar los valores de X y Y, ya que el programa le va a solicitar al
usuario ingresar estos valores y el programa se encargará de calcular y graficar
el resultado de las funciones seno y coseno en el rango definido.

DESCRIPCIÓN DE LOS CÓDIGOS QUE SE UTILIZARON PARA ESTE


PROGRAMA:

Este código está dividido en 2 módulos:

● main.py que contiene:

import numpy as np
import matplotlib.pyplot as plt
from Mis_Funciones import seno, coseno

def obtener_valores():
inicio_x = float(input("Ingrese el valor de inicio para x: "))
fin_x = float(input("Ingrese el valor de fin para x: "))
inicio_y = float(input("Ingrese el valor de inicio para y: "))
fin_y = float(input("Ingrese el valor de fin para y: "))
return inicio_x, fin_x, inicio_y, fin_y

def main():
inicio_x, fin_x, inicio_y, fin_y = obtener_valores()
x = np.linspace(inicio_x, fin_x, 100)
v = [inicio_x, fin_x, inicio_y, fin_y]

plt.plot(x, seno(x), 'r--', label='seno')


plt.plot(x, coseno(x), label='coseno')
plt.xlabel('tiempo')
plt.ylabel('posicion')
plt.title('Funciones Seno y Coseno')
plt.legend(loc=1)
plt.show()

if __name__ == "__main__":
main()

● Mis_Funciones.py que contiene:

import numpy as np

def seno(x):
return np.sin(x)

def coseno(x):
return np.cos(x)
Explicación del código:

import numpy as np
import matplotlib.pyplot as plt

Estas líneas se usan para importar las bibliotecas ¨numpy¨ que se usa para
cálculos numéricos y ¨matplotlib.pyplot¨ que se usa para graficar.

def seno(x):
return np.sin(x)

def coseno(x):
return np.cos(x)

● Estas son las definiciones de dos funciones:


1. Seno(x) que calcula el valor del seno de x usando la función ¨np.sin(x)¨ de la
biblioteca numpy.
2. Coseno(x) que calcula el valor del coseno de x usando la función ¨np.cos(x)¨
de la biblioteca numpy.

inicio_x = float(input("Ingrese el valor de inicio para x: "))


fin_x = float(input("Ingrese el valor de fin para x: "))
inicio_y = float(input("Ingrese el valor de inicio para y: "))
fin_y = float(input("Ingrese el valor de fin para y: "))
return inicio_x, fin_x, inicio_y, fin_y
● Estas líneas hacen que el programa solicite al usuario agregar los valores de
inicio y fin, de X y Y , los valores que se agreguen se almacenan en las
variables ¨inicio_x¨, ¨fin_x¨, ¨inicio_y¨ y ¨fin_y¨.

x = np.linspace(inicio_x, fin_x, 100)

● En esta línea se crea un ajuste ¨x¨ utilizando ¨np.linspace()¨ que contiene 100
puntos de igual distancia en un rango definido por ¨incio_x¨ y ¨fin_x¨. En este
dominio se evaluarán las funciones de seno y coseno.

v = [inicio_x, fin_x, inicio_y, fin_y]

● En esta línea se usa ¨v¨ para establecer un rango en los ejes de la gráfica.

plt.plot(x, seno(x), 'r--', label='seno')


plt.plot(x, coseno(x), label='coseno')
plt.xlabel('tiempo')
plt.ylabel('posicion')
plt.title('Funciones Seno y Coseno')
plt.legend(loc=1)
plt.show()

● En estas líneas se crea la gráfica:


1. plt.plot(x, seno(x), 'r--', label='seno'): Esta línea se encarga de dibujar la función
seno en el rango de ¨x¨ y se utiliza una línea roja punteada, etiquetando la línea
como ¨seno¨.
2. plt.plot(x, coseno(x), label='coseno'): Esta línea se encarga de dibujar la
función coseno en el rango de ¨x¨ etiquetando la línea como ¨coseno¨.
3. plt.xlabel('tiempo') y plt.xlabel('posicion'): Estas líneas se usan para establecer
las etiquetas de los ejes X y Y.
4. plt.title('Funciones Seno y Coseno'): Esta línea se usa para agregar un título al
gráfico.
5. plt.legend(loc=1): Esta línea agrega una leyenda a la gráfica para distinguir
entre las líneas de seno y coseno.
6. plt.show(): Esta línea muestra la gráfica en la pantalla.

if __name__ == "__main__":
main()

● Esta línea se usa para verificar si el script se ejecuta como un programa


independiente o si se importa como un módulo en otro script. En cuando la
variable ¨_name_¨ se usa en Python para determinar cómo se está usando un
archivo de Python. Cuando un archivo de Python se ejecuta directamente su
valor es igual a ¨_main_¨ y cuando se importa como un módulo en otro script ,
su valor es igual a el nombre del archivo.

Como un leve resumen este código sirve para graficar las funciones: seno y
coseno en el rango de X especificado que es proporcionado por el usuario.

IMPRESIÓN DE RESULTADOS QUE GENERA EL PROGRAMA:

En este ejemplo ingresamos un valor de inicio para x de 14 y un valor de fin


para x de 150, y en Y un valor de inicio para Y de 150 y un valor de fin para Y
de 14.

EL PROGRAMA NOS ARROJA ESTO COMO RESULTADO:


ASISTENCIA HOMBRES-MUJERES.

DESCRIPCION DEL PROBLEMA PLANTEADO

Uno de los problemas más comunes en los entornos laborales es la falta de equidad
de género en la asistencia de los trabajadores hombres y mujeres a lo largo de toda
la semana laboral. Aunque en teoría debería existir igualdad de oportunidades y
condiciones, la realidad demuestra que todavía persisten desigualdades en este
aspecto.

En muchos casos, es común observar que los hombres tienen una mayor presencia
y asistencia los días lunes y viernes, mientras que las mujeres suelen tener una
menor asistencia en estos días y una mayor presencia los días martes, miércoles y
jueves. Esto genera un desequilibrio en la distribución de cargas laborales y
responsabilidades entre los géneros.

Este problema está originado en diversos factores sociales y culturales, como por
ejemplo roles de género estereotipados que asignan a las mujeres más tareas
domésticas y responsabilidades familiares, lo cual dificulta su disponibilidad para
asistir los días lunes y viernes. Además, existe una falta de políticas laborales que
promuevan la igualdad de género, como la falta de flexibilidad horaria o la ausencia
de servicios de cuidado infantil en el lugar de trabajo.

Esta falta de equidad en la asistencia laboral afecta tanto a los trabajadores


hombres como mujeres. Por un lado, los hombres pueden sentirse sobrecargados
los días que tienen mayor asistencia, lo que puede afectar su productividad y
bienestar. Por otro lado, las mujeres pueden experimentar dificultades para avanzar
en su carrera profesional, ya que se les puede percibir como menos comprometidas
debido a su menor presencia los días de mayor asistencia.

Es fundamental abordar este problema mediante la implementación de políticas y


prácticas que fomenten la igualdad de género en el ámbito laboral. Esto incluye
promover la flexibilidad horaria, ofreciendo opciones como el teletrabajo o los
horarios flexibles, lo que permitiría a las mujeres conciliar sus responsabilidades
laborales y familiares de manera más equitativa. Asimismo, es importante fomentar
una cultura de igualdad de género que valore tanto el trabajo de hombres como el
trabajo de las mujeres, evitando estereotipos y prejuicios.

En la empresa CNH se realizó una encuesta a los asistentes administrativos de


cuantos hombres y mujeres asisten en toda la semana por lo cual en el siguiente
código se muestra cuantos trabajadores hombres y mujeres asistieron en toda la
semana

DESCRIPCION DE LOS CODIGOS QUE SE UTILIZARON PARA REALIZAR LA


TAREA SOLICITADA

Este código permite ingresar datos de la cantidad de hombres y mujeres para cada
día de la semana y luego generar un gráfico de barras mostrando la distribución de
hombres y mujeres por día.

El código comienza importando la librería matplotlib.pyplot, que se utiliza para crear


visualizaciones gráficas.
Luego, se definen dos listas vacías, "datos_hombres" y "datos_mujeres", que serán
utilizadas para almacenar los datos ingresados.

A continuación, se inicia un bucle "for" que recorre los días de la semana


especificados en la lista "dias_semana".

Dentro del bucle, se utiliza la función "input" para solicitar al usuario que ingrese la
cantidad de hombres y mujeres para cada día. Estos valores se convierten a enteros
utilizando la función "int" y se almacenan en las listas correspondientes.

Después de completar el bucle, se utiliza la función "plt.bar" para crear el gráfico de


barras. Se le pasa como argumento la lista de días de la semana, la lista de datos
de hombres y la lista de datos de mujeres.

Adicionalmente, se utilizan las funciones "plt.xlabel", "plt.ylabel" y "plt.title" para


añadir etiquetas y un título al gráfico.

Finalmente, se utiliza la función "plt.legend" para mostrar una leyenda que identifica
los colores de las barras como "Hombres" y "Mujeres".

Al llamar a la función "plt.show", el gráfico se muestra en una ventana aparte.

Matplotlib es una biblioteca de gráficos en 2D para el lenguaje de programación


Python. Se utiliza para crear visualizaciones estáticas, animadas e interactivas en
Python.

Matplotlib permite generar una amplia variedad de gráficos, como gráficos de líneas,
gráficos de barras, histogramas, gráficos de dispersión, gráficos de torta, entre
otros. Además, es altamente personalizable, lo que permite ajustar muchos
aspectos de los gráficos, como colores, estilos, etiquetas, títulos, entre otros.

Los siguientes códigos son funciones de la biblioteca Matplotlib en Python y se


utilizan para crear y personalizar gráficos:
 import matplotlib.pyplot as plt`: Esta línea de código permite importar el
módulo pyplot de Matplotlib, que proporciona una interfaz para crear gráficos
fácilmente.
 plt.bar: Esta función se utiliza para crear un gráfico de barras. Permite
representar datos numéricos en barras rectangulares que pueden ser
horizontales o verticales.

 plt.xlabel: Esta función se utiliza para establecer la etiqueta del eje x del
gráfico. Se utiliza para identificar la variable representada en el eje x.
 plt.ylabel: Esta función se utiliza para establecer la etiqueta del eje y del
gráfico. Se utiliza para identificar la variable representada en el eje y.
 plt.title: Esta función se utiliza para establecer el título del gráfico. Es útil para
describir brevemente la información proporcionada por el gráfico.
 plt.legend: Esta función se utiliza para agregar una leyenda al gráfico. Es útil
cuando se representan múltiples conjuntos de datos en el mismo gráfico y se
necesita una forma de distinguirlos.
 plt.show: Esta función se utiliza para mostrar el gráfico generado en una
ventana emergente. Sin esta función, el gráfico no se mostraría en la pantalla.

CODIGO DEL PROBLEMA

import matplotlib.pyplot as plt

dias_semana = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"]

datos_hombres = []

datos_mujeres = []

for dia in dias_semana:

hombres = int(input(f"Ingrese el número de hombres para el {dia}: "))

mujeres = int(input(f"Ingrese el número de mujeres para el {dia}: "))


datos_hombres.append(hombres)

datos_mujeres.append(mujeres)

plt.bar(dias_semana, datos_hombres, label="Hombres")

plt.bar(dias_semana, datos_mujeres, bottom=datos_hombres, label="Mujeres")

plt.xlabel("Días de la semana")

plt.ylabel("Cantidad")

plt.title("Datos de hombres y mujeres por día de la semana")

plt.legend()

plt.show()

IMPRESIÓN DEL CODIGO Y RESULTADOS DEL PROBLEMA

También podría gustarte