Se a biblioteca math implementa isso, e não usa algum tipo de magia, então deve ter como implementar, não é mesmo? O que é a raiz quadrada? É o inverso da operação do quadrado, ou seja sqrt(x2) = xquando x * x = x2Sabendo isso dá pra pensar em algum algoritmo que calcule x a partir de x2. Por exemplo, podemos iterar desde 0 até achar um valor que quando multiplicado por si mesmo de um valor proximo ao de x2, e assim temos a raiz quadrada. para x := 0 ate INFINITO faça: se (x * x) >= x2 então: retorne xÉ ineficiente mas funciona. Assim da para tentar bolar outros algoritmos mais eficientes para números grandes, por exemplo da pra tentar ir percorrendo ao contrario usando divisão de x2 por x, etc. Só usar a criatividade, analisar as relações entre os números, o domínio de resultados possíveis podendo descartar coisas que dá pra saber de antemão que não vão fazer parte da solução, etc.
Por: Eduardo Casavella Todas as funções da biblioteca math.h retornam um valor do tipo double. Na tabela abaixo apresentamos algumas funções presentes na biblioteca math.h
No programa abaixo, temos um resumo das funções mais utilizadas e os comentários. Exemplo de utilização da biblioteca math.h #include <stdio.h> #include <conio.h> #include <math.h>//necessária para usar as funções matemáticas int main (void) { double x = 9.75; double arredonda_pbaixo = 0.0; double arredonda_pcima = 0.0; double raiz_quadrada = 0.0; double potencia = 0; double seno = 0; double cosseno = 0; double tangente = 0; double logaritmo_natural = 0; double logaritmo_xbase10 = 0; printf("\n********* Utilizando a biblioteca math.h ***********\n\n"); printf("\nFuncoes de arredondamento\n\n"); printf("Valor original de x = %f\n",x); arredonda_pbaixo = floor(x); printf("Valor aproximado para baixo %f \n", arredonda_pbaixo ); arredonda_pcima = ceil(x); printf("Valor aproximado para cima %f \n", arredonda_pcima); printf("\n----------------------------------------------------\n\n"); printf("\nFuncoes de raiz e potenciacao \n\n"); printf("Valor original de x = %lf\n",x); raiz_quadrada = sqrt(x); printf("Valor da raiz quadrada %f \n",raiz_quadrada); x = ceil(x); //arredondando o x para cima, x passa a valer 10 potencia = pow(x,2); //elevando o valor de x ao quadrado printf("Valor de %.2lf ao quadrado %.2f \n",x,potencia); printf("\n----------------------------------------------------\n\n"); printf("\nFuncoes trigonometricas\n\n"); x = 0; //atribuindo zero em x para fazer os cálculos trigonométricos seno = sin(x); printf("Valor de seno de %.2f = %.2f \n",x,seno); cosseno = cos(x); printf("Valor de cosseno de %.2f = %.2f \n",x,cosseno); tangente = tan(x); printf("Valor de tangente de %.2f = %.2f \n\n",x,tangente); printf("\n----------------------------------------------------\n\n"); printf("\nFuncoes logaritmicas\n\n"); x = 2.718282; logaritmo_natural = log(x); printf("Logaritmo natural de x %.2f = %.2f \n",x,logaritmo_natural); x = 10; logaritmo_xbase10 = log10(x); printf("Logaritmo de x na base 10 %.2f = %.2f \n",x,logaritmo_xbase10); printf("\n----------------------------------------------------\n\n"); getch(); return(0); }Tela de execução Até a próxima!
ALGUMAS DICAS PARA INICIAR A REDAÇÃO. A partir de um Tema, você deve fazer as perguntas chaves, antes de qualquer coisa: O que? Por quê? Como?...
Rebeca N.
Encapsulamento vem de encapsular, que em programação orientada a objetos significa separar o programa em partes, o mais isoladas possível. Ou seja, os...
Rebeca N.
Como fazer uma Conexão com MySQL em JAVA: ConexaoUtil – será o nome da sua classe. Primeiro passo será importar o mysql-connector-java-8.0.12.jar...
Rebeca N.
Todas as funções da biblioteca math....A biblioteca math. h.
|