Está en la página 1de 34

INGENIERIA QUIMICA

Serie de Ejercicios

ASIGNATURA:

Programación

Nombre y firma del docente (s):

M. en C. Benito Rodriguez Nava

Unidad: 1, 2 Tema: U1. Antecedentes y Algoritmos, U2. Entorno del lenguaje de programación.

Nombre del Alumno(a): Grupo: Fecha de entrega:

• RAMIREZ ALONSO MARLEN IF-0102 15-Oct-21


• ODILÓN OCTAVIANO SARAHI JATZIRY
• ITURBIDE MARTÍNEZ EMI SHARIS % obtenido de 60%

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:

De la ecuación de Van der Waals:

 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%)

Tabla 1. Datos de trabajo del problema 1, inciso a).

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

H2 0.08206 0.244 0.0266 1.639 5 100

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.

Ejemplo de evidencia del código en DEV-C++.

#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  𝑅 𝑅

2 Identificación de variables, constantes y comprobación analítica.


De los datos del problema se tiene:
Tabla 2. Datos de trabajo del problema 1, inciso a).

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

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

𝑅, 𝐴, 𝐵, 𝑉, 𝑃
𝑇

𝐀
(𝐏 + ) ∙ (𝐕 − 𝐁)
𝐓= 𝐕𝟐
𝐑

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;
}

Captura del programa funcional.


b) Calcular Presión. Considere los valores de la Tabla 3, el resultado generado para cada gas debe ser aproximado al que se indica.
(4%)
c) Tabla 3. Datos de trabajo del problema 1, inciso b).
Gas R A B V
Valor de Presión T
obtenido en DEV-C++
CO2 0.08206 3.59 0.0427 1.911 250 10
NH3 0.08206 4.17 0.0371 0.3572 420.1 75
H2 0.08206 0.244 0.0266 1.639 100 5
Presión 𝑪𝑶𝟐

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  𝑅∗𝑇 𝑉−𝐵

2 Identificación de variables, constantes y comprobación analítica.

De los datos del problema se tiene:


Gas R A B V
Valor de Presión T
obtenido en DEV-C++
CO2 0.08206 3.59 0.0427 1.911 250 10

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

De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de temperatura:

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.

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  𝑅∗𝑇 𝑉−𝐵

2 Identificación de variables, constantes y comprobación analítica.

De los datos del problema se tiene:


Gas R A B V T
Valor de Presión
obtenido en DEV-C++
NH3 0.08206 4.17 0.0371 0.3572 420.1 75

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

De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de temperatura:


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 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;
}

Captura del programa funcional.

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  𝑅∗𝑇 𝑉−𝐵

2 Identificación de variables, constantes y comprobación analítica.

De los datos del problema se tiene:


Gas R A B V T
Valor de Presión
obtenido en DEV-C++
H2 0.08206 0.244 0.0266 1.639 100 5

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

De lo anterior, se prosigue a sustituir los datos para comprobar el resultado de temperatura:

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

Realice el diagrama de flujo y el programa en Dev-C++ para calcular:

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;
}

Captura del programa funcional.


b) Calcular la constante B. Considere los valores de la Tabla 4 para comprobar los resultados de su programa. (3%)

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

Tabla 13. 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− 𝑉−𝐵 − 𝑉(𝑉+𝐵)√𝑇
(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.

3 La ecuación para obtener la velocidad de caída de una partícula es:


4 ∙ 𝑔 ∙ 𝐷(𝜌𝑝 − 𝜌)
𝑣𝑡 = √
3 ∙ 𝐶𝐷 ∙ 𝜌

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

4 ∙ 9.81 ∙ 0.05(7860 − 1.23)


𝑣𝑡 = √
24
3∙ ∙ 1.23 𝑣𝑡 = √870,534.4794 = 933.024372
5000

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>

using namespace std;

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;;
}

Captura del programa funcional.

4 Realizar un programa para obtener la solución de una ecuación grado 3 de la forma:


ax3 + bx2 + cx + d = 0
Donde a, b, c y d son números reales.

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>

using namespace std;


main()

system("color f0");

cout<<"\nPrograma que resuelve una ecuacion grado 3 de la forma ax3+bx2+cx+d";

cout<<"\npara el caso cuando d=0";

//Apartado de alta y solicitud de variables:

float a, b,c,d,x1,x2,x3=0,caso, preal, pcompleja;

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;

//Apartado para definir el caso, real o complejo

caso= b*b-(4*a*c);

//Caso para soluciones reales:

if(caso >= 0)

x1=(-b+sqrt(caso))/(2*a);

x2=(-b-sqrt(caso))/(2*a);

cout<<"\n\n\tLa ecuacion ingresada tiene 3 soluciones reales: ";

