Delphi - Aver, hasta aqui llegue !!¿

 
Vista:

Aver, hasta aqui llegue !!¿

Publicado por Not_So_BaD_BoY (3 intervenciones) el 20/04/2005 18:15:56
Hola amigos, un saludo.

Bueno me pasa que tengo un programa donde valido/calculo el promedio de 10 edits pero el promedio me da erróneo, por ejemplo el promedio de:

90
90
90
90
90
90
90
90
90
90

esos diez 90 me dan 819, ahora si que no doy pie con bola, échenle un ojo al código aver que pasa, [ este no es todo el codigo pero es la parte que estoy seguro tiene el problema ].

procedure TForm1.Button1Click(Sender: TObject);
var

v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,resultado:real;

begin

if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or
(Edit4.Text='') or (Edit5.Text='') or (Edit6.Text='') or
(Edit7.Text='') or (Edit8.Text='') or (Edit9.Text='') or
(Edit10.Text='') then

ShowMessage('Debe llenar todas las casillas')

else
begin
v1:=strtofloat(Edit1.Text);
v2:=strtofloat(Edit2.Text);
v3:=strtofloat(Edit3.Text);
v4:=strtofloat(Edit4.Text);
v5:=strtofloat(Edit5.Text);
v6:=strtofloat(Edit6.Text);
v7:=strtofloat(Edit7.Text);
v8:=strtofloat(Edit8.Text);
v9:=strtofloat(Edit9.Text);
v10:=strtofloat(Edit10.Text);

resultado:=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10/10;
Edit11.Text:=floattostr(resultado);
end
end;


Un saludo desde Cuba

Not_So_BaD_BoY

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Aver, hasta aqui llegue !!¿

Publicado por Dr Juzam (822 intervenciones) el 20/04/2005 19:01:38
Pues me da que va a ser un problema de aritmética:

resultado:=(v1+v2+v3+v4+v5+v6+v7+v8+v9+v10)/10;

Del otro modo, haces

resultado:=(v1+v2+v3+v4+v5+v6+v7+v8+v9)+v10/10;

Lo que a todas luces da un resultado erróneo.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aver, hasta aqui llegue !!¿

Publicado por Virum (484 intervenciones) el 20/04/2005 20:40:34
Hola:

¿Te saltaste la clase de Matemáticas ese dia?

Ya te ha dicho Dr Juzam por qué ocurre.

En una operación combinada de sumas, restas, multiplicaciones y divisiones, si no hay paréntesis que indica lo contrario, la regla es que primero se realizan las multiplicaciones y divisiones y luego las sumas y restas, independientemente del lugar en que estén.

Suerte.

v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,resultado:real;

begin

if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') or
(Edit4.Text='') or (Edit5.Text='') or (Edit6.Text='') or
(Edit7.Text='') or (Edit8.Text='') or (Edit9.Text='') or
(Edit10.Text='') then

ShowMessage('Debe llenar todas las casillas')

else
begin
v1:=strtofloat(Edit1.Text);
v2:=strtofloat(Edit2.Text);
v3:=strtofloat(Edit3.Text);
v4:=strtofloat(Edit4.Text);
v5:=strtofloat(Edit5.Text);
v6:=strtofloat(Edit6.Text);
v7:=strtofloat(Edit7.Text);
v8:=strtofloat(Edit8.Text);
v9:=strtofloat(Edit9.Text);
v10:=strtofloat(Edit10.Text);

resultado:=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10/10;
Edit11.Text:=floattostr(resultado);
end
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan
Val: 107
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:Aver, hasta aqui llegue !!¿

Publicado por Juan (25 intervenciones) el 21/06/2019 01:39:01
No era asi como pretendi hacerlo , es una suma concatenada para un ciclo tendencia infinito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aver, hasta aqui llegue !!¿

Publicado por Martin_Artaza (72 intervenciones) el 21/04/2005 04:42:57
O sea en la linea del calculo esta mal
vos tenes asi:
resultado:=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10/10;
y es asi
resultado:=(v1+v2+v3+v4+v5+v6+v7+v8+v9+v10)/10;

eso se debe a la prioridad de los operadores operacionales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan
Val: 107
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Aver, hasta aqui llegue !!¿

Publicado por Juan (25 intervenciones) el 16/06/2019 17:49:11
Mire el codigo y la parte del formulario y la media aritmetica final no veo nada mal , mirate la entrada de los datos igual tienes algo mal, por otra parte me echas una mano ? con una suma en un solo edit y salida por un label , 23+65+78+96+255+...+ = X , ningun sumando debe ser superior a 255 y hay algunos requerimientos mas pero ya lo estoy mirando , es para un cheksum de un archivo Intel .Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar