[Aporte] Script que calcula la ecuación cuadrática ax2 + bx + c = 0

Iniciado por uluigi, 15 Julio 2015, 20:32 PM

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

uluigi

Bueno, pues os traigo otro script, que calcula una ecuación de segundo grado, vamos... que te la da completa.
Fórmulas hechas con imágenes para que la lectura de código sea más sencilla, le doy las gracias a engel lex por darme esa idea.

Inicio del pseudocódigo
[Resolución de la ecuación cuadrática ax2 + bx + c = 0]
   1. Pedir valores de los campos.
   2. Capturar valores de a, b y c.
   3. Si VALUE = (NEGATIVO = 0 AND POSITIVO = 1) 000
   4. ENTONCES VALOR SERÁ !=.
Final del pseudocódigo


Si encontráis algún error, ¡comentadlo!



https://mega.nz/#!yI0AVRDB!0ekZ4hPEZkWM8WB3m1Ds-NqpaCco5uR8pLZflVQnFxQ

El código del script supera las 500 líneas así que me veo obligado a subirlo a MEGA. Un saludo.

ivancea96

Es incorrecto en varios aspectos.
En primer lugar, si B es negativo o positivo, en la representacion, no se ve.
En segundo lugar, haces la raiz de numeros negativos.
En tercer lugar, el código está muy repetido.


Hazlo sin un if/else por cada combinacion de positivo/negativo.
Comprueba si la raiz es negativa o positiva, que es una parte importante de esta ecuación.
Trata de hacer que los números que se ven en la ecuación con LATEX sean correctos.

Al parecer por lo que he visto, cuando B es negativa, la cambias a positiva sin más razón.

Este código lo puedes hacer sin necesidad de if/elses para cada posibilidad.
1 hilo de código, haciendo las comprobaciones que quieras, pero solo 1 hilo, no 8 posibilidades.

uluigi

En la representación sí se ve si son negativos o positivos.
¿En la raíz cuadrada? Será algún fallo, tendré que echarle un vistazo.

Hombre... está muy repetido por las posibilidades que tiene. Por ejemplo:
Si a es negativo, b es positivo y c es negativo, lo represento como  010 para no perderme, y que si a = 0, b = 1 y c = 0 HACER ALGO, en este caso, hacer la ecuación con los números representados y en la gráfica de LATEX agregar los paréntesis que se agregan a los números negativos en las ecuaciones

¿Y cómo lo hago sin el if/else? Saludos y gracias por tu comentario.

ivancea96

Basta que pongas un if en donde vayas o no a colocar los parentesis. Con un operador ternario lo tienes fácil.

uluigi

Pero es que no es sólo poner el if donde ponga los paréntesis, eso es la parte visual, haría falta la parte del código, porque a veces se elimina el signo menos y otras se añade, ¿me entiendes compae?

Por cierto, creo que más o menos lo voy entendiendo, itentaré basarlo.

ivancea96

El único caso donde se elimina el signo menos, es en b^2. Pero eso es matemática, menos por menos es más.

uluigi

Lo habré quitado sin querer, ¿podrías especificarme en qué línea de código pasa eso?


uluigi

Cita de: ivancea96 en 20 Julio 2015, 14:35 PM
El único caso donde se elimina el signo menos, es en b^2. Pero eso es matemática, menos por menos es más.

ivancea96

En matemáticas, si multiplicas un número negativo por otro negativo, sale un número positivo. Así que un número elevado a un número par, siempre va a ser positivo.

Cita de: uluigi en 20 Julio 2015, 04:06 AM
porque a veces se elimina el signo menos y otras se añade

tan solo es multiplicar, los signos se colocan solos al realizar las multiplicaciones. Lo único que tienes que hacer es poner (o no) los paréntesis.