cout<<"\n\n\tX1= "<<x1;

cout<<"\n\n\tX2= "<<x2;

cout<<"\n\n\tX3= "<<x3;

//Caso para soluciones complejas

else

preal=-b/(2*a);

pcompleja=(sqrt(-1*caso))/(2*a);

cout<<"\n\n\tLa ecuacion ingresada tiene una solucion real y un par complejo:";

cout<<"\n\n\tX1= "<<preal<<" + "<<pcompleja<<"i";

cout<<"\n\n\tX2= "<<preal<<" - "<<pcompleja<<"i";

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>

using namespace std;

main()

system("color f0");

cout<<"\nPrograma que resuelve una ecuacion grado 3 de la forma ax3+bx2+cx+d";

cout<<"\npara el caso cuando d=0";

//Apartado de alta y solicitud de variables:

float a, b,c,d,x1,x2,x3=0,caso, preal, pcompleja;

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;

//Apartado para definir el caso, real o complejo

caso= b*b-(4*a*c);

//Caso para soluciones reales:

if(caso >= 0)

x1=(-b+sqrt(caso))/(2*a);

x2=(-b-sqrt(caso))/(2*a);

cout<<"\n\n\tLa ecuacion ingresada tiene 3 soluciones reales: ";


cout<<"\n\n\tX1= "<<x1;

cout<<"\n\n\tX2= "<<x2;

cout<<"\n\n\tX3= "<<x3;

//Caso para soluciones complejas

else

preal=-b/(2*a);

pcompleja=(sqrt(-1*caso))/(2*a);

cout<<"\n\n\tLa ecuacion ingresada tiene una solucion real y un par complejo:";

cout<<"\n\n\tX1= "<<preal<<" + "<<pcompleja<<"i";

cout<<"\n\n\tX2= "<<preal<<" - "<<pcompleja<<"i";

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:

A partir de la ecuación de referencia grado 3


Se debe dejar la unidad en el término cúbico, por lo cual se debe dividir toda la ecuación entre a y designar las nuevas constantes
según el acondicionamiento:

Escriba aquí la ecuación.

De lo anterior, se prosigue a evaluar una ecuación de la tabla para obtener las contantes:

Se prosigue a calcular las constantes de Cardano:

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:

Para condicionar lo anterior se utiliza el símbolo de condición.


De lo anterior se observa que se tuvo un valor ≥ 0, por lo tanto se prosigue a calcular para el caso de 1 solución real y un par complejo

Diagrama de flujo
Diagrama de flujo
INICIO

a, b,c ,d, a1,a2,a3,Q,


R,ccubica,S,T,x1,xreal, xcompleja

a,b,c,d,a1=b/a a2=c/a a3= d/a, , ,

, , , ,

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;

//Caso para 1 solución real y un para complejo


if(ccubica >= 0 ) //Sí
{
cout<<"\nCaso para una solucion real y un par complejo";
S=cbrt(R+sqrt(ccubica));
T=cbrt(R-sqrt(ccubica));
cout<<"\nLa constantes S="<<S;
cout<<"\nLa constantes T="<<T;
//Aparatdo para cálculo de las tres soluciones
x1=S+T-(a1/3);
xreal=(-(S+T)/2)-(a1/3);
xcompleja=((sqrt(3))/2)*(S-T);
cout<<"\n X1="<<x1;
cout<<"\n X2="<<xreal<<"+"<<xcompleja<<" i";
cout<<"\n X3="<<xreal<<"-"<<xcompleja<<" i";
cout<<"\n real="<<xreal;
cout<<"\n compleja="<<xcompleja;
}

//Caso para 3 soluciones reales


else // Sí no
{
cout<<"\nCaso para 3 soluciones reales";

}
}

Captura del programa funcional.

b2) Obtener las soluciones para una el caso 2, para comprobar su programa, considere los ejemplos de referencia de la Tabla 6: (12%)

Tabla 6. Ecuaciones de referencia del problema 4, inciso b1).

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;
}

Captura del programa funcional.


Consideraciones.
1. Todas las preguntas deben contestarse según lo solicitado, de lo contrario, se anulará el porcentaje del inciso o pregunta
correspondiente. Si realiza algún procedimiento sin sentido también se le anulará.

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.

3. Respecto a trabajos en equipo:

Para cada integrante.


• Es responsable de subir copia a la asignación de Teams de lo que hayan trabajado como equipo, de lo contrario, causará
su reprobación aún si su equipo lo incluye en la lista.

Para todos los integrantes.


• Deben nombrar a un representante de equipo, dicha persona debe ir al principio de la lista de integrantes y se le dará
revisión, será la referencia para la calificación de todos en la serie de ejercicios.

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”

También podría gustarte