Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Wink hola! necesito 1 codigo :P

Hola! Soy nuevo en delphi... y por ahora aprendi a hacer calculadoras (suma, diferencia, producto, division, cuadrado, raiz...) pero necesito hacer una cosa... necesito saber el codigo para hacer una calculadora que haga ecuaciones de 2º grado! No tengo ni idea, supongo que sera poner el orden bien puesto de como hacer las operaciones con parentesis. Lo intente, llevo 2 horas dandole a la cabeza y nada . No lo consigo. Espero ayuda amigos de Delphi ^^

Saludos.
Responder Con Cita
  #2  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Lightbulb

Recibi un PM diciendo que solo es poner todas las operaciones con parentesis y tal... os digo que... soy nuevo, tengo 14 años y se poco de esto. No se como hacerlo, aqui os dejo mi codigo de mi calculadora con la que sumo para que veais mas o menos lo que sé hacer:

a:=STRTOINT(edit1.text);
b:=STRTOINT(edit2.text);
s:=a+b;
edit3.text:=inttostr(s);


*Arriba pongo las VAR :P que se me olvido poner.
Responder Con Cita
  #3  
Antiguo 09-11-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola kbaby, bienvenido al club, aquí no nos gusta sentirnos utilizados, sin importar la edad que tengas.

Hagamos un buen ejercicio, porque no pones lo que sabes de una ecuación de segundo grado y a partir de ahí vamos desarrollando el tema, obviamente tú lo vas a hacer en base a comentarios y sugerencias que se te hagan.

Estas de acuerdo???

Salud OS
Responder Con Cita
  #4  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Hola de nuevo...

Pues yo empezé con algo así:

VAR a,b,c,d:integer;
Begin
a:=STRTOINT(edit1.text);
b:=STRTOINT(edit2.text);
c:=STRTOINT(edit3.text);
d:=Aquí, iría, supongo, el procedimiento de la ecuación.
edit4.text:=inttostr(d);

end;


Así empezé :P no se si voy bien ^^ !! Gracias
Responder Con Cita
  #5  
Antiguo 09-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Por lo que veo vas en un proceso mas o menos bueno.
Confieso que ya no me acuerdo de las ecuaciones de segundo grado, asi que en este caso tal vez seria bueno que el maestro fueras tu.
Con relación al uso de las variables, veo un problema:
Según lo que me acuerdo (por favor corrígeme) las ecuaciones de segundo grado se basan en uno o mas interrogantes, que son Letras (osea String) y el resultado de estas suele en muchos casos ser (float) osea que contiene decimales.
Viendo esto, tendrías que tener variables de tipo Real y String para poder sacar un resultado.
también hay que tener en cuenta que en cuanto a las operaciones de segundo grado, se eliminan o anulan los números que coinciden (te recuerdo que casi no me acuerdo de esto), esa seria otra operacion que se tendra que hacer antes de la que planteas.
Saludos
Responder Con Cita
  #6  
Antiguo 09-11-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por egostar Ver Mensaje
Hagamos un buen ejercicio, porque no pones lo que sabes de una ecuación de segundo grado y a partir de ahí vamos desarrollando el tema
Salud OS
Reafirmo el comentario.

kbaby, sabemos que recién estás comenzando. Tanto en comprender las ecuaciones como también en esto de la programación.

Te pediría que comentes con tus palabras lo que entiendes por ecuaciones de segundo grado. Si te doy un código no lo vas a entender... lo más seguro y aconsejable es que la solución y consejos que te demos se amolde a tus conocimientos.

Me parece bien que hayas expuesto el código que tienes, pero el problema (según parece ser) es como ingresar la ecuación de segundo grado. Explicate con los mayores detalles posibles, no te vamos a cobrar por la cantidad de palabras.

Saludos,
PD: Por ser iniciado en clubdelphi el título lo dejamos pasar. Pero en lo sucesivo preferimos que tengas más cuidado al momento de elegir un título adecuado. Para mayor información la guia de estilo.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Pues te respondo diciendo que no tengo ni idea. Empeze hace 3 dias a programar (en el colegio) y aprendimos esto. Solamente... y ahora me piden este ejercicio de la ecuacion y no tengo ni idea... soy un "n00b" en este tema. Gracias por la respuesta.
Responder Con Cita
  #8  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Ya se que no cobran... -.-''

