Você está aqui: C ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a apótema de um polígono regular de N lados em CQuantidade de visualizações: 545 vezes |
|
Uma das formas mais comuns de se obter a área de um polígono regular é usando a seguinte fórmula: \[\text{A} = \frac{1}{2} \cdot \text{p} \cdot \text{a} \] Onde: p: Perímetro, ou seja, a soma dos comprimentos de todos os lados. a: Apótema, isto é, uma parte que une o centro do polígono ao meio de qualquer lado que esteja perpendicular. Agora que já estamos alinhados, saiba que calcular a apótema de um polígono regular "na mão" é fácil, já que só precisamos medir a distância de dois lados opostos e dividir por dois ou traçar linhas cruzadas e medir a distância de um dos lados até a interseção dessas linhas. No entanto, em programação a coisa já é um pouco mais complicada. Nesta dica mostrarei como podemos realizar esta tarefa em C. Para isso usaremos alguns truques de trigonometria. Comece analisando a seguinte imagem: ![]() Note que temos um pentágono com cada lado medindo 4 metros. Recorde que um pentágono é um polígono regular de 5 lados. Para deixar a dica mais didática eu coloquei também uma linha azul representando a apótema do polígono e as linhas cruzadas. Veja agora o código C que recebe a quantidade de lados do polígono, o comprimento dos lados e retorna a apótema: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
// vamos definir uma constante para o valor de PI
#define PI 3.1415
// função que calcula e retorna a apótema de um
// polígono regular
float calcular_apotema(int lados, int comprimento){
// a quantidade de lados e o comprimento deles
// não podem ser negativos
if (lados < 0 || comprimento < 0){
return -1;
}
// calculamos a apótema
return (comprimento / (2 * tan((180 / lados)
* PI / 180)));
}
// função principal do programa
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
int lados, comprimento;
// vamos ler a quantidade de lados
printf("Informe a quantidade de lados: ");
scanf("%d", &lados);
// vamos ler o comprimento dos lados
printf("Informe o comprimento dos lados: ");
scanf("%d", &comprimento);
// e agora calculamos a apótema dos polígono
float apotema = calcular_apotema(lados, comprimento);
// e mostramos o resultado
printf("A apótema do polígono é: %f", apotema);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Informe a quantidade de lados: 5 Informe o comprimento dos lados: 4 A apótema do polígono é: 2.7527638409423476 |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
C - Como alocar memória para instâncias de uma estrutura (struct) e acessá-las usando ponteiros em C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






