Está en la página 1de 5

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ

II EXAMEN PARCIAL DE LENGUAJE DE PROGRAMACIÓN IQ


Apellidos y Nombres: ……………………………….. ……………….…..……………………………………Tiempo: 90 min
RECOMENDACIONES:
1. Realizar el diagrama de flujo del siguiente enunciado (7p) y la programación en R studio (13p)
La Ecuación de Estado de Van der Waals permite predecir el volumen específico de un fluido conocidos
su presión y temperatura, los coeficientes de compresibilidad están dados por
2 2
27 R T C R T C P= RT − a
a= , b= ,
64 P C 8 PC v−b v 2
Determinar los factores de compresibilidad del fluido, si la T C y PC varían cada uno asumiendo 6
valores distintos con intervalos de 0.2 en 0.2, los valores iniciales de T C y PC son ingresados por el
teclado, se toma las restricciones para que la T C, PC y v no tome valores menores a cero, la
temperatura que se ingresa por el teclado es en °C, convertir a kelvin para operar. Si la variación del
volumen especifico y el coeficiente b es negativa multiplicar por -1.
T c =temperatura critica
Pc = presion critica
T =temperatura C
P= presion
v=volumen especifico(m3 /Kmol)
KJ
R=8.314 .K
Kmol
Pv
Z=factor de compresibilidad de un fluido z=
RT
Realizar la programación con las restricciones mencionadas, si las presiones calculadas son mayor a
100 se corrige el factor de compresibilidad por 1.18, cuantificar cuantos valores se encuentran dentro
de este rango y sumar dichos valores, si las presiones se encuentra entre 100 y 500 se corrige la presión
por 0.899, cuantificar cuantos valores se encuentran dentro de este rango y sumar dichos valores, si las
presiones supera los 500 se corrige por 1.05, cuantificar cuantos valores se encuentran dentro de este
rango y sumar dichos valores, el programa no debe de indeterminar por ningún motivo, el programa
debe estar en ejecución hasta que se ingrese un valor diferente 1 para detenerse caso contrario debe
continuar ejecutándose.

Solución

i=1

while(i==1){

Tc=readline(prompt = "Ingrese Tempertura Critica (Tc) = ")

Tc=as.numeric(Tc)

while(Tc<0){

print("EL VALOR Tc Es MAYORES A 0")

Tc=readline(prompt = "Ingrese Tempertura Critica (Tc) = ")

Tc=as.numeric(Tc)}

Pc=readline(prompt = "Ingrese Presion Critica (Pc) = ")

Pc=as.numeric(Pc)

while(Pc<0){
print("EL VALOR Pc Es MAYORES A 0")

Pc=readline(prompt = "Ingrese Presion Critica (Pc) = ")

Pc=as.numeric(Pc)}

v=readline(prompt = "Ingrese el Volumen Especifico (v) = ")

v=as.numeric(v)

while(v<0){

print("EL VALOR v Es MAYORES A 0")

v=readline(prompt = "Ingrese el Volumen Especifico (v) = ")

v=as.numeric(v)}

Tk=readline(prompt = "Ingrese la Temperatura en celcios (Tk) = ")

Tk=as.numeric(Tk)

T=Tk+273.15 #K

R=8.314

for (Tt in seq(Tc,by=0.2,length.out = 6)) {

for (Pt in seq(Pc,by=0.2,length.out = 6)) {

a=(27/64)*(R^2*Tt^2)/(Pt)

b=(R*Tt)/(8*Pt)

vb=v-b

if(vb<0){

vd=vb*(-1)

P=((R*T)/vd)-(a/v^2)

Z=(P*v)/(R*T)

if(P<100){

Z=Z*(1.18)

l=length(Z)

SUMA=sum(Z)

}else if(100<P | P<500){

Z=Z*(0.899)

l=length(Z)

SUMA=sum(Z)

}else{

Z=Z*(1.05)

l=length(Z)
SUMA=sum(Z)

print(paste(l,Z,SUMA))

}else{

vd=vb

P=((R*T)/vd)-(a/v^2)

Z=(P*v)/(R*T)

if(P<100){

Z=Z*(1.18)

l=length(Z)

SUMA=sum(Z)

}else if(100<P | P<500){

Z=Z*(0.899)

l=length(Z)

SUMA=sum(Z)

}else{

Z=Z*(1.05)

l=length(Z)

SUMA=sum(Z)

print(paste(l,Z,SUMA))

}}

i=readline(prompt = "Ingrese 0 para terminar el programa y otro numero para continuar=")

i=as.integer(i)

}
MSc. HENRRY R. OCHOA LEÓN

También podría gustarte