Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Serie de Ejercicios
ASIGNATURA:
Programación
Unidad: 1, 2 Tema: U1. Antecedentes y Algoritmos, U2. Entorno del lenguaje de programación.
Instrucciones: Realice el análisis matemático, diagrama de flujo, programa en Dev-C++ y captura del programa funcional para cada
inciso de los siguientes problemas:
A
P + 2 (V − B ) = RT
V
a) Calcular Temperatura. Considere los valores de la Tabla 1, el resultado generado para cada gas debe ser aproximado al que se
indica. (4%)
Gas R A B V P
Valor de Temperatura
obtenido en DEV-C++
CO2 0.08206 3.59 0.0427 1.911 10 250
NH3 0.08206 4.17 0.0371 0.3572 75 420.1
Temperatura 𝑪𝑶𝟐
1 Análisis matemático
A
Formula : P + (V − B ) = RT
V2
Despejando temperatura se obtiene:
𝐴
(𝑃+ 2 )∙(𝑉−𝐵)
𝑉
Formula: 𝑇 =
𝑅
Análisis
T= ?
𝐴 𝐴
A (𝑃+ 2 )(𝑉−𝐵) (𝑃+ 2 )∙(𝑉−𝐵)
P + 2 (V − B ) = RT = (𝑃 + 𝑉 2) (𝑉 − 𝐵) = 𝑅𝑇 = 0
𝐴 𝑉 𝑉
=𝑇 = 𝑇=
V 𝑅 𝑅
2
Identificación de variables, constantes y comprobación analítica.
De los datos del problema se tiene:
Gas R A B V P
Valor de Temperatura
obtenido en DEV-C++
CO2 0.08206 3.59 0.0427 1.911 10 250
De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de temperatura:
Formula
A 3.59 3.59
(P+ 2 )∙(V−B) (10+ )(1.911−0.0427) (10+ )(1.911−0.0427)
V 1.9112 3.651921
T(CO2 ) = T(CO2 ) = T(CO2 ) =
R 0.08206 0.08206
(10+0.98304)(1.8683) (10.98304)(1.8683) 20.51961
T(CO2 ) = T(CO2 ) = T(CO2 ) = T(CO2 ) = 250.056
0.08206 0.08206 0.08206
De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de temperatura:
3 Diagrama de flujo de Temperatura con ecuación De Van der Waals.
Inicio
𝑅, 𝐴, 𝐵, 𝑉, 𝑃
𝑇
𝐴
(𝑃 + )(𝑉 − 𝐵)
𝑇= 𝑉2
𝑅
Fin
4 Código en DEV-C++.
#include<iostream>
#include<math.h>
using namespace std;
main()
{
cout<<"Programa que calcula la temperatura a partir de la ecuacion de Van der Waals";
float R,A,B,V,P,T;
cout<<"\n\nDel gas analizado en congruencia con las unidades fisicas, ingrese los siguientes datos:";
cout<<"\n\nIngrese R=";
cin>> R;
cout<<"\nIngrese A=";
cin>> A;
cout<<"\nIngrese B=";
cin>> B;
cout<<"\nIngrese V=";
cin>> V;
cout<<"\nIngrese P=";
cin>> P;
T=(P+(A/pow(V,2)))*(V-B)/R;
cout<<"\nLa Temperatura calculada es T="<<T;
}
Captura del programa funcional para 𝑪𝑶𝟐
Temperatura 𝑵𝑯𝟑
Ejemplo de evidencia del análisis matemático.
𝐴
(𝑃 + 2 ) ∙ (𝑉 − 𝐵) = 𝑅 ∙ 𝑇
𝑉
𝐴
(𝑃+ 2 )∙(𝑉−𝐵)
𝑉
Despejando temperatura se obtiene: 𝑇= 𝑅
Ejemplo de evidencia de Diagrama de flujo de Temperatura con ecuación De Van der Waals.
#include<iostream>
using namespace std;
main()
{
float P, R,T,V,B,A;
cout<<"\nPrograma que calcula la temperatura de los gases ideales Van der Waals";
cout<<"\n\n\tIngrese Presion: ";
cin>>P;
cout<<"\n\n\tIngrese Volumen: ";
cin>>V;
cout<<"\n\n\tIngrese la constante universal de los gases R: ";
cin>>R;
cout<<"\n\n\tDel gas analizado,ingrese A: ";
cin>>A;
cout<<"\n\n\tDel gas analizado,ingrese B: ";
cin>>B;
T=(P+(A/(V*V)))*(V-B)/R;
cout<<"\nLa temperatura es: "<<T;
}
Ejemplo de evidencia de captura del programa funcional para NH3.
Temperatura 𝑯𝟐
1 Análisis matemático
2
A
Formula: P + (V − B ) = RT
V2
Despejando temperatura se obtiene:
𝐴
(𝑃+ 2 )∙(𝑉−𝐵)
𝑉
Formula: 𝑇 =
𝑅
Análisis
T= ?
𝐴 𝐴
A (𝑃+ 2 )(𝑉−𝐵) (𝑃+ 2 )∙(𝑉−𝐵)
P + 2 (V − B ) = RT = (𝑃 + 𝑉 2) (𝑉 − 𝐵) = 𝑅𝑇 = 0
𝐴 𝑉 𝑉
=𝑇 = 𝑇=
V 𝑅 𝑅
Gas R A B V
P Valor de Temperatura
obtenido en DEV-C++
H2 0.08206 0.244 0.0266 1.639 5 100
Formula (comprobación)
A 0.244 0.244
(P+ 2 )∙(V−B) (5+ )(1.639−0.0266) (5+ )(1.639−0.0266)
V 1.6392 2.686321
T(H2 ) = T(𝐻2 ) = T(H2 ) =
R 0.08206 0.08206
(5+0.09083)(1.6184) (5.09083)(1.6184) 8.2084
T(𝐻2 ) = T(𝐻2 ) = T(𝐻2 ) = T(𝐻2 ) = 100.029
0.08206 0.08206 0.08206
𝑅, 𝐴, 𝐵, 𝑉, 𝑃
𝑇
𝐀
(𝐏 + ) ∙ (𝐕 − 𝐁)
𝐓= 𝐕𝟐
𝐑
Fin
4 código en DEV-C++.
#include<iostream>
#include<math.h>
using namespace std;
main()
{
cout<<"Programa que calcula la temperatura a partir de la ecuacion de Van der Waals";
float R,A,B,V,P,T;
cout<<"\n\nDel gas analizado en congruencia con las unidades fisicas, ingrese los siguientes datos:";
cout<<"\n\nIngrese la constante universal de los gases R=";
cin>> R;
cout<<"\nDel gas analizado,ingrese A=";
cin>> A;
cout<<"\nDel gas analizado,ingrese B=";
cin>> B;
cout<<"\nIngrese el volumen del gas analizado V=";
cin>> V;
cout<<"\nIngrese la presion del gas analizado P=";
cin>> P;
T=(P+(A/pow(V,2)))*(V-B)/R;
cout<<"\nLa Temperatura calculada es T="<<T;
}
1 Análisis matemático
A
Formula: P + (V − B ) = RT
V2
Despejando la formula se obtiene
(𝑅)(𝑇) 𝐴
𝐹𝑜𝑟𝑚𝑢𝑙𝑎: 𝑃 = − 𝑉2
𝑉−𝐵
Análisis
P=?
A
P + 2 (V − B ) = RT (𝑃 + 𝑉 2 ) (𝑉 − 𝐵)(𝑅 ∗ 𝑇) = 0 =
𝐴 (𝐴)(𝑉 2 )+(𝑉+𝐵) (𝑅)(𝑇) 𝐴
=𝑃 𝑃= − 𝑉2
V 𝑅∗𝑇 𝑉−𝐵
Formula (comprobación)
(𝑅)(𝑇) 𝐴 (0.08206)(250) 3.59 20.515 3.59
𝑃= − 𝑉2 𝑃(𝐶𝑂2 ) = − 𝑃(𝐶𝑂2 ) = 1.8683 − 3.651921 𝑃(𝐶𝑂2 ) = 10.98057 − 0.98304 𝑃(𝐶𝑂2 ) = 9.99753
𝑉−𝐵 1.911−0.0427 1.9112
3 Diagrama de flujo
INICIO
(𝑅, 𝐴, 𝐵, 𝑉, 𝑇)(𝑃)
(𝑅)(𝑇) 𝐴
𝑝= −
𝑉 − 𝐵 𝑉2
FIN
4 Código en DEV-C++.
#include<iostream>
#include<math.h>
using namespace std;
main()
{
cout<<"Programa que calcula la presion a partir de la ecuacion de Van der Waals";
float R,T,V,B,A,P;
cout<<"\n\nDel gas analizado en congruencia con las unidades fisicas, ingrese los siguientes datos:";
cout<<"\n\nIngrese R=";
cin>> R;
cout<<"\nIngrese T=";
cin>> T;
cout<<"\nIngrese V=";
cin>> V;
cout<<"\nIngrese B=";
cin>> B;
cout<<"\nIngrese A=";
cin>> A;
P=((R*T)/(V-B)-A/pow(V,2));
cout<<"\nLa presion calculada es P="<<P;
}
Presión 𝑵𝑯𝟑
1 Análisis matemático
2
A
Formula: P + (V − B ) = RT
V2
Despejando la formula se obtiene
Formula:
(𝑅)(𝑇) 𝐴
𝑃= − 𝑉2
𝑉−𝐵
Análisis
P=?
A
P + 2 (V − B ) = RT (𝑃 + 𝑉 2 ) (𝑉 − 𝐵)(𝑅 ∗ 𝑇) = 0 =
𝐴 (𝐴)(𝑉 2 )+(𝑉+𝐵) (𝑅)(𝑇) 𝐴
=𝑃 𝑃= − 𝑉2
V 𝑅∗𝑇 𝑉−𝐵
Formula (comprobación)
(𝑅)(𝑇) 𝐴 (0.08206) (420.1) 4.17 34.473406 4.17
𝑃 = 𝑉−𝐵 − 𝑉 2 𝑃(𝑁𝐻3 ) = 0.3572−0.0371 − 0.35722 𝑃(𝑁𝐻3 ) = − 0.12759 𝑃(𝑁𝐻3 ) = 107.695 − 32.682 𝑃(𝑁𝐻3 ) = 75.013
0.3201
(𝑅, 𝐴, 𝐵, 𝑉, 𝑇)(𝑃)
(𝑅)(𝑇) 𝐴
𝑝= −
𝑉 − 𝐵 𝑉2
FIN
4 Código en DEV-C++.
#include<iostream>
#include<math.h>
using namespace std;
main()
{
cout<<"Programa que calcula la presion a partir de la ecuacion de Van der Waals";
float R,T,V,B,A,P;
cout<<"\n\nDel gas analizado en congruencia con las unidades fisicas, ingrese los siguientes datos:";
cout<<"\n\nIngrese la constante universal de los gases R=";
cin>> R;
cout<<"\nIngrese la temperatura del gas analizado T=";
cin>> T;
cout<<"\nIngrese el volumen del gas analizado V=";
cin>> V;
cout<<"\nIngrese B=";
cin>> B;
cout<<"\nIngrese A=";
cin>> A;
P=((R*T)/(V-B)-A/pow(V,2));
cout<<"\nLa presion calculada es P="<<P;
}
Presión 𝑯𝟐
1 Análisis matemático
Formula: P + A2 (V − B ) = RT
V
Despejando la formula se obtiene
(𝑅)(𝑇) 𝐴
Formula: 𝑝 = − 𝑉2
𝑉−𝐵
Análisis
P=?
A
P + 2 (V − B ) = RT (𝑃 + 𝑉 2 ) (𝑉 − 𝐵)(𝑅 ∗ 𝑇) = 0 =
𝐴 (𝐴)(𝑉 2 )+(𝑉+𝐵) (𝑅)(𝑇) 𝐴
=𝑃 𝑃= − 𝑉2
V 𝑅∗𝑇 𝑉−𝐵
Formula (comprobación)
(𝑅)(𝑇) 𝐴 (0.08206) (100) 0.244 8.206 0.244
𝑃 = 𝑉−𝐵 − 𝑉 2 𝑃(𝐻2 ) = 1.639−0.0266 − 1.6392 𝑃(𝐻2 ) = 1.6124 − 2.686321 𝑃(𝐻2 ) = 5.0893 − 0.09083 𝑃(𝐻2 ) = 4.99847
3 Diagrama de flujo
INICIO
(𝑅, 𝐴, 𝐵, 𝑉, 𝑇)(𝑃)
(𝑅)(𝑇) 𝐴
𝑝= −
𝑉 − 𝐵 𝑉2
FIN
4 Código en DEV-C++.
#include<iostream>
#include<math.h>
using namespace std;
main()
{
cout<<"Programa que calcula la presion a partir de la ecuacion de Van der Waals";
float R,T,V,B,A,P;
cout<<"\n\nDel gas analizado en congruencia con las unidades fisicas, ingrese los siguientes datos:";
cout<<"\n\nIngrese R=";
cin>> R;
cout<<"\nIngrese T=";
cin>> T;
cout<<"\nIngrese V=";
cin>> V;
cout<<"\nIngrese B=";
cin>> B;
cout<<"\nIngrese A=";
cin>> A;
P=((R*T)/(V-B)-A/pow(V,2));
cout<<"\nLa presion calculada es P="<<P;
}
Captura del programa funcional.
2 De la ecuación de Redlich-Kwong:
RT A
P= −
V − B V (V + B ) T
Donde:
R 2Tc2.5 T
A = 0.427 , B = 0.0866 R c
pc pc
Tomando como referencia la Tabla 3:
Tabla 4. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V
Valor de Presión T
obtenido en DEV-C++
He 0.08206 5.3 2.29 0.08119 0.0164 0.1798 100 50.02
SO2 0.08206 430 78.7 140.08 0.0388 0.3572 250 1.807
CCl2F2 0.08206 385.1 41.1 203.602 0.0665 2.5306 350 10
a) Calcular la constante A. Considere los valores de la Tabla 4 para comprobar los resultados de su programa. (3%)
𝐻𝑒
Análisis matemático
Tabla 5. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V
Valor de PresiónT
obtenido en DEV-C++
He 0.08206 5.3 2.29 0.08119 0.0164 0.1798 100 50.02
Análisis matemático:
𝑅𝑇 𝐴
P=RT𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
(0.08026)2 (5.3)2.5
A(𝐻𝑒)=0.427 2.29
= 0.0811
Diagrama de flujo
INICIO
P, R, T, V,
B/A
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main() {
float R,Tc, Pc, A, pR, pTc;
cout<<"\nPrograma que calcula la constante A, Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
A=0.427*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante A es:"<<A;
return 0;
}
Captura del programa funcional.
𝐻𝑒
𝑆𝑂2
Análisis matemático
Tabla 6. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
obtenido en DEV-C++
SO2 0.08206 430 78.7 140.08 0.0388 0.3572 250 1.807
Análisis matemático:
𝑅𝑇 𝐴
P=RT𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
(0.08206)2 4302.5
A(𝑆𝑂2 )=0.427 78.7
= 140.08
Diagrama de flujo
INICIO
P, R, T, V,
B/A
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main() {
float R,Tc, Pc, A, pR, pTc;
cout<<"\nPrograma que calcula la constante A, Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
A=0.427*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante A es:"<<A;
return 0;
}
Captura del programa funcional.
Análisis matemático
𝐶𝐶𝑙2 𝐹2
Tabla 7. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
obtenido en DEV-C++
CCl2F2 0.08206 385.1 41.1 203.602 0.0665 2.5306 350 10
𝑅𝑇 𝐴
P=RT𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
(0.08206)2 385.12.5
A=0.427 41.1
= 203.602
Diagrama de flujo
INICIO
P, R, T, V,
B/A
𝑅 2 𝑇𝑐 2.5
A=0.427 𝑃𝑐
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main() {
float R,Tc, Pc, A, pR, pTc;
cout<<"\nPrograma que calcula la constante A, Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
A=0.427*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante A es:"<<A;
return 0;
}
Análisis matemático
Tabla 8. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
obtenido en DEV-C++
He 0.08206 5.3 2.29 0.08119 0.0164 0.1798 100 50.02
𝑅𝑇 𝐴
P=𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑇𝑐
B= 0. 08066 𝑃𝑐
5.3
B= 0.08662.29 = 0.016
Diagrama de flujo
INICIO
P, R, T, V,
B/A
Tc
B = 0.0866R
pc
FIN
Código en C++.
#include<iostream>
#include<cmath>
using namespace std;
main(){
float R, Tc, Pc,B, pR, pTc;
cout<<"\nPrograma que calcula la constante B, Readlich-Kwong";
cout<<"\Ingrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
B=0.0866*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante B es:"<<B;
return 0;
}
Captura del programa funcional.
Análisis matemático Tabla 9. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
obtenido en DEV-C++
SO2 0.08206 430 78.7 140.08 0.0388 0.3572 250 1.807
𝑅𝑇 𝐴
P=𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑇𝑐
B= 0. 08066 𝑃𝑐
430
B=0.0866 = 0.038
78.7
Diagrama de flujo
INICIO
P, R, T, V,
B/A
Tc
B = 0.0866R
pc
FIN
Código en C++.
Código en C++.
#include<iostream>
#include<cmath>
using namespace std;
main(){
float R, Tc, Pc,B, pR, pTc;
cout<<"\nPrograma que calcula la constante B, Readlich-Kwong";
cout<<"\Ingrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
B=0.0866*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante B es:"<<B;
return 0;
}
Captura del programa funcional.
Análisis de datos
Tabla 10. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
obtenido en DEV-C++
CCl2F2 0.08206 385.1 41.1 203.602 0.0665 2.5306 350 10
𝑅𝑇 𝐴
P=𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
𝑇𝑐
B= 0. 08066 𝑃𝑐
385.1
B=0.0866 41.1 = 0.066
Diagrama de flujo
INICIO
P, R, T, V,
B/A
Tc
B = 0.0866R
pc
FIN
Código en C++.
Código en C++.
#include<iostream>
#include<cmath>
using namespace std;
main(){
float R, Tc, Pc,B, pR, pTc;
cout<<"\nPrograma que calcula la constante B, Readlich-Kwong";
cout<<"\Ingrese R:";
cin>>R;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
pR= pow(R,2);
pTc= pow(Tc,2.5);
B=0.0866*((pR*pTc)/Pc);
cout<<"\nEl valor de la constante B es:"<<B;
return 0;
}
Captura del programa funcional.
c) Calcular Presión. El resultado generado para cada sustancia debe ser aproximado al que se indica en la Tabla 3. (3%)
Análisis matemático Tabla 11. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V T
Valor de Presión
FORMULA obtenido en DEV-C++
He 0.08206 5.3 2.29 0.08119 0.0164 0.1798 100 50.02
𝑅𝑇 𝐴
P− −
𝑉−𝐵 𝑉(𝑉+𝐵)√𝑇
𝑅𝑇 𝐴
P− 𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
(0.08206)(5.3) 0.08119
P-0.1798−0.0164 − 0.1798(0.1798+0.0164)√100 = 50.02
Diagrama de flujo
INICIO
P, R, T, V,
B/A
Tc
B = 0.0866R
pc
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main (){
float P, R, T, V, Tc, Pc;
cout<<"\nPrograma que calcula la presion de los gases ideales Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese T:";
cin>>T;
cout<<"\Ingrese V:";
cin>>V;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
float pTc= pow (Tc,2.5);
float pR= R*R;
float A=(0.427)*((pR*pTc)/Pc);
float B=(0.0866)*(R)*(Tc/Pc);
P= ((R*T)/(V-B))-(A/(V*(V+B)*sqrt(T)));
cout<<"\nLa presion es;"<<P;
return 0;
}
Captura del programa funcional.
Análisis matemático
Tabla 12. Datos de trabajo del problema 2.
Sustancia R Tc Pc A B V
Valor de Presión T
obtenido en DEV-C++
SO2 0.08206 430 78.7 140.08 0.0388 0.3572 250 1.807
𝑅𝑇 𝐴
P− 𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
P
(0.08206)(250) 140.08
P-0.3572−0.0388 − 0.3572(0.3572+0.0388)√250 = 1.807
Diagrama de flujo
INICIO
P, R, T, V,
B/A
RT A
P= −
V − B V (V + B ) T
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main (){
float P, R, T, V, Tc, Pc;
cout<<"\nPrograma que calcula la presion de los gases ideales Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese T:";
cin>>T;
cout<<"\Ingrese V:";
cin>>V;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
float pTc= pow (Tc,2.5);
float pR= R*R;
float A=(0.427)*((pR*pTc)/Pc);
float B=(0.0866)*(R)*(Tc/Pc);
P= ((R*T)/(V-B))-(A/(V*(V+B)*sqrt(T)));
cout<<"\nLa presion es;"<<P;
return 0;
}
Captura del programa funcional.
Análisis matemático
𝑅𝑇 𝐴
P− 𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
(0.08206)(350) 203.602
P- 2.5306−0.0665 − 2.5306(2.5306+0.0665)√350 = 10
Diagrama de flujo
INICIO
P, R, T, V,
B/P
RT A
P= −
V − B V (V + B ) T
FIN
Código en C++.
#include<iostream>
#include <cmath>
using namespace std;
main (){
float P, R, T, V, Tc, Pc;
cout<<"\nPrograma que calcula la presion de los gases ideales Redlich-Kwong";
cout<<"\nIngrese R:";
cin>>R;
cout<<"\nIngrese T:";
cin>>T;
cout<<"\Ingrese V:";
cin>>V;
cout<<"\nIngrese Tc:";
cin>>Tc;
cout<<"\nIngrese Pc:";
cin>>Pc;
float pTc= pow (Tc,2.5);
float pR= R*R;
float A=(0.427)*((pR*pTc)/Pc);
float B=(0.0866)*(R)*(Tc/Pc);
P= ((R*T)/(V-B))-(A/(V*(V+B)*sqrt(T)));
cout<<"\nLa presion es;"<<P;
return 0;
}
Captura del programa funcional.
Realice el programa en Dev-C++ para calcular la velocidad terminal, considere los siguientes datos: (6%)
24
𝜌𝑝 = 7860, 𝜌 = 1.23, 𝐷 = 0.05, 𝑅 = 5000, 𝐶𝐷 = , 𝑔 = 9.81
R
Respuesta generada que debe generar el programa: Vt = 933.024
Análisis matemático
Formula 1.962(7858.77)
𝑣𝑡 = √
1107
4 ∙ 𝑔 ∙ 𝐷(𝜌𝑝 − 𝜌) 62500
𝑣𝑡 = √
3 ∙ 𝐶𝐷 ∙ 𝜌
15,418.9067
Sustitución 𝑣𝑡 = √
0.017712
De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de la velocidad terminal:
Diagrama de flujo
INICIO
𝜌𝑝 = , 𝜌 =, 𝐷, 𝑅, 𝐶𝐷 , 𝑔
4 ∙ 𝑔 ∙ 𝐷(𝜌𝑝 − 𝜌)
𝑣𝑡 = √
3 ∙ 𝐶𝐷 ∙ 𝜌
𝑣𝑡
FIN
Código en C++.
#include<iostream>
#include<math.h>
#include<iomanip>
#include<cstdlib>
main()
{
float Pp, p, D, R, CD, g,Vt;
system("color 0F");
cout<<"\nprograma que calcula la velocidad terminal de la caida de una particula ";
cout<<"\n\n\tIngrese la constante de Pp=";
cin>>Pp;
cout<<"\n\n\tIngrese la constante de p=";
cin>>p;
cout<<"\n\n\tIngrese la constante de D=";
cin>>D;
cout<<"\n\n\tIngrese la constante de R=";
cin>>R;
cout<<"\n\n\tIngrese la constante de g=";
cin>>g;
CD=24/R;
Vt=sqrt((4*g*D*(Pp-p))/(3*CD*p)) ;
cout<<"\nLa velocidad terminal es:" <<Vt;;
}
a) Obtener la solución cuando d=0. Para comprobar su programa, considere los los ejemplos de referencia de la Tabla 4: (13%)
Tabla 14. Ecuaciones de referencia del problema 4, inciso a).
Ecuación Resultados
𝟐𝒙𝟑 + 𝟒𝒙𝟐 + 𝒙 = 𝟎 X1=0, X2=-0-0.2928, X3=-1.7071
𝟑𝒙𝟑 + 𝟐𝒙𝟐 + 𝟒𝒙 = 𝟎 X1=0, X2=-0.333+1.1055i, X3=-0.333-1.1055i
Nota: Para este caso es claro que una de las primeras soluciones vale 0 y las otras 2 se obtienen a partir de factorizar y aplicar formula
General.
Análisis matemático
Ecuación Resultados
𝟐𝒙 + 𝟒𝒙𝟐 + 𝒙 = 𝟎
𝟑 X1=0, X2=-0-0.2928, X3=-1.7071
Diagrama de flujo
Código en C++.
#include<iostream>
#include<cstdlib>
#include<math.h>
system("color f0");
cout<<"\n\n\tIngrese a: ";
cin>>a;
cout<<"\n\n\tIngrese b: ";
cin>>b;
cout<<"\n\n\tIngrese c: ";
cin>>c;
cout<<"\n\n\tIngrese d: ";
cin>>d;
caso= b*b-(4*a*c);
if(caso >= 0)
x1=(-b+sqrt(caso))/(2*a);
x2=(-b-sqrt(caso))/(2*a);
cout<<"\n\n\tX1= "<<x1;
cout<<"\n\n\tX2= "<<x2;
cout<<"\n\n\tX3= "<<x3;
else
preal=-b/(2*a);
pcompleja=(sqrt(-1*caso))/(2*a);
cout<<"\n\n\tX3= "<<x3;
}
Captura del programa funcional.
Análisis matemático
Ecuación Resultados
𝟑𝒙𝟑 + 𝟐𝒙𝟐 + 𝟒𝒙 = 𝟎 X1=0, X2=-0.333+1.1055i, X3=-0.333-1.1055i
Diagrama de flujo
Código en C++.
#include<iostream>
#include<cstdlib>
#include<math.h>
main()
system("color f0");
cout<<"\n\n\tIngrese a: ";
cin>>a;
cout<<"\n\n\tIngrese b: ";
cin>>b;
cout<<"\n\n\tIngrese c: ";
cin>>c;
cout<<"\n\n\tIngrese d: ";
cin>>d;
caso= b*b-(4*a*c);
if(caso >= 0)
x1=(-b+sqrt(caso))/(2*a);
x2=(-b-sqrt(caso))/(2*a);
cout<<"\n\n\tX2= "<<x2;
cout<<"\n\n\tX3= "<<x3;
else
preal=-b/(2*a);
pcompleja=(sqrt(-1*caso))/(2*a);
cout<<"\n\n\tX3= "<<x3;
}
Captura del programa funcional.
b) Obtener las soluciones d ≠ 0, utilice teorema de Cardano para los dos casos posibles.
Para el teorema de Cardano se debe dejar la constante del término cúbico con la unidad y las otras constantes
se renombran como a1, a2, a3 para calcular Q, R, S y T como se muestra a continuación:
b1) Obtener las soluciones para una el caso 1, para comprobar su programa, considere los ejemplos de referencia de la Tabla 5: (12%)
Tabla 15. Ecuaciones de referencia del problema 4, inciso b1).
Ecuación Resultados
𝟒𝒙 + 𝟐𝒙𝟐 + 𝟒𝒙 − 𝟐 = 𝟎
𝟑 X1=0.3760, X2=-0.438+1.06658i, X3=-0.438-
1.06658i
𝟑𝒙𝟑 + 𝟐𝒙𝟐 + 𝟒𝒙 = 𝟎 X1=-0.1674, X2=-0.0162+1.0928i, X3=-
0.0162-1.0928i
Caso 1. Una raíz es real y 2 son complejas sí D > 0, las 3 soluciones son:
b1) Obtener las soluciones para una el caso 1, para comprobar su programa, considere los ejemplos de referencia de la Tabla 5: (12%)
Tabla 16. Ecuaciones de referencia del problema 4, inciso b1).
Ecuación Resultados
𝟒𝒙 + 𝟐𝒙𝟐 + 𝟒𝒙 − 𝟐 = 𝟎
𝟑 X1=0.3760, X2=-0.438+1.06658i, X3=-0.438-
1.06658i
𝟑𝒙𝟑 + 𝟐𝒙𝟐 + 𝟒𝒙 + 𝟏 = 𝟎 X1=-0.2718, X2=-0.1973+1.0895i, X3=-0.1973-
1.0895i
Caso 1. Una raíz es real y 2 son complejas sí D > 0, las 3 soluciones son:
Análisis matemático
Retomando la primera ecuación de la tabla 5, se comprueba el resultado que se nos proporciona antes de todo el análisis.
𝟒𝒙𝟑 + 𝟐𝒙𝟐 + 𝟒𝒙 − 𝟐 = 𝟎
De haber comprobado la solución de la ecuación grado 3, se prosigue al análisis matemático, para lo cual se va a utilizar el teorema de Cardano,
recordando que una ecuación grado 3 tiene varios casos, para el ejercicio del problema se tiene una solucion real y un par complejo.
Para el teorema de Cardano se deben calcular unas constantes antes de obtener las soluciones, estas constantes son:
.Para el caso cuando se tienen una solución real y dos complejas, aplica sí D > 0, las 3 soluciones son:
Delo anterior se observa que antes de calcular las constantes se debe acondicionar la ecuación para que el termino cúbico sea la unidad:
De lo anterior, se prosigue a evaluar una ecuación de la tabla para obtener las contantes:
Delo anterior, según teorema de Cardano si D>0, se tiene una solución real y dos complejas.
Retomando lo anterior, ingresando los datos de Maple se tiene:
Diagrama de flujo
Diagrama de flujo
INICIO
, , , ,
ecuacion cubica de la
forma ax3+bx2+cx+d=0
FIN
Código en C++.
#include<iostream>
#include<math.h>
#include<cstdlib>
using namespace std;
main()
{
system ("color f0");
cout<<"Programa que resuelve una ecuacion cubica de la forma ax3+bx2+cx+d=0";
cout<<"\npara el caso de 1 solucion real y 2 complejas";
//Apartado de alta y solicitud de variables:
float a,b,c,d,a1,a2,a3,Q,R,ccubica,S,T, x1,xreal, xcompleja;
cout<<"\n\n Ingrese a:";
cin>> a;
cout<<"\n\n Ingrese b:";
cin>> b;
cout<<"\n\n Ingrese c:";
cin>> c;
cout<<"\n\n Ingrese d:";
cin>> d;
//Apartado de cálculo de cálculo de las constantes a1, a2, a3:
a1=b/a;
a2=c/a;
a3=d/a;
cout<<"\nLas constantes a1="<<a1<<",a2="<<a2<<",a3="<<a3;
//Apartado de cálculo de cálculo de las constantes Q,R,ccubica
Q=((3*a2)-(a1*a1))/9;
cout<<"\nLa constantes Q="<<Q;
R=((9*a1*a2)-(27*a3)-(2*a1*a1*a1))/54;
cout<<"\nLa constantes R="<<R;
//Constante que determina el caso de cardano
ccubica=(Q*Q*Q)+(R*R);
cout<<"\nLa constantes ccubica="<<ccubica;
}
}
b2) Obtener las soluciones para una el caso 2, para comprobar su programa, considere los ejemplos de referencia de la Tabla 6: (12%)
Ecuación Resultados
𝟐𝒙 + 𝟖𝒙𝟐 − 𝟑𝒙 − 𝟒 = 𝟎
𝟑 X1=-4.2424, X2=0.8184, X3=-0.5759
𝟕𝒙𝟑 + 𝟏𝟔𝒙𝟐 − 𝟒𝒙 − 𝟐 = 𝟎 X1=-2.4702, X2=0.4446, X3=-0.2601
Caso 2. Todas las soluciones son reales y no iguales sí D < 0, las 3 soluciones son:
Análisis matemático
Diagrama de flujo
Código en C++.
Código en C++.
#include<iostream>
#include<math.h>
#include<iomanip>
#include<cstdlib>
#define pi 3.141592655
using namespace std;
main()
{
float a, b, c, d, a1, a2, a3, Q, R, Ccardano, angulo, x1, x2, x3, angulo120, angulo240;
cout<<"Programa que resuelve la ecuacion cubica de la forma ax3+bx2+cx+d=0 para el caso de las 3
soluciones reales";
//Apartado de alata y solicitud de variables:
cout<<"\n \n \tIngrese la constante del termino cubico a= ";
cin>>a;
cout<<"\n \n \tIngrese la constante del termino cuadratico b= ";
cin>>b;
cout<<"\n \n \tIngrese la constante del termino lineal c= ";
cin>>c;
cout<<"\n \n \tIngrese la constante de la ecuacion cubica d= ";
cin>>d;
//Apartado de Calculo de las constantes a,b,c,d:
a1=b/a;
a2=c/a;
a3=d/a;
//cout<<"\n \n \t Las constantes de Cardano son a1="<<a1<<", a2="<<a2<<", a3="<<a3;
//Apartado de las constantes Q y R:
Q=(3*a2-(a1*a1))/9;
cout<<"\n \n \t Q="<<Q;
R=((9*a1*a2)-(27*a3)-(2*pow(a1,3)))/(54);
cout<<"\n \n \t R="<<R;
Ccardano=pow(Q,3)+pow(R,2);
cout<<"\n \n \t Ccardano="<<Ccardano;
if (Ccardano >=0)
{
cout<<"\n \n \t Caso para 1 solucion real y un par complejo";
}
else
{
cout<<"\n \n \t Caso para 3 soluciones reales";
angulo=acos(R/(sqrt(-Q*Q*Q)));
//cout<<"\n \n \t Angulo= "<<angulo;
x1=(2*(sqrt(-Q))*(cos(angulo/3)))-(a1/3);
cout<<"\n \n \t x1= "<<x1;
angulo120=(pi*120)/180;
//cout<<"\n \n \t Angulo120= "<<angulo120;
x2=(2*(sqrt(-Q))*(cos((angulo/3)+angulo120)))-(a1/3);
cout<<"\n \n \t x2= "<<x2;
angulo240=(pi*240)/180;
//cout<<"\n \n \t Angulo240= "<<angulo240;
x3=(2*(sqrt(-Q))*(cos((angulo/3)+angulo240)))-(a1/3);
cout<<"\n \n \t x3= "<<x3;
}
2. Trabajos con mala presentación, no legible y que no sigan la numeración asignada en esta serie se cancelará el ejercicio
correspondiente, de ser incidentes en la mayor parte de los ejercicios se cancelará el trabajo. Una cancelación de trabajo causará
la reprobación de las unidades según el porcentaje asignado a la serie.
4. Los trabajos deben subirse en tiempo y forma. Si el representante del equipo no sube el trabajo transcurrida 1hr de la fecha límite
se le anulará causando reprobación de todos los integrantes. Si se da una situación especial con el representante, alguno de
los integrantes debe subir a tiempo el trabajo del equipo, de lo contrario se prosigue con lo antes mencionado.
“Recuerda que lo bueno siempre cuesta un poco más, el que persevera alcanza”