Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ecuaciones (https://www.clubdelphi.com/foros/showthread.php?t=30721)

edusus 16-04-2006 17:55:49

ecuaciones
 
Hola, Estoy tratando de hacer un programa capaz de realizar una ecuación de primer grado, pero no lo consigo. No encuentro una forma de introducir los datos para que despeje la x y la realice.
Si alguien sabe como hacerlo y me manda el código en un ejemplo se lo agradezco.

Robert01 17-04-2006 00:00:19

lo que quieres es hacer algo como:

aX +b = 0 ?

x = -b/a


es muy simple, solo despejas la incognita y luego pruebas si se cumple para ese valor.
Si es para un sistema de ecuaciones es similar, despejas primero una y luego la otra incognita.

Hay una página de Jean Moreau sobre cálculo númerico (en pascal, c , fortran y basic)

saludos

edusus 17-04-2006 08:02:39

ecuaciones
 
Gracias por tu respuesta, pero me has entendido mal. Yo sé como resolver las ecuaciones, pero lo que quiero es plantearle la ecuación al programa y que éste lo resuelva. Muchas gracias de todos modos.

[Gunman] 17-04-2006 09:57:04

Mira lo que puedes hacer es:
||EDIT_A||x ||EDIT_B|| = ||EDIT_C||
Esto seria el form, junto con un botón que ponga "Calcular" o algo por el estilo y luego haces lo que ha dicho Robert01;
x := (||EDIT_C||-||EDIT_B||)/||EDIT_A||;
Recuerda que tienes que convertir el valor de cada edit a integer i que x ha de ser de tipo float.
Si quieres hacerlo de otra forma, por ejemplo, un edit que el usuario le indica toda la equación, el programa ha de hacer:
1.- Separar los valores con X de los que no tienen X, por ejemplo podrias usar la función Copy() y la función Pos().
2.- Obtener el valor final de las partes CON X y de las partes SIN X.
3.- Hacer lo mismo que antes, X := PARTES_SIN_X/PARTES_CON_X
Has de tener en cuenta que cuando extraigas los valores has de sacar el signo de este también, me explico?

edusus 17-04-2006 11:08:34

ecuaciones
 
Gracias por tu respuesta, pero lamento decirte que no me funciona.
Si hago la primera opción ( que no haría lo que busco porque limitaría el resultado a una opción de producto a un lado de la igualdad y un único término al otro lado), pero aun así:
edit3.text:= floattostr(strtofloat(edit1.text) * strtofloat(edit2.text)); //Solo funciona poniendo un término en cada edit.
Y la otra opción que me das tal vez funcione pero no sé usar las funciones que me dices. De ésta última te agradecería si me mandas el código. Gracias nuevamente.


La franja horaria es GMT +2. Ahora son las 17:48:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi