função raiz quadrada

função raiz quadrada

por Liliane Machado -
Número de respostas: 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.

Em resposta à Liliane Machado

Re: função raiz quadrada

por 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?
Em resposta à Liliane Machado

Re: função raiz quadrada

por 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.......