Exemplos de Código Práticos
Operações Matemáticas Básicas
Funções Trigonométricas
#include <stdio.h>
#include <math.h>
int main() {
double angulo = M_PI / 4; // 45 graus
printf("sen(45°): %f\n", sin(angulo));
printf("cos(45°): %f\n", cos(angulo));
return 0;
}
Cenários de Cálculo Avançados
Cálculos Exponenciais e Logarítmicos
#include <stdio.h>
#include <math.h>
int main() {
double base = 2.0;
double expoente = 3.0;
printf("Cálculo de potência: %.2f\n", pow(base, expoente));
printf("Logaritmo natural: %.2f\n", log(base));
printf("Logaritmo na base 10: %.2f\n", log10(base));
return 0;
}
Arredondamento e Valor Absoluto
Manipulação de Precisão
#include <stdio.h>
#include <math.h>
int main() {
double numeros[] = {-3.7, 2.3, 4.5, -1.2};
for (int i = 0; i < 4; i++) {
printf("Original: %.2f\n", numeros[i]);
printf("Teto: %.2f\n", ceil(numeros[i]));
printf("Parte Inteira: %.2f\n", floor(numeros[i]));
printf("Valor Absoluto: %.2f\n\n", fabs(numeros[i]));
}
return 0;
}
Categorias de Funções Matemáticas
| Categoria |
Funções |
Finalidade |
| Trigonométricas |
sin(), cos(), tan() |
Cálculos de ângulos |
| Exponenciais |
exp(), log(), pow() |
Operações exponenciais |
| Arredondamento |
ceil(), floor(), round() |
Precisão numérica |
| Comparação |
fmax(), fmin() |
Comparações numéricas |
Cenários Matemáticos Complexos
Cálculos Estatísticos
#include <stdio.h>
#include <math.h>
double calcular_desvio_padrao(double dados[], int tamanho) {
double soma = 0.0, media, variancia = 0.0;
// Calcular a média
for (int i = 0; i < tamanho; i++) {
soma += dados[i];
}
media = soma / tamanho;
// Calcular a variância
for (int i = 0; i < tamanho; i++) {
variancia += pow(dados[i] - media, 2);
}
variancia /= tamanho;
return sqrt(variancia);
}
int main() {
double dados[] = {2, 4, 4, 4, 5, 5, 7, 9};
int tamanho = sizeof(dados) / sizeof(dados[0]);
printf("Desvio Padrão: %.2f\n",
calcular_desvio_padrao(dados, tamanho));
return 0;
}
Fluxo de Trabalho de Compilação
graph LR
A[Código-Fonte] --> B[Compilar com -lm]
B --> C[Ligar a Biblioteca Matemática]
C --> D[Programa Executável]
Dica de Aprendizagem LabEx
Ao praticar estes exemplos, o LabEx recomenda experimentar diferentes valores de entrada e compreender como as funções matemáticas se comportam.
Considerações sobre Tratamento de Erros
- Verifique os valores de retorno das funções matemáticas
- Lidar com potenciais erros de domínio e alcance
- Utilize
isnan() e isinf() para detecção de valores especiais