No se que explicarte con mis palabras, yo lo que quiero son tres casillas A,B,C donde ponga las incognitas y me salgan en otras dos casillas los resultados de dicha ecuacion de 2º grado... No es más.

Gracias.
Responder Con Cita
  #9  
Antiguo 09-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Entonces el problema que tenemos no es de programación, es de matemáticas .

Bueno, no voy a ser malo, (de todas formas google te da la solucion)

Usa lo que en esa web dice "ecuación completa"

Ahora unas sugerencias:
- el cuadrado de un número, lo puedes obtener con la función Intpower de delphi
- la raiz cuadrada con sqrt(aqui_el_numero)
- El resto de operaciones, son las normales, comentar que uses "/" para la división con decimales.
- Ten cuidado al dividir, ya que si el divisor es cero, tu programa se quejará al realizar la división.

PD: aprende de memoria la dichosita fórmula, que puede ser pregunta de exámen, ahí verán si copiaste la fórmula sin más o te interesaste en el tema .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 09-11-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
kbaby,
Lamento decirtelo de esta forma: ¿Como es posible que te pidan un ejercicio que implica ecuaciones de segundo grado si no viste el tema en la materia correspondiente?

Como te dije. Puedo elaborarte un ejemplo, y al tema lo conozco... ya pasé por eso. Pero el código que yo te puedo elaborar es muy posible que escape a tus conocimientos.

Una ecuación de segundo grado se resuelve de forma muy sencilla, igualandola a cero:

a*x^a + b*x + c = 0

x = (-b/2*a) +- (Raiz(b^2 - 4*a*c))/(2*a))

De modo que se consiguen dos resultados, uno con la suma y el otro con la resta entre los miembros de la ecuación. Siendo Razi() la raíz cuadrada.

Por algo te pido que escribas con tus palabras que entiendes por ecuación de segundo grado. La fórmula anterior tiene sentido siempre y cuando la solución se encuentre en los números reales, en otro caso está en el mundo de los complejos. Es decir siempre que (b^2 - 4*a*c) sea mayor o igual a cero.

Para mayor info te remito a la wiki si deseas saber.

Te podemos ayudar a medida que continues con el trabajo. Prueba con lo que entiendes. No quiero elaborarte el código, es necesario que tu lo aprendas... yo ya lo ví. Para mi es un repaso.

Espero que puedas aceptar estas palabras, no es una reprimenda. Pero debes poner de tu parte.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #11  
Antiguo 09-11-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Acotando lo que dice Lepe y Delphius, te piden 2 casillas porque las ecuaciones de segundo grado tienen la caracteristica de tener dos resultados.

x = (-b/2*a) +- (Raiz(b^2 - 4*a*c))/(2*a))

Esto se ve de dos formas

x1 = (-b/2*a) + (Raiz(b^2 - 4*a*c))/(2*a))
x2 = (-b/2*a) - (Raiz(b^2 - 4*a*c))/(2*a))

Edito

Creo que aqui hay un pequeño error

La ecuación sería así no Delphius

x = (-b +- (Raiz(b^2 - 4*a*c))/(2*a))

x1 = (-b + (Raiz(b^2 - 4*a*c))/(2*a))
x2 = (-b - (Raiz(b^2 - 4*a*c))/(2*a))

Salud OS

Última edición por egostar fecha: 09-11-2007 a las 18:56:27.
Responder Con Cita
  #12  
Antiguo 09-11-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Hola

No se si te sirve de algo esto

Saludos
Responder Con Cita
  #13  
Antiguo 09-11-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Robert01 Ver Mensaje
Hola

No se si te sirve de algo esto

Saludos
Muy buena, pero dificilmente la entendi yo, recuerda que es un muchacho de 14 años

Salud OS
Responder Con Cita
  #14  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
Entonces el problema que tenemos no es de programación, es de matemáticas .

Bueno, no voy a ser malo, (de todas formas google te da la solucion)

Usa lo que en esa web dice "ecuación completa"

Ahora unas sugerencias:
- el cuadrado de un número, lo puedes obtener con la función Intpower de delphi
- la raiz cuadrada con sqrt(aqui_el_numero)
- El resto de operaciones, son las normales, comentar que uses "/" para la división con decimales.
- Ten cuidado al dividir, ya que si el divisor es cero, tu programa se quejará al realizar la división.

PD: aprende de memoria la dichosita fórmula, que puede ser pregunta de exámen, ahí verán si copiaste la fórmula sin más o te interesaste en el tema .

