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 C++Quantidade de visualizações: 659 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 <iostream> #include <math.h> // vamos definir uma constante para o valor de PI #define PI 3.1415 using namespace std; // função que calcula e retorna a apótema de um // polígono regular double 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[]){ int lados, comprimento; ...... 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 |