Considerando a=1, b=4 e c=3 o resutado de delta deveria ser 36, mas está retornando 4. O que eu fiz de errado ja tentei escrever a formula de outro jeito e ñ deu certo. Algué pode me dizer como faze? Nessa formula o que o java faz primeiro, multiplica o subtrai qual é a ordem?
[b]Considerando a=1, b=4 e c=3 o resutado de delta deveria ser 36, mas está retornando 4.
delta = Math.pow(b,2)-4ac;
[/b]
b*b - 4 * a * c
44 - 41*3
16 - 12
4
acho q o errado é vc =)
apenas lembrando… o Java não erra… quem erra é o programador
F
fantazmabhz
Rudy,
está correto o resultado
a=1, b=4 e c=3
b² = 16
4ac = 12
16-12 = 4
b²-4ac neste caso é igual a 4 mesmo.
Sua resposta de 36 é que está errada.
Rudy
mas isso ñ deveri se feito assim
(44)-413
16-413
121*3
36.
peczenyj
Rudy:
mas isso ñ deveri se feito assim
(44)-413
16-413
121*3
36.
primeiro vc resolve as potências e raizes,
depois as multiplicações e divisões
depois então as somas e subtrações.
SE quiser, coloque os parentesis apropriados para forçar o procedência dos operadores que vc desejar, mas a matemática é assim
Rudy
peczenyj:
Rudy:
mas isso ñ deveri se feito assim
(44)-413
16-413
121*3
36.
primeiro vc resolve as potências e raizes,
depois as multiplicações e divisões
depois então as somas e subtrações.
SE quiser, coloque os parentesis apropriados para forçar o procedência dos operadores que vc desejar, mas a matemática é assim
peczeny eu entendi o que vc falow, ai mudei para “math.pow(4,2-4)13” e o resulta foi 0.1875 depois tentei
“math.pow((4,2)-4)13” ai deu erro na linha.
alucardeck
se vc ker fazer do “jeito errado”
faz assim
double delta = ((b*b)-4)ac
ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0
uhul o/ :lol:
Rudy
alucardeck:
se vc ker fazer do “jeito errado”
faz assim
double delta = ((b*b)-4)ac
ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0
uhul o/ :lol:
Muito bom alurcardeck, vlw…
Desse jeito funcionou, mas eu ainda ñ entende por que usando o math.pow ñ funcionou se a lógica é a mesama, pelo menos me parece…
alucardeck
é a mesma logica sim… mas vc implementou errado…
Math.pow(b,2) é o mesmo que b*b
entao vc pos
math.pow(4,2-4) seria o mesmo q (4,-2)… então é a potencia negativa de 4… faz com q o numero fique abaixo de 1…
deveria ficar
( math.pow(4,2)-4 )ac
mas pra simplificar nesse caso
pode usar b*b mesmo
M
marcio_gs
Rudy:
alucardeck:
se vc ker fazer do “jeito errado”
faz assim
double delta = ((b*b)-4)ac
ou melhor ainda…
b*(b-4)ac
4*(4-4)13
401*3
0
uhul o/ :lol:
Muito bom alurcardeck, vlw…
Desse jeito funcionou, mas eu ainda ñ entende por que usando o math.pow ñ funcionou se a lógica é a mesama, pelo menos me parece…
Nunca usei, mas pelo que me parece o Math.pow(b,2) ele o valor da variavel b ao quadrado. O seu
math.pow((4,2)-4)13
faz
(4*4-4))13
eita, nem vi que já tinham respondido =S
Rudy
alucardeck:
é a mesma logica sim… mas vc implementou errado…
Math.pow(b,2) é o mesmo que b*b
entao vc pos
math.pow(4,2-4) seria o mesmo q (4,-2)… então é a potencia negativa de 4… faz com q o numero fique abaixo de 1…
deveria ficar
( math.pow(4,2)-4 )ac
mas pra simplificar nesse caso
pode usar b*b mesmo
Não entendo uma coisa, ja entendi a lógica, mas por que quando eu tento usar ( math.pow(4,2)-4 )ac; ñ compila?
alucardeck
pq o math.pow só aceita 2 parametros…
o numero e a potencia desejada… math.pow(X,Y) <— o certo
vc tentou math.pow( (X,Y)- Z ) <— errado
Rudy
pq o math.pow só aceita 2 parametros…
o numero e a potencia desejada… math.pow(X,Y) <— o certo
vc tentou math.pow( (X,Y)- Z ) <— errado
Agora entendi, vlw pessoas…
O
ozix
Rudy, agora que você já entendeu sobre a precedência e conseguiu chegar no resultado esperado, deixa a função como estava no começo, que é o jeito certo de aplicar a fórmula do delta.