Ir para conteúdo
Fórum Script Brasil
  • 0

Raiz Quadrada


bacanna

Pergunta

Olá pessoal to fazendo uma calculadora com fucçoes para um trabalho de escola na raiz foi tranquilo achar a lógica para obetr a raiz de um numero exato e numero sem raiz exata eu coloquei que não havia raiz exata, mas o meu professor quer que eu coloque o valor quando der uma raiz não exata tipo a raiz de 2 a raiz de 99 a raiz de 88 olhem o meu codigo da raiz se alguém puder me ajudar beleza uma abraço!!!!!!!!!!!!!

raiz(num1)//fucao raiz quadrada

float num1;

{

float a=0,resultado;

resultado=num1;

a=0;

while((a*a)!=resultado)

{

a++;

if((a*a)>resultado)

{

printf("não existe raiz exata\n");//Aqui se a raiz não for exata, como raizes de 4, 9, 16 etc.... vai aparecer na tela que a raiz não e exata

break;

}

}

if((a*a)==resultado)

printf("A raiz quadrada e %.2f\n",a);//Aqui vai ser exibido a raiz exata

}

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Então cara eu não tenho muito tempo porque estou numa aula de BD. Entõ não posso te ajudar na sua lógica. Mas escrevi um programa aqui rapidinho que atende sua necessidade. Vê se é isso que você quer. FALOU...

#include<math.h>

main()

{

int a,b;

float c,d,r;

clrscr();

printf("Digite um número: ");

scanf("%f",&c);

d=sqrt©;

a=d;

r=d-a;

if(r==0)

printf("A raiz ‚ perfeita");

else

printf("Não ‚ perfeita");

printf("\n\n%f",d);

getch();

}

Link para o comentário
Compartilhar em outros sites

  • 0
Então cara eu não tenho muito tempo porque estou numa aula de BD. Entõ não posso te ajudar na sua lógica. Mas escrevi um programa aqui rapidinho que atende sua necessidade. Vê se é isso que você quer. FALOU...

#include<math.h>

main()

{

int a,b;

float c,d,r;

clrscr();

printf("Digite um número: ");

scanf("%f",&c);

d=sqrt©;

a=d;

r=d-a;

if(r==0)

printf("A raiz ‚ perfeita");

else

printf("Não ‚ perfeita");

printf("\n\n%f",d);

getch();

}

Oi amigo não deu pra compilar porque ta dando um erro na linha 9 "d=sqrt©;" e não consegui arrumar porque não sei o que isso quer dizer se você puder me ajudar novamente....valeu ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

seguem dois modos de calcular a raiz...................

    printf("************************************\n");
    printf("************************************\n");
    printf("**      FUNCAO RAIZ QUADRADA      **\n");
    printf("**  POR: Diego Rabatone Oliveira  **\n");
    printf("**   Email: diraol@yahoo.com.br   **\n");
    printf("**       Escola Politecnica       **\n");
    printf("**       da Universidade de       **\n");
    printf("**            são Paulo           **\n");
    printf("************************************\n");
    printf("************************************\n\n\n");
/*FUNCAO RAIZ TESTADA E FUNCIONANDO
Valor = Numero cuja raiz e' procurada; Epsilon = Precisao da raiz;
x1 = Raiz de "valor" com precisao "epsilon";
Para imprimir a resposta na funcao main utilize a seguinte linha:
   printf("O valor da raiz de %f e':\n%.3f\n",valor,raiz(valor,epsilon));
na qual o valor de resposta deve ter, no maximo, 1 casa a menos que o valor de epsilon */
float raiz(float valor, float epsilon){
      if (valor==0.0)
         return 0.0;
      float x1;
      x1=0.00;
      while (x1*x1<=(valor+epsilon/10)){
          x1 = x1 + epsilon;
          }
      return x1;
}
/*FUNCAO RAIZ TESTADA E FUNCIONANDO */
    printf("************************************\n");
    printf("************************************\n");
    printf("**      FUNCAO RAIZ QUADRADA      **\n");
    printf("**  POR: Diego Rabatone Oliveira  **\n");
    printf("**   Email: diraol@yahoo.com.br   **\n");
    printf("**       Escola Politecnica       **\n");
    printf("**       da Universidade de       **\n");
    printf("**            são Paulo           **\n");
    printf("************************************\n");
    printf("************************************\n\n\n");
/* Funcao Modulo testada */
float modulo(float mod){
      if (mod<0){mod = (-1.0)*mod;}
      else{mod = mod;}
      return mod;
}
/* Funcao Modulo testada */
/*FUNCAO RAIZ TESTADA E FUNCIONANDO */
float raiz(float x, float epsilon){
      float r0, r1;
      if (x==0){
         return 0;
      }else{
            r1 = x;
            do{
               r0 = r1;
               r1 = (1.0/2.0)*(r0+(x/r0));
            }while(modulo(r0-r1)>epsilon);
      }
      return r1;
}
/*FUNCAO RAIZ TESTADA E FUNCIONANDO */

Link para o comentário
Compartilhar em outros sites

  • 0

É essa porcaria de bloco de notas que faz isso com alguns caracteres, aquela linha quer dizer isso:

d=sqrt©;

É por causa da formatação do bloco de notas, foi mal, eu nem tinha reparado isso porque estava no meio de uma aula. beleza. FALOU...

Link para o comentário
Compartilhar em outros sites

  • 0

Não é possivel, é a formatação aqui desse editor de texto eu estou tentando colocar a variavel c entre parenteses, espero que você tenha entendido. Escreva a variavel "c" entre parenteses. Qualquer duvida me manda um e-mail e eu te respondo com o fonte no formato .c. FALOU...

Link para o comentário
Compartilhar em outros sites

  • 0

#include<math.h>
main()
{
int a,b;
float c,d,r;
clrscr();
printf("Digite um número: ");
scanf("%f",&c);
d=sqrt(c);
a=d;
r=d-a;
if(r==0)
printf("A raiz ‚ perfeita");
else
printf("Não ‚ perfeita");
printf("\n\n%f",d);
getch();
}

Renato, da próxima vez utilize a tag

 ao invés da 
...........
Link para o comentário
Compartilhar em outros sites

  • 0
Guest - bacanna -
#include<math.h>
main()
{
int a,b;
float c,d,r;
clrscr();
printf("Digite um número: ");
scanf("%f",&c);
d=sqrt(c);
a=d;
r=d-a;
if(r==0)
printf("A raiz ‚ perfeita");
else
printf("Não ‚ perfeita");
printf("\n\n%f",d);
getch();
}

Renato, da próxima vez utilize a tag

 ao invés da 
...........

Cara deu certo valeu mesmo.......sua logica ta massa mas não entendi o quer dizer essa linha d=sqrt©, mas valeu pela dica e já entreguei o trabalho e tirei dez.... valeu mesmo

laugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Cara deu certo valeu mesmo.......sua logica ta massa mas não entendi o quer dizer essa linha d=sqrt©, mas valeu pela dica e já entreguei o trabalho e tirei dez.... valeu mesmo

laugh.gif

A linha d=sqrt©, alias, d=sqrt( c ) (usei espaços antes e depois para a expressão não ficar d=sqrt©), faz o seguinte:

O valor da variável d vai ser igual ao resultado da raiz quadrada do valor da variável c (no caso a variável c é o número q o usuario digita)

Falow!

Link para o comentário
Compartilhar em outros sites

  • 0

É isso ae Denis. Uma vez eu usei essa lógica para descobrir se um número é triangular ou não, eu sabia que existia uma formula e que se as raízes fossem inteiras o número é tringular, ai eu desenvolvi essa logica. FALOU...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...