Drive
https://drive.google.com/file/d/0B3RZqyBWldi1RUM3YzBXYUpwQWM/view?usp=sharing
#include<iostream>
#include<math.h>
using namespace std;
int P, Q, m, n;
int V(int Q);
double Calor(double Wneto);
double Energia(int P);
double Vol, Qentrada, Qsalida, Wneto, Tentrada, T(double Qentrada,double Qsalida,double Tentrada);
int main ()
{
int opcion;
cout<<"\n\t\t\t\tLABORATORIO 1\n\n\t\t***************** MENU *****************\n\n\t\t1) VARIACION DE ENERGIA INTERNA DE UN GAS\n\t\t2) CALCULO DE LA\
ENERGIA INTERNA\n\t\t3) EFICIENCIA DE UNA MAQUINA TERMICA\n\t\t4) MAQUINA DE CARNOT\n\n\t\t\t DIGITE (0) PARA SALIR\n\n\t\t*****************************\
*************\n\n";
do
{
cout<<"\t\t\t ELIJA UNA OPCION : "; cin>>opcion; cout<<endl;
switch (opcion)
{
case 0:
cout<<"\n";
system("pause");
return 0;
case 1:
{
cout<<" ************ VARIACION DE ENERGIA INTERNA DE UN GAS ************\n\n Se dispone de un cilindro que contiene un gas y esta dotado de un \
piston movil\n de 5 KN de peso. Se calienta el gas y el piston se desplaza 40 cm. Se desea\n calcular la variacion de la energia interna si el calor \
absorbido por el gas\n varia.\n\n\t\t\t\t SOLUCION\n\n F = 5000 N\t\tW = -F * d\t\t\tVar. U = Q + W\n d = 0,4 m\t\t\W = -5000 * 0.4 = -2000 N\n\n El calor\
va aumentando de 5 en 5\n\n Introduzca el calor absorbido por el gas : "; cin>>m; cout<<" Determine hasta que cantidad de calor es absorbido por el gas \
: "; cin>>n;
for(Q=m; Q<=n; Q+=5)
cout<<"\n Var. U = "<<V(Q); cout<<"\n\n\t\t--------------------------------------\n\n";
}
break;
case 2:
{
cout<<"\t************* CALCULO DE LA ENERGIA INTERNA *************\n\n Se tiene un recipiente que contiene gas cuyo volumen es de "; cin>>Vol;
cout<<" metros cubico. Calcular la energia interna si la presion varia.\n\n\t\t\t\t SOLUCION\n\n La energia interna de un gas ideal de la presion a que\
esta sometido y el\n volumen del recipiente que lo contiene.\n\n U = 3*P*V/2\n\n Ingrese la presion "; cin>>m; cout<<" Indique hasta que valor de la \
presion desea calcular "; cin>>n;
for(P=m; P<=n; P++)
cout<<"\n U = "<<Energia(P); cout<<"\n\n\t\t--------------------------------------\n\n";
}
break;
case 3:
{
cout<<" ************* EFICIENCIA DE UNA MAQUINA TERMICA *************\n\n En una maquina termica, el trabajo neto y el calor que absorbe el \
recipiente\n de baja temperatura es introducida por el usuario. Calcular el calor entregado por el recipiente de alta temperatura y la eficiencia de la \
maquina termica.\n\n\t\t\t\t SOLUCION\n\n Por conservacion de la energia:\n\n\t\t\tQ entrada = W neto + Q salida\n\n Introduzca W neto : "; cin>>Wneto;
cout<<" Ahora ingrese Q salida : "; cin>>Qsalida; cout<<" Q entrada = "<<Wneto<<" + "<<Qsalida<<" = "<<Calor(Wneto)<<"\n Entonces la eficiencia = \
(W neto/Q entrada) x 100 % = "<<Wneto<<"/"<<Calor(Wneto)<<" = "<<(Wneto/Calor(Wneto))*100<<" %\n\n\t\t--------------------------------------\n\n";
}
break;
case 4:
{
cout<<"\t ************** MAQUINA DE CARNOT **************\n\n El calor que absorbe una maquina de Carnot, lo que arroja durante la\n compresion \
isotermica y T entrada del recipiente de alta temperatura es\n introducida por el usuario. ¿Cual sera la temperatura del recipiente de baja\n temperatura?\
\n\n\t\t\t\t SOLUCION\n\n Por la relacion de kelvin:\n\n\t\t\tT entrada/ T salida = Q entrada/ Qsalida\n\n El calor absorbido por la maquina (Q entrada) \
es "; cin>>Qentrada; cout<<" El calor que arroja durante la compresion isotermica (Qsalida) es "; cin>>Qsalida; cout<<" T entrada del recipiente de alta \
temperatura es "; cin>>Tentrada; cout<<" Entonces T salida = "<<"("<<Tentrada<<" * "<<Qsalida<<")/"<<Qentrada<<" = "<<T(Qentrada,Qsalida,Tentrada)<<"\n\n\
\t\t--------------------------------------\n\n";
}
break;
default:
cout<<" Introdujo un numero incorrecto. Introduzca una opcion valida.\n\n";
}
}
while (opcion !=0);
}
int V(int Q)
{
return Q+(-5000*0.4);
}
double Energia(int P)
{
return (3*P*Vol)/2;
}
double Calor(double Wneto)
{
return Wneto+Qsalida;
}
double T(double Qentrada,double Qsalida,double Tentrada)
{
return (Tentrada*Qsalida)/Qentrada;
}