Check the new version here

Popular channels

Una forma para cortar una torta en porciónes iguales!!

Hola, les traigo una manera de cortar tortas en porciones iguales sin importar la cantidad de personas que sean!!

Sin no tienen otra cosa que hacer, leanlo!!!!

No les paso de ser 3 personas, o 7 y tener que cortar una torta y terminaban haciendo desastres
porque los angulos eran distintos?? Y al final habian porciones mas grandes que otras, bla bla bla...!!

Les voy a explicar como hacerlo.

Es fácil, resulta que una porción tiene forma (despreciando la curva) de triangulo isósceles, esa es la clave de la facilidad (porque de no ser así había visto otra ecuación, en realidad, un conjunto de ellas para hallar la solución). Un triangulo isósceles tiene dos lados iguales, estos son el radio de la torta, el otro es la base, la cual es la que queremos hallar su longitud, pero... para que?
Bueno resulta que hay algo mas "simple": hacer 360º dividido la cantidad de personas que van a consumir, eso te da el ángulo de la porción, entonces uno haría un corte y después se mediria con el transportador dicho ángulo, pero… no se ustedes, a mi me cuesta medir ángulos con el transportador hasta en una hoja jajaja.

Entonces pensé que medir la base seria más fácil que el ángulo.
Se hace apoyando el origen de la regla (centímetro cero), en el punto del primer corte, y luego se mueve de forma angular hacia un segundo punto (este esta determinado por la longitud de la base), desde ese segundo punto se hace el segundo corte que da origen a la porción.



Como se calcula la base?
Bueno, si el triangulo isósceles lo dividís a la mitad, obtenes dos triángulos rectángulos, donde la hipotenusa es el radio de la torta, y como tenemos el angulo, por medio del seno, calculamos el cateto opuesto(la mitad de la base), si la duplicamos, llegamos al valor de la base.

_______________________________________________


sin(∝/2)=(base/2)/radio
(sin (∝/2) )2radio=base

Donde ∝ es: ((360º)/(cantidad de personas))

_______________________________________________

Eso es todo, les cuento que hice un programa en c++ para hacer el calculo de manera mas rápida y fácil, pero lo hice en Linux y esta compilado para el mismo, y tuve problemas al querer compilarlo para windows, asi que les dejo el código!


--


#include
#include
#define PI 3.14159265359

using namespace std;

int main() {
cout << " ****************************** " << endl;
cout << "******************************************************" << endl;
cout << " *** Hola, bienvenido a mi programa para obtener ***" << endl;
cout << " *** porciones iguales de una torta. ***" << endl;
cout << " ****************************************************" << endl;
cout << " ********************************************** " << endl<
int opcion;
int condicion_uno = 0,condicion_dos = 0;
float cantidad_de_personas, radio, resultado;

while (condicion_uno == 0){
cout << "nn1) instrucciones" << endl;
cout << "2) comenzar" << endl;
cout << "3) salir" << endl<< endl;
cin >> opcion;

if (opcion < 1 || opcion > 3){
cout << "nLa opcion ingresada no existe.n" << endl;
}
if (opcion==3){
condicion_uno++;
}
if(opcion == 1){
cout << "Este es un programa el cual te permite obtener porciones iguales de una torta." << endl;
cout << "Se necesitan tres cosas: Una regla, saber la cantidad de personas que van a " << endl;
cout << "consumir y el radio de la torta." << endl;
cout << "El programa realiza un calculo, cuyo resultado es un lado (relevante) del 'triangulo' de la porcion." << endl;
cout << "-Primero se hace un corte, del centro hacia el extremo, este es el radio(medilo con regla)." << endl;
cout << " (Las porciones de una torta, despreciando la parte curva, forman un triangulo isosceles," << endl;
cout << " los lados iguales son el radio, el restante es el que se quiere calcular)." << endl;
cout << "-Con el corte hecho, iniciamos el programa." << endl;
cout << "-Ingresamos la cantidad de personas que van a consumir" << endl;
cout << "-Despues ingresamos el radio de la torta" << endl;
cout << "-Luego se muestra la longitud del lado requerido." << endl;
cout << "*Tomamos esa medida en la regla y hacemos lo siguiente:" << endl;
cout << "*Colocamos el origen de la regla (centimetro 0!!!) en el extremo del corte hecho" << endl;
cout << "*Luego movemos la regla (en forma angular, manteniendo el apoyo en el origen)" << endl;
cout << " hasta la longitud dada. El extremo opuesto al apoyo indica el segundo punto de corte" << endl;
cout << "*Se corta y se obtiene la primera porcion, con un angulo que permite obtener" << endl;
cout << " x cantidades de porciones, donde x es la cantidad de consumidores." << endl;
cout << "*Se prosigue de la misma manera hasta obtener la cantidad de porciones deseadas." << endl;
}
if(opcion == 2){
int respuesta;
float angulo;
cout << "nCuantas personas son?n"; cin>> cantidad_de_personas;

while(condicion_dos==0){
cout << "nQuiere saber el angulo de una porcion?" << endl;
cout << "Responda '1' para si, '0' para no.n"; cin >> respuesta;
if (respuesta ==1){
angulo=360/cantidad_de_personas;
cout << "nEl angulo de una porcion es: "<< angulo << "°" << endl;
break;
}
if(respuesta==0) break;
if (respuesta < 0 || respuesta > 1){
cout << "nLa opcion ingresada no existe.n" << endl;
}
}
cout << "nCual es el radio de la torta?n"; cin>> radio;
resultado=(sin(((360/cantidad_de_personas)/2)*PI/180))*radio*2;
cout << "nEL RESULTADO DE LA BASE DEL TRIANGULO ES: " << resultado << "cm" << endl;
cout << "nnnnnnnn" < }
}
cin.sync();
cin.get();cin.get();
return 0;
}


--

Recien estoy empezando con c++, asi que capas que soy un poco desprolijo, y no se porque no toma la barra invertida antes de las "n"

Para compilar:
-Copian y pegan el código en el block de notas, lo guardan con el nombre que quieran y con la extencion “.cpp”, Por ejemplo: programa.cpp
-Con el gcc (compilador), deben descargar MinGW, abren la consola cmd (tecla windows + R, luego escriben cmd y dan enter).
Escriben: g++ -o programa programa.cpp <-- siguiendo el ejemplo anterior.
Y ya estaría compilado, para ejecutarlo escriben: ./programa




Y listo!!!
0
0
0
0
0No comments yet
      GIF
      New