Saludos
*Cof.. Cof..* Ejem... la formula me la se ^^ lo que no se es como ponerla en el programa, llevo 2 o 3 dias con el y no he visto nada del otro mundo. Así que es por eso, de mates ando bien . Seguire leyendo post.
Responder Con Cita
  #15  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Egostar creo que lo que me dijiste me funcionara, voy a probarlo.

A ver señores... me parece que porque tenga 14 años no parais de decirme que me estudie la formula o que es problema de matematicas... a ver... LA FORMULA ME LA SE -.- Y OPERO CON ELLA, ESO ES TEMARIO DE HACE 2 AÑOS. La programacion (informatica como asignatura) la empeze esta semana, y directamente fuimos a programar, y yo empiezo desde 0 con los ordenadores. Nunca los usé. No digais mas que estudie dichosa formula que me la se -.-.


GRACIAS EGOSTAR.
Responder Con Cita
  #16  
Antiguo 09-11-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿Y cual es el problema?
Sigue continuando como venías haciendo, almacenando los valores en variables y operar con ellas de acuerdo a la fórmula.
Unas funciones que te van a sacar dolor de cabeza: Sqr, Sqrt.
Una es para elevar al cuadrado y la otra saca la raíz cuadrada.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #17  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Aquí estoy, puse esto:

VAR a,b,c:integer;
x,y:real;
begin
a:=STRTOINT(edit1.text);
b:=STRTOINT(edit2.text);
c:=STRTOINT(edit3.text);
x:=(-b + (SQRT(b^2 - 4*a*c))/(2*a))
y:=(-b - (SQRT(b^2 - 4*a*c))/(2*a))
edit4.text:=inttostr(x);
edit5.text:=inttostr(y);
end;


Me da error, no se donde, pero....¿qué hago?

Última edición por kbaby fecha: 09-11-2007 a las 20:35:02. Razón: Error de escritura.
Responder Con Cita
  #18  
Antiguo 09-11-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Delphius Ver Mensaje
¿Y cual es el problema?
Sigue continuando como venías haciendo, almacenando los valores en variables y operar con ellas de acuerdo a la fórmula.
Unas funciones que te van a sacar dolor de cabeza: Sqr, Sqrt.
Una es para elevar al cuadrado y la otra saca la raíz cuadrada.

Saludos,
Efectivamente, lo que expresamos es como se debe de hacer, pero no funciona como código delphi, has lo que te dice Delphius de usar SQRT() y SQR().

Salud OS
Responder Con Cita
  #19  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
VAR a,b,c,d:integer;
x,y:real;
begin
a:=STRTOINT(edit1.text);
b:=STRTOINT(edit2.text);
c:=STRTOINT(edit3.text);
x:=(-b + (SQRT(SQR(b) - 4*a*c))/(2*a))
y:=(-b - (SQRT(SQR(b) - 4*a*c))/(2*a))
edit4.text:=inttostr(x);
edit5.text:=inttostr(y);
end;

Aja ^^ asi hice ^^ creo que lo puse bien no? Aunque sigue dando error. Lo pongo lo que dice:
Missing operator or semicolon
Missing operator or semicolon
Y otro quejandose del inttostr... (es muy largo jeje).

Gracias ! ^^
Responder Con Cita
  #20  
Antiguo 09-11-2007
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 17
kbaby Va por buen camino
Cambie INTTOSTR por FLOATTOSTR y funciona... no me acorde que X e Y son Reales ... lo siento ! ^^ Pero ahora sigue lo del error del semicolon T.T

Missing operator or semicolon

Última edición por kbaby fecha: 09-11-2007 a las 20:47:08. Razón: Para ordenar el comentario
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Necesito pasar de doc a pdf por codigo...help!!! cirilungol Varios 2 29-05-2006 09:52:49
Hola Es mi primer mensaje en este Foro y necesito ayuda para archivos XML Juan_Carlos_P Gráficos 2 08-08-2005 19:11:17
Necesito un repositorio de codigo fuente !! Raptor Varios 0 27-09-2004 18:02:55
Hola, Necesito instalar el componente FlatStyle 1.0 en mi Delphi7 chelodelphi OOP 0 24-09-2004 08:57:03
Hola Incrementacion de codigo edwin1 OOP 2 07-08-2003 07:10:08


La franja horaria es GMT +2. Ahora son las 03:16:46.


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
Copyright 1996-2007 Club Delphi