Calculadora de Ecuaciones Cuadraticas

Iniciado por ANTRAX, Julio 25, 2011, 02:00:48 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 25, 2011, 02:00:48 AM Ultima modificación: Julio 26, 2011, 03:25:10 PM por ANTRAX
Version 1.0

Código: python
#Calculadora de Ecuaciones Cuadraticas
# By ANTRAX
# Underc0de.org
# V 1.0
from math import * #Importamos la libreria
a= int(raw_input("Ingrese Valor de A: ")) # Variable a (Coeficiente cuadratico)
b= int(raw_input("ingrese Valor de B: ")) # Variable b (Coeficiente lineal)
c= int(raw_input("Ingrese Valor de C: ")) # Variable c (Termino independiente)
x1= (-b + sqrt(b**2 - 4 * a * c)) / 2 * a # Ecuacion X1
x2= (-b - sqrt(b**2 - 4 * a * c)) / 2 * a # Ecuacion X2
print "El valor de X1 es: ", int(x1) #Impresion resultado X1
print "El valor de X2 es: ", int(x2) #Impresion resultado X2


Version 2.0

Código: python
#Calculadora de Ecuaciones Cuadraticas
# By ANTRAX
# Underc0de.org
# V 2.0
from math import * #Importamos la libreria
a= int(raw_input("Ingrese Valor de A: ")) # Variable a (Coeficiente cuadratico)
b= int(raw_input("ingrese Valor de B: ")) # Variable b (Coeficiente lineal)
c= int(raw_input("Ingrese Valor de C: ")) # Variable c (Termino independiente)
x= (b**2 - 4 * a * c) # Resolucion del contenido de la raiz
if x < 0: # Comprobacion de positividad
    print "Esta Ecuacion no tiene solucion real" #Si es negativo muestra el mensaje de error
else: # En caso de ser positivo, resuelve la ecuacion
    x1= (-b + sqrt(x)) / 2 * a # Ecuacion X1
    x2= (-b - sqrt(x)) / 2 * a # Ecuacion X2
    print "X1 =", x1 # Impresion X1
    print "X2 =", x2 # Impresion X2


Funciona en Android

Greetz: blozzter


Código: php
Ingrese Valor de A: 1
ingrese Valor de B: 2
Ingrese Valor de C: 3
Traceback (most recent call last):
  File "C:\Python27\Scripts\antrax.py", line 7, in <module>
    x1= (-b + sqrt(b**2 - 4 * a * c)) / 2 * a # Ecuacion X1
ValueError: math domain error



bien ANTRAX, para empezar anda bien. pero quedan algunos detallitos ;)


saludos.
¡< blozzter >!

Si, eso es por lo que queda el termino negativo. Ya veremos que hacemos con la version 2...


Felicitaciones! Podrias agregar manejo de errores, o comprobar las variables para resolver, según el vocabulario de nuestro compañero, esos "detallitos" de los que habla.

Saludos!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si, eso es por lo que queda el termino negativo. Ya veremos que hacemos con la version 2...

mi opinión para solucionar eso es:

-separar la parte en donde se calcula el delta (b**2 - 4 * a * c)
-comprobar si es negativo
-si es negativo mostrar un texto que diga que la ecuación no tiene solución real ( si solución compleja )

¡< blozzter >!

Un Gusto tener un Colega Chileno por estos lares !
Que coincidencia, yo la semana pasada tuve que
representar una "Función Cuadratica" en la vida cotidiana
para matemáticas y lo representé en un código haskell


Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Listo! ahora si va bien!

bien, ANTRAX  ;D

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Un Gusto tener un Colega Chileno por estos lares !
Que coincidencia, yo la semana pasada tuve que
representar una "Función Cuadratica" en la vida cotidiana
para matemáticas y lo representé en un código haskell


Saludos.


jaja, JaAViEr, si, un gusto  ;)
¡< blozzter >!

Gran trabajo ;D Yo estoy empezando con python y es uno de los lenguajes q mas me gusto. Espero poder llegar a hacer algo como esto :D

Veo que actualizaste a la 2.0, te daré unos consejos mas.




No veo por qué utilizar int() y luego raw_input(). Simplemente utilizando input() funciona.

Luego, que pasa si en las variables introducimos una letra? Estaría bueno que devuelva un mensaje de error, y no que salga el fallo de que la letra o cadena dada no está definida.

Para eso, podemos hacer algo como lo siguiente:

Código: python
#Calculadora de Ecuaciones Cuadraticas
# By ANTRAX
# Underc0de.org
# V 2.0
from math import * #Importamos la libreria
try:
a= input("Ingrese Valor de A: ") # Variable a (Coeficiente cuadratico)
b= input("ingrese Valor de B: ") # Variable b (Coeficiente lineal)
c= input("Ingrese Valor de C: ") # Variable c (Termino independiente)
x= (b**2 - 4 * a * c) # Resolucion del contenido de la raiz
if x < 0: # Comprobacion de positividad
print "Esta Ecuacion no tiene solucion real" #Si es negativo muestra el mensaje de error
else: # En caso de ser positivo, resuelve la ecuacion
x1= (-b + sqrt(x)) / 2 * a # Ecuacion X1
x2= (-b - sqrt(x)) / 2 * a # Ecuacion X2
print "X1 =", x1 # Impresion X1
print "X2 =", x2 # Impresion X2
except:
print "La variable no es correcta"


Y entonces, nos devolveria:

Código: text
sthefano@ubuntu:~$ python antrax.py
Ingrese Valor de A: a
La variable no es correcta
sthefano@ubuntu:~$


Para darle un toque mas "pythonico" se podrian agregar funciones para la comprobación, y la resolucion de las ecuaciones, lo que nos facilitaria devolver errores mas claros, pero no llego a dejarte un ejemplo.

Saludos y felicitaciones!


Mira, yo estuve viendo ecuaciones cuadraticas hace poco con Baskara y los resultados no me dan los correctos con tu programa :/ (no te ofendas)
Asi que modifiqe un poco las cosas pero todavia no solucione el tema de cuando te dan una variable erronea o la ecuacion no es correcta
este es mi codigo:
Código: php
from math import *
a= int(raw_input("Ingrese Valor de A: "))
b= int(raw_input("ingrese Valor de B: "))
c= int(raw_input("Ingrese Valor de C: "))
x1 = 4 * a
x2 = x1 * (c)
x3 = b**2 - (x2)
y1 = -b + sqrt(x3)
y2 = -b - sqrt(x3)
X1 = y1 / (2*a)
X2 = y2 / (2*a)

print 'X1 =', X1
print 'X2 =', X2

Se que el codigo es un poco mas desorganizado o complicado  ;D Pero si las cuentas se hacen todas seguidas sin establecer terminos, los resultados no son los correctos
Pero los resultados son los correctos, si me ayudan a solucionar el tema de variables erroneas les agradeceria



Con que ejercicio no te funciono?
por que yo la probe y si funciona!


 0v3rfl0w

CitarHola, solo una duda. Quien rippeo a quien ¿?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.

Perdon  0v3rfl0w lo borre sin querer, sorprendentemente es tu primer post, y directo a discutir si observas en ddlr el post es del 3 de Agosto. Antrax lo publico el 25 de Julio seria mejor que preguntes alla a r3v0lth4ck y le digas.

Saludos :P
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!




Yo doy fe de que este código lo hizo ANTRAX, nos topamos en el IRC aquel día y lo ayudé con algunos detalles.  ;D
¡< blozzter >!

jajaja es una calculadora de ecuaciones cuadraticas es como si se pusieran a discutir por un code tipo

main()
{
int a,b,result;
result=a+b;
cout<<"result";
}

son operacaciones sencillas que se resuelven siempre de la misma manera

Agosto 26, 2011, 10:00:18 AM #15 Ultima modificación: Agosto 30, 2011, 11:42:43 AM por ~ Yoya ~
Citar0v3rfl0w

Citar
Hola, solo una duda. Quien rippeo a quien ¿?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.

Perdon  0v3rfl0w lo borre sin querer, sorprendentemente es tu primer post, y directo a discutir si observas en ddlr el post es del 3 de Agosto. Antrax lo publico el 25 de Julio seria mejor que preguntes alla a r3v0lth4ck y le digas.

Saludos

"Hola, solo una duda. Quien rippeo a quien ¿?" <------ LEELO BIEN

Dime en donde me ves discutiendo ? Solo pregunte quien rippeo a quien y nada mas.


Cita de: [Corruptedyte link=topic=6999.msg26525#msg26525 date=1314331194]
jajaja es una calculadora de ecuaciones cuadraticas es como si se pusieran a discutir por un code tipo

main()
{
int a,b,result;
result=a+b;
cout<<"result";
}

son operacaciones sencillas que se resuelven siempre de la misma manera

Bytito Corrupto o lo que seas, y tu donde me viste insultando ¿? Seguramente ni has leido lo que fue que paso y solo comentaste para decir "Hola? soy e juackerl bytito y se python, mirenme".  Seguro eres nuevo en todo esto verda¿? Pobre noob.

Si tienen rango en el foro entonces demuestren un poco de seriedad.

Salu2.


Tema cerrado; para arreglar sus diferencias háganlo por medio de los mensajes privados.
Cada vez que me das Karma me motivas