função raiz quadrada

função raiz quadrada

by Liliane Machado -
Number of replies: 4

Oi!

Preciso de mais uma ajuda!! assim, quando eu uso as funções da biblioteca da matemática dá tudo certo, mas quando coloca as minhas... assim coloquei printf nas minhas funções para comparar os valores com a as da matemática, os valores do seno estão perfeitos, já do cosseno... ou melhor, da raiz quadrada... testei alguns valores para a rariz quadrada e deu certo, tipo, raiz de 0.01, 0.0001... mas raiz de 0.5, 0.16 e outros ele não imprime nada!! eu não sei onde está o erro! por favor me ajudem! o algoritimo da raiz segue logo a baixo:

float raiz_quadrada (float cos_quadrado, float epsilon){
      float ro, r1;
      ro = cos_quadrado;
      r1 = (cos_quadrado+1)*(0.5);
      while ( (modulo (r1 - ro)) > epsilon ){
            ro = r1;
            r1 = (0.5)*( ro + (cos_quadrado/ro) );
            }
      return r1;
      }

Obrigada.

obs: modulo é a função módulo que eu fiz.

In reply to Liliane Machado

Re: função raiz quadrada

by Guilherme Lima -
as unicas coisas q tao diferente da minha funçao, sao:
oq o ro recebe antes do while e oq o r1 recebe antes do while.

duvida: seu cos_quadrado sempre entra jah como positivo?
In reply to Liliane Machado

Re: função raiz quadrada

by Bruno Del Papa -

Nao sei como é sua funçao modulo, mas tenta tirar ela e escrever "por extenso" o modulo [(r1-r0)>=epsilon ou (r1 -r0)<= -epsilon] dentro do seu while. Sua funçao aparentemente deveria funcionar sim.......