Você está na página 1de 4

A biblioteca math.

h
Fornece um conjunto de funções para operações matemáticas, tais como funções trigonométricas,
hiperbólicas, logaritmos, potência e arredondamentos.
Todas as funções da biblioteca math.h retornam um valor do tipo double.

Exemplo 1
1. #include <stdio.h>
2. #include <conio.h>
3. #include <math.h>//necessária para usar as funções matemáticas
4.
5. int main (void)
6. {
7. double x = 9.75;
8.
9. double arredonda_pbaixo = 0.0;
10. double arredonda_pcima = 0.0;
11. double raiz_quadrada = 0.0;
12. double potencia = 0;
13.
14. double seno = 0;
15. double cosseno = 0;
16. double tangente = 0;
17.
18. double logaritmo_natural = 0;
19. double logaritmo_xbase10 = 0;
20.
21. printf("\n********* Utilizando a biblioteca math.h ***********\n\n");
22.
23. printf("\nFuncoes de arredondamento\n\n");
24. printf("Valor original de x = %f\n",x);
25.
26. arredonda_pbaixo = floor(x);
27. printf("Valor aproximado para baixo %f \n", arredonda_pbaixo );
28.
29. arredonda_pcima = ceil(x);
30. printf("Valor aproximado para cima %f \n", arredonda_pcima);
31.
32. printf("\n----------------------------------------------------\n\n");
33.
34. printf("\nFuncoes de raiz e potenciacao \n\n");
35. printf("Valor original de x = %lf\n",x);
36. raiz_quadrada = sqrt(x);
37. printf("Valor da raiz quadrada %f \n",raiz_quadrada);
38.
39. x = ceil(x); //arredondando o x para cima, x passa a valer 10
40.
41. potencia = pow(x,2); //elevando o valor de x ao quadrado
42. printf("Valor de %.2lf ao quadrado %.2f \n",x,potencia);
43.
44. printf("\n----------------------------------------------------\n\n");
45.
46. printf("\nFuncoes trigonometricas\n\n");
47.
48. x = 0; //atribuindo zero em x para fazer os cálculos trigonométricos
49.
50. seno = sin(x);
51. printf("Valor de seno de %.2f = %.2f \n",x,seno);
52.
53. cosseno = cos(x);
54. printf("Valor de cosseno de %.2f = %.2f \n",x,cosseno);
55.
56. tangente = tan(x);
57. printf("Valor de tangente de %.2f = %.2f \n\n",x,tangente);
58.
59. printf("\n----------------------------------------------------\n\n");
60.
61. printf("\nFuncoes logaritmicas\n\n");
62.
63. x = 2.718282;
64. logaritmo_natural = log(x);
65. printf("Logaritmo natural de x %.2f = %.2f \n",x,logaritmo_natural);
66.
67. x = 10;
68. logaritmo_xbase10 = log10(x);
69. printf("Logaritmo de x na base 10 %.2f = %.2f \n",x,logaritmo_xbase10);
70. printf("\n----------------------------------------------------\n\n");
71.
72. getch();
73. return(0);
}
Valores aleatórios em C com a função rand
Para gerar um número aleatório (randômico) em linguagem C podemos usar a função rand
pertencente à biblioteca stdlib.h.
A função rand
Quando esta função é chamada ela produz um valor aleatório na faixa entre 0 e a constante
RAND_MAX. O valor desta constante encontra-se definida no arquivo stdlib.h.
Muitas vezes necessitamos gerar valores dentro de determinada faixa. Para exemplificar, vamos
supor que a faixa de valores desejada esteja entre o valor mínimo zero e o valor máximo 100.

Exemplo 2
1. #include <stdio.h>
2. #include <conio.h>
3. #include <stdlib.h>
4.
5. int main(void)
6. {
7. int i;
8.
9. printf("Gerando 10 valores aleatorios:\n\n");
10.
11. for (i = 0; i < 10; i++)
12. {
13. /* gerando valores aleatórios entre zero e 100 */
14. printf("%d ", rand() % 100);
15. }
16.
17. getch();
18. return 0;
19. }

Note que para limitar o valor máxima da faixa usamos o comando rand() % 100.
Agora observe o seguinte: se executarmos o programa acima várias vezes, a sequência de valores
gerada cada uma das vezes será a mesma.
Por que isto ocorre?
A sequência de valores não deveria ser diferente a cada execução?
Acontece que para a função rand funcionar ela precisa de um valor inicial chamado de “semente”. Se
nenhum valor é passado rand assume um valor constante. No caso a função assume 1. Como este
valor, ou seja 1, é assumido sempre no programa acima, a sequência gerada será a mesma para
cada execução.
Para gerar uma sequência de valores diferentes a cada execução é necessário utilizar a função srand
que inicializa a função rand com um valor “semente” de tal forma que esta semente seja um valor
diferente a cada execução do programa, isto por sua vez produz uma sequência de valores diferente
a cada execução.
A função srand
Para fazer com que os valores gerados não se repitam precisamos usar a função srand a fim de
inicializar a função rand com um valor “semente” para que se produza um valor aleatório na faixa
determinada. A função srand recebe um argumento do tipo inteiro sem sinal, ou seja unsigned int.

Exemplo 3
1. #include <stdio.h>
2. #include <conio.h>
3. #include <stdlib.h>// necessário p/ as funções rand() e srand()
4. #inclue<stdio.h>
5. #include<time.h>//necessário p/ função time()
6.
7. int main(void)
8. {
9. int i;
10.
11. printf("Gerando 10 valores aleatorios:\n\n");
12.
13. /* srand(time(NULL)) objetiva inicializar o gerador de números aleatórios com o valor da função
time(NULL). Este por sua vez, é calculado como sendo o total de segundos passados desde 1 de janeiro
de 1970 até a data atual.
14. Desta forma, a cada execução o valor da "semente" será diferente.
15. */
16. srand(time(NULL));
17.
18. for (i=0; i < 10; i++)
19. {
20. // gerando valores aleatórios na faixa de 0 a 100
21. printf("%d ", rand() % 100);
22. }
23.
24. getch();
25. return 0;
26. }

Você também pode gostar