You are on page 1of 2

!

programa primer taller DOUBLE PRECISION w1, w2, x1, x2, w, x, c, x0, xnt, t INTEGER i OPEN (unit=15, file='RESULTADO')

PRINT *,'Escoja las condiciones del sistema: para sistema estable oprima 1, para sistema inestable oprima 2' READ *,i SELECT CASE (i) CASE (1) PRINT*, 'Introduzca el valor de w1 en Kg/min' READ *,w1 PRINT*, 'Introduzca el valor de w2 en Kg/min' READ *,w2 PRINT*, 'Introduzca el valor de x1' READ *,x1 PRINT*, 'Introduzca el valor de x2' READ *,x2 w=w1+w2 x=(w1*x1+w2*x2)/w PRINT*,x CASE (2) PRINT*, 'Introduzca el valor de w1 en Kg/min antes de la perturbacin' READ *,w1 PRINT*, 'Introduzca el valor de w2 en Kg/min antes de la perturbacin' READ *,w2 PRINT*, 'Introduzca el valor de x1 antes de la perturbacin' READ *,x1 PRINT*, 'Introduzca el valor de x2 antes de la perturbacin' READ *,x2 w=w1+w2 x0=(w1*x1+w2*x2)/w PRINT*, 'Escoja que cambia subitamente?, para w1 oprima 1, para w2 oprima 2, para x1 oprima 3, para x2 oprima 4' READ *,i SELECT CASE (i) CASE (1) PRINT*, 'w1 cambia a cuanto?' READ*,w1 w=w1+w2 c=(w1*x1+w2*x2)/w xinf=c DO t=0,50,0.50d0 x=0.5d0*exp(-t/3.0d0)+c*(1.0d0-exp(-t/3.0d0)) xnt=(x-x0)/(xinf-x0) write(15,*)t, x, xnt END DO CASE (2)

PRINT*, 'w2 cambia a cuanto?' READ*,w2 w=w1+w2 c=(w1*x1+w2*x2)/w xinf=c DO t=0,50,0.50d0 x=0.5d0*exp(-t/3.0d0)+c*(1.0d0-exp(-t/3.0d0)) xnt=(x-x0)/(xinf-x0) write(15,*)t, x, xnt END DO CASE (3) PRINT*, 'x1 cambia a cuanto?' READ*,x1 w=w1+w2 c=(w1*x1+w2*x2)/w xinf=c DO t=0,50,0.50d0 x=0.5d0*exp(-t/3.0d0)+c*(1.0d0-exp(-t/3.0d0)) xnt=(x-x0)/(xinf-x0) write(15,*)t, x, xnt END DO CASE (4) PRINT*, 'x2 cambia a cuanto?' READ*,x2 w=w1+w2 c=(w1*x1+w2*x2)/w xinf=c DO t=0,50,0.50d0 x=0.5d0*exp(-t/3.0d0)+c*(1.0d0-exp(-t/3.0d0)) xnt=(x-x0)/(xinf-x0) write(15,*)t, x, xnt END DO END SELECT END SELECT

END

You might also like