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: 895 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 <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;
// vamos ler a quantidade de lados
cout << "Informe a quantidade de lados: ";
cin >> lados;
// vamos ler o comprimento dos lados
cout << "Informe o comprimento dos lados: ";
cin >> comprimento;
// e agora calculamos a apótema dos polígono
double apotema = calcular_apotema(lados, comprimento);
// e mostramos o resultado
cout << "A apótema do polígono é: " << apotema << endl;
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
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 |






