Haga un algoritmo que encuentre el área de un polígono para un n dado.
Un polígono es sólo un cuadrado con un lado de longitud 1. Un polígono se obtiene tomando el polígono n-1 y añadiendo polígonos a su borde, uno al lado del otro. Puede ver los polígonos 1, 2, 3 y 4 en la imagen de abajo.
#include <iostream>
// se incluye la clase Calcular para despues llamar a sus métodos
#include "Calcular.h"
using namespace std;
int main(void)
{
// se crea un objeto de la clase Calcular (Instanciación)
Calcular *obj = new Calcular();
// se declara una variable de tipo entero llamada n
int n;
// pedimos el valor de n
cout << "Digite el valor de n" << endl;
cout << ">> ";
cin >> n;
// se encapsula la variable n
obj->setN(n);
// mostramos el area del poligono
cout << "Area: " << obj->area() << endl;
}
#ifndef CALCULAR_H
#define CALCULAR_H
class Calcular
{
public:
Calcular();
virtual ~Calcular();
// se declaran los métodos publicos
void setN(int val);
int getN();
int area();
protected:
private:
// se declara el atributo privado
int n;
};
#endif // CALCULAR_H
#include "Calcular.h"
Calcular::Calcular()
{
// se le asigna un valor por defecto al atributo en el contructor
n = 0;
}
Calcular::~Calcular()
{
//dtor
}
// métodos Set y Get del atributo de la clase
void Calcular::setN(int val)
{
n = val;
}
int Calcular::getN()
{
return n;
}
// método para calcular el area del poligono
int Calcular::area()
{
// el calculo del area es muy simple, solo vamos a calcular primero la multiplicacion entre (n-1) y (2*n - 1)
// y lo sumamos con el valor de la variable n
return n +(n-1) * (2*n - 1);
}
// se importa paquete JOptionPane para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información
import javax.swing.JOptionPane;
public class Main
{
public static void main(String[] args)
{
// se crea un objeto de la clase Calcular (Instanciación)
Calcular obj = new Calcular();
// pedimos el valor de n
int n = Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de n:"));
// encapsulamos el valor de n
obj.setN(n);
// mostramos el area
JOptionPane.showMessageDialog(null, "El area es: " + obj.area());
}
}
public class Calcular
{
// declara un atributo privado
private int n;
public Calcular()
{
// se le asigna un valor por defecto al atributo en el contructor
n = 0;
}
// métodos Set y Get del atributo de la clase
public void setN(int val)
{
n = val;
}
public int getN()
{
return n;
}
// método para calcular el area del poligono
public int area()
{
// el calculo del area es muy simple, solo vamos a calcular primero la multiplicacion entre (n-1) y (2*n - 1)
// y lo sumamos con el valor de la variable n
return n + (n-1) * (2*n - 1);
}
}