Usted trabaja para una empresa que construye tanques.
Una importante distribuidora de Diésel construirá una nueva planta en la zona de Maracay y le indicó que requerirá en principio tanques de: 5, 8 ,10 y 12 metros cúbicos (Primera Fase). Al cliente no le importa la forma del tanque.
El proyecto en su segunda fase requerirá tanques de capacidades distintas a los de lo de la primera fase (Por definir).
Usted desea suministrar los tanques, pero usando la menor superficie de material posible para ahorrar costos.
El jefe de departamento de ingeniería para la cual usted trabaja considera que la mejor opción es construir tanques cilíndricos de la forma similar a la figura siguiente (tipo salchicha):
El dueño de la empresa para la cual usted trabaja no esta seguro de que un tanque en forma de salchicha sea la opción que le permita gastar menos material. En consecuencia, dado que usted es ingeniero, él lo seleccionó para que elabore un programa que determine el radio y el largo del tanque a construir de manera de parametrizar la máquina moldeadora y así obtener los tanques con la menor superficie posible.
Elabore un programa que determine el radio y el largo del tanque. Adicionalmente el programa deberá indicar la superficie en metros cuadrados.
Solución Matemática
Evaluemos si es un Mínimo o un Máximo usando un volumen de 12 metros cúbicos
Para un tanque de 12 Mts3 de volumen, el Radio corresponde a 1.420248085 mts. y el Largo a 0 mts. Estas medidas corresponden al volumen requerido de 12 Mts3 con un consumo de material (superficie) MÍNIMO.
Si usted elabora la tabla para un volumen de 5 Mts3 los valores serán:
Radio= 2.67301 mts y Largo=0 mts. como habíamos estimado en el desarrollo previo.
Programa
/* programa se utiliza para determinar el radio y el largo
de un tanque esférico (Salchicha o esfera).
este programa es elaborado por Carlos Ferrer
Fecha 10 de Octubre 2024*/
#include<iostream>
#include<math.h>
#include<locale.h>
using namespace std;
double volumen=0,radio=0,largo=0,material=0;
// El volumen del tanque es un dato fijo y suministrado por el usuario
/* según el análisis matemático con un largo=0 mts se obtiene el volumen requerido
con el mínimo material (superficie).
En consecuencia el problema se reduce a calcular el radio y presentar la cantidad de
material a emplear*/
main()
{
setlocale(LC_ALL,"spanish");
cout <<"Favor ingrese el volumen del tanque (mts3)= ";
cin >>volumen;
radio= cbrt(3*volumen/(M_PI/4)); // Calculamos el radio aplicando raíz cubica
material = 4*M_PI*pow(radio,2)+2*M_PI*radio*largo;
//Presentamos los resultados
cout <<endl<<endl<<"El radio donde se obtiene un tanque de volumen= "<<volumen<<" mt3 con el mínimo material corresponde a ="<<radio<<" mts";
cout <<endl<<"El largo para obtener ese tanque es de = "<<largo<<" mts";
cout <<endl<<"La cantidad de material requerido (mínimo) corresponde a ="<<material<<" mts2";
cout <<endl<<endl<<"LA FORMA DEL TANQUE CORRESPONDE A UNA ESFERA!!! ESTA FORMA GARANTIZA EL MINIMO DE MATERIAL!!"<<endl<<endl;
system("pause");
}
Versión del Profesor (Python)
# programa se utiliza para determinar el radio y el largo
# de un tanque esférico (Salchicha o esfera).
# Este programa es elaborado por Carlos Ferrer
# Fecha 10 de Sep 2024
import math
# El volumen del tanque es un dato fijo y suministrado por el usuario
# según el análisis matemático con un largo=0 mts se obtiene el volumen requerido
# con el mínimo material (superficie).
# En consecuencia el problema se reduce a calcular el radio y presentar la cantidad de
# material a emplear
volume = float(input("Please enter the volume of the tank (m³): "))
# Calculate the radius using cube root
radius = math.cbrt(3 * volume / (math.pi / 4))
length = 0
material = 4 * math.pi * radius**2 + 2 * math.pi * radius * length
# Presentamos los resultados
print(f"\nEl radio para un tanque de Volumen = {volume} m³ elaborado con mínimo material = {radius} m")
print(f"El largo del tanque es = {length} m")
print(f"La cantidad de material requerido corresponde a = {material} m²")
print("\nLA FORMA DEL TANQUE ES UNA ESFERA!!! ESTA FORMA GARANTIZA EL MINIMO MATERIAL!!\n")
Versión del Profesor por iteración (C++)
/* programa se utiliza para determinar el radio y el largo
de un tanque esférico (Salchicha o esfera).
este programa es elaborado por Carlos Ferrer
Fecha 02 de Oct 2024*/
#include<iostream>
#include<math.h>
#include<locale.h>
using namespace std;
double volumen=0,radio=0,largo=0,material=0,mat_anterior;
// El volumen del tanque es un dato fijo y suministrado por el usuario
/* según el análisis matemático con un largo=0 mts se obtiene el volumen requerido
con el mínimo material (superficie).
En consecuencia el problema se reduce a calcular el radio y presentar la cantidad de
material a emplear*/
main()
{
setlocale(LC_ALL,"spanish");
cout <<"Favor ingrese el volumen del tanque (mts3)= ";
cin >>volumen;
radio=0.01;
material=4*M_PI*pow(radio,2)/3+2*volumen/radio;
mat_anterior=material;
while (mat_anterior>=material)
{
mat_anterior=material;
radio=radio+0.0000001;
material=4*M_PI*pow(radio,2)/3+2*volumen/radio;
}
//Presentamos los resultados
cout <<endl<<endl<<"El radio donde se obtiene un tanque de volumen= "<<volumen<<" mt3 con el mínimo material corresponde a ="<<radio<<" mts";
cout <<endl<<"El largo para obtener obtener ese tanque es de = "<<largo<<" mts";
cout <<endl<<"La cantidad de material requerido (mínimo) corresponde a ="<<material<<" mts2";
cout <<endl<<endl<<"LA FORMA DEL TANQUE CORRESPONDE A UNA ESFERA!!! ESTA FORMA GARANTIZA EL MINIMO DE MATERIAL!!"<<endl<<endl;
system("pause");
}
Versión del Profesor por Iteración (Python)
# programa se utiliza para determinar el radio y el largo
# de un tanque esférico (Salchicha o esfera).
# este programa es elaborado por Carlos Ferrer
# Fecha 10 de Oct 2024
import math
# El volumen del tanque es un dato fijo y suministrado por el usuario
# según el análisis matemático con un largo=0 mts se obtiene el volumen requerido
# con el mínimo material (superficie).
# En consecuencia el problema se reduce a calcular el radio y presentar la cantidad de
# material a emplear
largo = 0
volumen = float(input("Favor ingrese el volumen del tanque (mts3)= "))
radio = 0.01
material = 4 * math.pi * radio**2 / 3 + 2 * volumen / radio
mat_anterior = material
while mat_anterior >= material:
mat_anterior = material
radio += 0.0000001
material = 4 * math.pi * radio**2 / 3 + 2 * volumen / radio
# Presentamos los resultados
print(f"\n\nEl radio donde se obtiene un tanque de volumen= {volumen} mt3 con el mínimo material corresponde a = {radio} mts")
print(f"El largo para obtener obtener ese tanque es de = {largo} mts")
print(f"La cantidad de material requerido (mínimo) corresponde a = {material} mts2")
print("\nLA FORMA DEL TANQUE CORRESPONDE A UNA ESFERA!!! ESTA FORMA GARANTIZA EL MINIMO DE MATERIAL!!\n")
input("Presione Enter para continuar...")
CALIFICACIONES





No hay comentarios.:
Publicar un comentario