erro na condição

erro na condição

by Gustavo Bighellini Machado Gonçalves Martins -
Number of replies: 7

a minha condição do calculo da raiz esta dando erro,

fica repetindo sem parar

while( rn - r0 >= 0.00001 || r0 - rn >= 0.00001)

na teoria ta certo , mas naum sei pq nao age corretamente

 

In reply to Gustavo Bighellini Machado Gonçalves Martins

Re: erro na condição

by Rafael Garcia -

entao cara..

tem certeza q tah certo??..num seria

while( rn - r0 >= 0.00001 || r0 - rn <= - 0.00001)

??

In reply to Rafael Garcia

Re: erro na condição

by Gilberto Guerra -

boa rafael!

cuidado com o negativo!! vc naum pode tratar como módulo da precisão!

In reply to Gilberto Guerra

Re: erro na condição

by Marcus Vinicius P.N de Lima e Silva -
posso utilizar a funcao fabs da biblioteca math.h que é usada para precisao de um float e inserir deritamente nela o valor 0,00001?
In reply to Marcus Vinicius P.N de Lima e Silva

Re: erro na condição

by Francisco Reverbel -
Nâo, neste EP não é para usar a biblioteca math.h. O que você pode fazer é definir sua própria função fabs (módulo) e usá-la:

/* função que devolve o módulo de x */
float modulo(float x)
{
    ...
}

Essa função é muito fácil de escrever. Vale a pena defini-la e usá-la, pois com ela a condição daquele while fica bem mais legível:

    while (modulo(proximo_r - r) >= 0.00001) {
        ...
    }

Eu devia ter colocado no enunciado: "definir sua própria função módulo e usá-la na condição de parada do cálculo aproximado da raiz quadrada". Agora já foi... De qualquer modo, recomendo que todo mundo faça isso!
In reply to Francisco Reverbel

Re: erro na condição

by Felipe Faget -

eu to com um problema tbm..

na minha condição, ele não ta calculando nda...

o r0 e o rn+1 ficam sempre como 0

oq eu faço???

In reply to Felipe Faget

Re: erro na condição

by Felipe Faget -
dexa keto.. ja resolvi isso
In reply to Felipe Faget

Re: erro na condição

by Gilberto Guerra -

alguns cuidados na função raiz quadrada!!

a condição para entrar a primeiravez no while da função raiz quadrada!!

Se ele está levando em conta o ultimo termo!!

E cuidado com a ordem das atualizações das variáveis Rn e R0, dependendo da tua lógica a ordem deve ser inveritda, verifiquem isso!!