Cuatro puntos en el plano: ¿un cuadrado o un rectángulo?

Jesús Marín
// Este programa está basado en la conjetura de que entre los  segmentos
// que pueden formarse con cuatro puntos, si en la comparación entre todos ellos
// existen 7 igualdades, se trata de un cuadrado y si existen 3 se trata de un
// rectángulo. Me gustaría que alguien me dijera si esto es cierto o falso, hasta
// ahora en todas la pruebas que he hecho ha resultado cierto.

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
int contador=0;
float AB,AC,AD,BC,BD,CD;
float a1,a2,b1,b2,c1,c2,d1,d2;
cout<<“Este programa nos indica si cuatro puntos del plano:A,B,C y D, forman un cuadrado”<<endl;
cout<<“Introduce las coordenadas de A: “; cin>>a1>>a2;
cout<<“Introduce las coordenadas de B: “; cin>>b1>>b2;
cout<<“Introduce las coordenadas de C: “; cin>>c1>>c2;
cout<<“Introduce las coordenadas de D: “; cin>>d1>>d2;

AB=sqrt(pow(b1-a1,2)+pow(b2-a2,2)); cout<<endl<<“\t\t AB “<<AB;
AC=sqrt(pow(c1-a1,2)+pow(c2-a2,2)); cout<<endl<<“\t\t AC “<<AC;
AD=sqrt(pow(d1-a1,2)+pow(d2-a2,2)); cout<<endl<<“\t\t AD “<<AD;
BC=sqrt(pow(b1-c1,2)+pow(b2-c2,2)); cout<<endl<<“\t\t BC “<<BC;
BD=sqrt(pow(b1-d1,2)+pow(b2-d2,2)); cout<<endl<<“\t\t BD “<<BD;
CD=sqrt(pow(d1-c1,2)+pow(d2-c2,2)); cout<<endl<<“\t\t CD “<<CD<< endl;

if (AB==AC) contador++;
if (AB==AD) contador++;
if (AB==BC) contador++;
if (AB==BD) contador++;
if (AB==CD) contador++;
if (AC==AD) contador++;
if (AC==BC) contador++;
if (AC==BD) contador++;
if (AC==CD) contador++;
if (AD==BC) contador++;
if (AD==BD) contador++;
if (AD==CD) contador++;
if (BC==BD) contador++;
if (BC==CD) contador++;
if (BD==CD) contador++;
if (contador==3) cout<<endl<<“La figura es un rectangulo”<<endl;
if (contador==7) cout<<endl<<“La figura es un cuadrado”<<endl;
if (contador!=7 && contador !=3) cout<<endl<<“No es un cuadrado ni un rectangulo.”<<endl;
cout<<“Igualdades: “<<contador;

return 0;

}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a Cuatro puntos en el plano: ¿un cuadrado o un rectángulo?

  1. De entrada, el algoritmo tiene buena pinta… pensadlo!!.

    Entonces un cuadrado quedaría identificado por un contador igual a 7 y un rectángulo por un contador igual a 3 (aunque quizás haya excepciones y en ese caso habría que colocar condiciones adicionales).

    Además, según este algoritmo un rombo también podría quedar identificado cuando el contador fuese 6 ó 10… si se trata de un romboide daría un contador de 2 ó 4, pero aquí parece claro a primera vista que su identificación será problemática porque también podría ser un trapecio, trapezoide o deltoide… pensadlo!!.

    En definitiva, el algoritmo abre varias preguntas interesantes para los amantes de la geometría aunque quizás no fáciles de contestar. Este problema os invita a pensar en ello.

    Evidentemente existen otros algoritmos que pueden resolver el problema de una manera más fina para los paralelogramos: cuadrado, rectángulo, rombo y romboide.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s