Ajuda na Divisao em delphi.

08/07/2004

0

eu gostaria de saber como faço divisão correta no delphi!?
pois eu estou tendo problemas no meu aplicativo.
tenho que usar está formula fisica.
1/a = 1/b + 1/c; onde as letras a,b,c sao variaveis do tipo real.
o raciocinio que eu use, foi.
a:=floattostr(E1.text);
a:= 1 / a;
b:=floattostr(E2.text);
b:= 1 / b;
c:= b - a;
E3.text:=floattostr(c);

mas tudo isso não chega no resultado certo pelo meu aplicativo.
um exemplo que eu estou usando.
calculo no papel software
1/12 = 1/6 + 1/c = 1/a = 1/b + 1/c
1/c = 1/6 - 1/12 = 1/c = 1/12 + 1/6
1/c = 2-1/12 = c = 0,08 - 0,16
1/c = 1/12 = c = -0,08
c = 12 =
Então, ai eu fique com uma puta do de cabeça...
Alguem consegue explicar isso para mim...
A resposta correta é 12.


Gollum

Gollum

Responder

Posts

09/07/2004

Dankada

eu gostaria de saber como faço divisão correta no delphi!? pois eu estou tendo problemas no meu aplicativo. tenho que usar está formula fisica. 1/a = 1/b + 1/c; onde as letras a,b,c sao variaveis do tipo real. o raciocinio que eu use, foi. a:=floattostr(E1.text); a:= 1 / a; b:=floattostr(E2.text); b:= 1 / b; c:= b - a; E3.text:=floattostr(c); mas tudo isso não chega no resultado certo pelo meu aplicativo. um exemplo que eu estou usando. calculo no papel software 1/12 = 1/6 + 1/c = 1/a = 1/b + 1/c 1/c = 1/6 - 1/12 = 1/c = 1/12 + 1/6 1/c = 2-1/12 = c = 0,08 - 0,16 1/c = 1/12 = c = -0,08 c = 12 = Então, ai eu fique com uma P#74 do de cabeça... Alguem consegue explicar isso para mim... A resposta correta é 12.


o resultado esta correto se vc deseja achar C vc faz

procedure formula;
var
a,b,c: real;
begin
  a:= StrToFloat(Edit1.text);
  b:=StrToFloat(Edit2.text);
if ((a <> 0) and (b <> 0)) then
 begin
  a:= 1/a;
  b:= 1/b;
  c:= 1/(a-b);
  Edit3.text:=FloatToStr(c);
 end;
end;


sua pergunta ta um pouco confusa eu acho que seja isso que vc quer

para entradas a= 12 e b =6 fica assim


1/12=1/6+1/c  onde 
-1/c=1/6-1/12  onde multiplica por -1 fica
1/c= -0,16 + 0,083  (isso arredondando pq da uam dizima) isso fica
c= 1/(-0,16+ 0,083) onde
c = -12  ;

vc esqueceu de dividir o resultado por 1



espero q seja isso

[ ]´s


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar