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: 462 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: #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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |