Sei sulla pagina 1di 19

PROGRAM PRINCIPAL

USE BUSQUEDA
USE BISECCION
USE FPOSICION
USE SECANTE
USE NEWTON
USE DECLARACIONES
USE FUNCION !******************
USE AJUSTE_LINEAL
USE INTERPOLACION
USE INTEGRAL_TRAPEZIO
USE INTEGRAL_SIMPSON
USE ECUACION_EULER
USE ECUACION_EULER_MODIFICADO !******************
USE problema1
USE problema2
USE problema3
USE problema4
USE problema5
USE problema6
USE problema7
USE problema8
USE problema9
USE problema10
USE problema11
USE problema12
USE problema13
USE problema14
USE problema15
USE problema16
USE problema17
USE problema18
USE problema19
USE problema20

character(2)::rp1
print*,('*',i=1,61)
print*,'PROGRAMAS PARA SOLUCION DE PROBLEMAS'
print*,('*',i=1,41)
print*,''
20 PRINT*,'SELECCIONE EL NUMERO DE PROBLEMA [1-20]'
READ*,rp1
SELECT CASE (rp1)
CASE ('1')
CALL problema_1
CASE ('2')
CALL problema_2
CASE ('3')
CALL problema_3
CASE ('4')
CALL problema_4
CASE ('5')
CALL problema_5
CASE ('6')
CALL problema_6
CASE ('7')
CALL problema_7
CASE ('8')
CALL problema_8
CASE ('9')
CALL problema_9
CASE ('10')
CALL problema_10
CASE ('11')
CALL problema_11
CASE ('12')
CALL problema_12
CASE ('13')
CALL problema_13
CASE ('14')
CALL problema_14
CASE ('15')
CALL problema_15
CASE ('16')
CALL problema_16
CASE ('17')
CALL problema_17
CASE ('18')
CALL problema_18
CASE ('19')
CALL problema_19
CASE ('20')
CALL problema_20
CASE DEFAULT

END SELECT

DO
PRINT*,'==========================='
PRINT*,'= EVALUACION DE FUNCIONES ='
PRINT*,'==========================='
PRINT*,' 1. BUSQUEDA'
PRINT*,' 2. BISECCION'
PRINT*,' 3. FPOSICION'
PRINT*,' 4. SECANTE'
PRINT*,' 5. NEWTON'
PRINT*,' 6. AJUSTE LINEAL'
!************************
PRINT*,' 7. INTERPOLACION'
PRINT*,' 8. INTEGRAL METD. TRAPEZIO'
PRINT*,' 9. INTEGRAL METD. DE SIMPSON'
PRINT*,'10. ECUACION EULER'
PRINT*,'11. ECUACION EULER MODIFICADO'
!************************
PRINT*,'=========='
PRINT*,' (0) SALIR'
PRINT*,'=========='
PRINT*,'SELECCIONE EL METODO NUMERICO [1-11]'
READ*,RP

SELECT CASE (RP)


CASE ('1')
CALL S_BUSQUEDA
CASE ('2')
CALL S_BISECCION
CASE ('3')
CALL S_FPOSICION
CASE ('4')
CALL S_SECANTE
CASE ('5')
CALL S_NEWTON
CASE ('6')
CALL AJUSTE_LINEAL1
CASE ('7')
CALL INTERPOLACION1
CASE ('8')
CALL INTEGRAL_TRAPEZIO1
CASE ('9')
CALL INTEGRAL_SIMPSON1
CASE ('10')
CALL ECUACION_EULER1
CASE ('11')
CALL ECUACION_EULER_MODIFICADO1
CASE DEFAULT
PRINT*,'INGRESAR 1-11'
END SELECT
PRINT*,'SI PARA CONTINUAR'
READ*,RPTA
IF (RPTA=='SI')THEN
GOTO 20
ELSE
END IF
END DO

END PROGRAM PRINCIPAL


module AJUSTE_LINEAL
CONTAINS
subroutine AJUSTE_LINEAL1

REAL(4)X(100),Y(100),N,Y2(100)

WRITE(*,*)'AJUSTE LINEAL MINIMOS CUADRADOS'


WRITE(*,*)''
WRITE(*,*)'INGRESE NUMERO DE PARES PARA AJUSTE (MAX(100))'
READ(*,*)N
WRITE(*,*)'INGRESE PARES UNO POR UNO'
DO I=1,N
WRITE(*,*)'INGRESE PAR NRO.',I,'X E Y'
READ(*,*)X(I),Y(I)
END DO
SUMA1=0
SUMA2=0
SUMA3=0
SUMA4=0
DO I=1,N
SUMA1=SUMA1+X(I)
SUMA2=SUMA2+Y(I)
SUMA3=SUMA3+X(I)*X(I)
SUMA4=SUMA4+X(I)*Y(I)
END DO

A=(SUMA4-(SUMA1*SUMA2)/N)/(SUMA3-(SUMA1*SUMA1)/N)
B=(SUMA2-A*SUMA1)/(N)
WRITE(*,*)'RESULTADOS'
WRITE(*,*)''
WRITE(*,15)A
WRITE(*,16)B
WRITE(*,*)' N X Y(AJUSTADO)'
!REEEVALUCACIàN DE LAFUNCIàN
OPEN(1,FILE='REGLIN.TXT')
DO I=1,N
Y2(I)=A*X(I)+B
WRITE(*,10)I,X(I),Y2(I)
WRITE(1,10)I,X(I),Y2(I)
END DO

10 FORMAT(1X,I3,2(F8.4,1X))
15 FORMAT(1X,'PENDIENTE =',F8.4)
16 FORMAT(1X,'INTERSECCION CON EL EJE Y =',F8.4)
end subroutine
end module
MODULE BISECCION
USE DECLARACIONES
USE FUNCION
IMPLICIT NONE
CONTAINS
SUBROUTINE S_BISECCION
real::xx
PRINT*,'METODO DE BISECCION'
print*,'ingrese el numero de funcion'
read*,xx
1 PRINT*,'INGRESE A,C Y ES'

READ*,A,C,ES

IF (F(A,xx)*F(C,xx).LE.0)THEN
GOTO 2
ELSE
PRINT*,'NO EXISTE LA RAIZ'
GOTO 1
END IF

2 PRINT*,'RESULTADOS:'
PRINT*,' N A B C
EA ES'
N=0
3 N=N+1
B=(A+C)*0.5
IF(F(A,xx)*F(B,xx).LE.0)THEN
C=B
ELSE
A=B
END IF
EA=ABS((B-BP)/B)*100
BP=B
write(*,16)N,A,C,B,EA,ES
IF(EA.LE.ES)THEN
PRINT*,'LA RAIZ OBTENIDA ES:',B,'APROXIMACION AL:',EA,'%'
ELSE
GOTO 3
END IF
16 format(I3,3(f18.13,1x),2(f8.4,1x))

!***************************************
END SUBROUTINE S_BISECCION
END MODULE BISECCION

MODULE BUSQUEDA
USE DECLARACIONES
USE FUNCION
IMPLICIT NONE
CONTAINS
SUBROUTINE S_BUSQUEDA
real::xx,y1,n
print*,'ingrese el numero de funcion'
read*,xx
PRINT*,'INGRESE LIMITES A,B Y H'
READ*,A,c,H
n=(c-a)/h
print*,'resultados'
do i=1,n
x=a+(i-1)*h
y1=a+i*h
if (f(x,xx)*f(y1,xx)<0)then
write(*,100)i,x,y1
else
end if
100 format(1x,'iteracion:',i4,'intervalo:[',f8.4,1x,',',f8.4,']')
end do
do
PRINT*,'SI PARA CONTINUAR'
READ*,RPTA
IF(RPTA=='no') EXIT
END DO
END SUBROUTINE S_BUSQUEDA
END MODULE BUSQUEDA
MODULE DECLARACIONES

SAVE
!PROGRAMA PRINCIPAL
CHARACTER(1)::K1(2)
CHARACTER(2)::RP
!FUNCION
!DOUBLE PRECISION:: F,DF
!DOUBLE PRECISION::X

!BUSQUEDA
DOUBLE PRECISION::A,B,H,X,FA,FB !EXTRA R
INTEGER::I

CHARACTER(2)::RPTA

!BISECCION
DOUBLE PRECISION::C,ES,EA,BP
INTEGER::N

!FPOSICION
!DOUBLE PRECISION::A,C,EA,ES,B,BP

!NEWTON
DOUBLE PRECISION::X0,X1,TOL,DFX,E

!SECANTE
DOUBLE PRECISION::X2 !X0,X1,TOL,E

INTEGER::rj
END MODULE DECLARACIONES

module ECUACION_EULER
USE FUNCION
CONTAINS
subroutine ECUACION_EULER1

REAL(4) X0,Y0,A,B,N,H,XK(1000),YK(1000),yyy

WRITE(*,*)'PROGRAMA EULER HACIA ADELANTE'


print*,'ingrese el numero de funcion'
read*,yyy
WRITE(*,*) 'INGRESAR NUMERO DE DATOS:'
READ(*,*)N
WRITE(*,*)'INGRESAR LIMITES DE X:'
READ(*,*)A,B
WRITE(*,*)'INGRESAR CONDICIONES INICIALES:'
READ(*,*)X0,Y0
XK(1)=X0
YK(1)=Y0
H=(B-A)/N
DO I=1,N+1
XK(I+1)=XK(I)+H
YK(I+1)=YK(I)+H*F1(XK(I),YK(I),yyy)
END DO
WRITE(*,*)'RESULTADOS'
WRITE(*,*)' X Y(X)'
DO J=1,N+1
WRITE(*,5)XK(J),YK(J)
END DO
5 FORMAT (2X,F10.6,4X,F10.6)
end subroutine
end module
module ECUACION_EULER_MODIFICADO
USE FUNCION
CONTAINS
subroutine ECUACION_EULER_MODIFICADO1

REAL(4) X0,Y0,A,B,H,N,YK(1000),XK(1000),yyy

10 WRITE(*,*)''
WRITE(*,*)' SOLUCION DE E.D.O. METODO EULER MODIFICADO'
WRITE(*,*)' =========================================='
WRITE(*,*)''
print*,'ingrese el numero de funcion'
read*,yyy
WRITE(*,*)' INGRESO DE DATOS'
WRITE(*,*)' -------------------------------------------'
WRITE(*,*)' INGRESE EL TOTAL DE PUNTOS (N)'
READ(*,*)N
WRITE(*,*)' INGRESE LOS LIMITES DE OPERACION [A,B]'
READ(*,*)A,B
WRITE(*,*)' INGRESE LAS CONDICIONES INICIALES (X0,Y0)'
READ(*,*)X0,Y0
WRITE(*,*)' INGRESE ERROR PORCENTUAL SOLICTADO (ES)'
READ(*,*)ES
WRITE(*,*)' ------------------------------------------'
H=(B-A)/N
XK(1)=X0
YK(1)=Y0
YY=Y0
OPEN(1,FILE='EULERMOD.TXT')
WRITE(*,*)' RESULTADOS POR ITERACION'
WRITE(*,*)' ------------------------'

DO I=2,N+1
NN=1
WRITE(*,*)' PUNTO NRO. ',I
XK(I)=XK(I-1)+H
15 YK(I)=YK(I-1)+(H*0.5)*(F1(XK(I-1),YK(I-1),yyy)+F1(XK(I),YY,yyy))
EA=ABS((YK(I)-YY)/YK(I))*100
WRITE(*,*)' ITERACION NRO. ',NN
WRITE(*,120)XK(I),YK(I),EA
IF(EA.GT.ES)THEN
YY=YK(I)
NN=NN+1
GOTO 15
END IF
END DO
WRITE(*,*)' RESULTADOS'
WRITE(*,*)' ======================'
WRITE(*,*)' X Y(X)'
WRITE(*,*)' ======================'
DO J=1,N+1
WRITE(*,20)XK(J),YK(J)
WRITE(1,20)XK(J),YK(J)

END DO
20 FORMAT(2X,F10.6,4X,F10.6)
120 FORMAT(2X,3(1X,F10.6))
WRITE(*,*)' ======================'
end subroutine
end module

MODULE FPOSICION
USE DECLARACIONES
USE FUNCION
IMPLICIT NONE
CONTAINS
SUBROUTINE S_FPOSICION
real::xx
PRINT*,'METODO DE FALSA_POSICION'
print*,'ingrese el numero de funcion'
read*,xx
10 PRINT*,'INGRESE A,C Y ES'
READ*,A,C,ES
IF(F(A,xx)*F(C,xx).LE.0)THEN
goto 2
ELSE
PRINT*,'NO EXISTE RAIZ ENTRE A Y C'
GOTO 10
END IF
2 PRINT*,'RESULTADOS'
PRINT*,' N A B C
EA ES'
N=0
15 N=N+1
B=A-((C-A)/(F(C,xx)-F(A,xx)))*F(A,xx)
IF(F(A,xx)*F(B,xx).LE.0)THEN
C=B
ELSE
A=B
END IF
EA=ABS((B-BP)/B)*100
BP=B
WRITE(*,4)N,A,B,C,EA,ES
IF(EA.LE.ES)THEN
PRINT*,'LA RAIZ ES:',B
PRINT*,'APROXIMACION:',EA
ELSE
GOTO 15
END IF
4 format(I3,3(f18.13,1x),2(f8.4,1x))
END SUBROUTINE S_FPOSICION
END MODULE FPOSICION

MODULE FUNCION
CONTAINS

DOUBLE PRECISION FUNCTION f(X,xx)


DOUBLE PRECISION::X
real::xx
if(xx==1)then
F=2*cos(X)
else if (xx==2)then
F=75*EXP(-1.5*x)+20*EXP(-0.075*x)-15.00
else if (xx==3)then
F=10*(0.5*3.14159-1*SIN(X)-X*SQRT(1+X**2))-12.4
else if (xx==4)then
F= x**2 + 5*x + 1
else if (xx==5)then
F=Tan(X)-0.1*X+5
!****
!problema 6
!****
!problema 7
else if (xx==8)then
F=2*X**3
else if (xx==9)then

F=(X**2)/4
else if(xx==12)then
F=cos(x)+(1.3*cos(2*x)+(1.3**3)*((sin(x))**4)/(1-
(1.3*sin(x))**2)**(3/2))-25/(0.8*5.6)
else if(xx==13)then
F=x**5+3*x**2+7*x+3.57
else if(xx==14)then
F=x**3*exp(3*x)-21.00+6*x
else if(xx==15)then
F=-10*x**5+5*cos(x**2)
else if(xx==16)then
F=3*x+sin(x)-exp(x)
else if(xx==17)then
F=x**3-8.6*x**2+22.41*x-16.236
else if(xx==18)then
F=3*cos(5*x+3.15149)
else
F=0
end if

END FUNCTION F

FUNCTION F1(X,Y,yyy)
REAL::X,Y
if(yyy==1)then
F1=(Y+1)*X+SIN(X*Y)
else if(yyy==2)then
F1=X*(Y+EXP(Y))
else if(yyy==3)then
F1=(exp(X**2))*(Y+sin(Y))
else if(yyy==4)then
F1=4.05-0.0005*y+0.0*x
else
f1=0
end if

END FUNCTION F1

END MODULE FUNCION


module INTEGRAL_SIMPSON
USE FUNCION
CONTAINS
subroutine INTEGRAL_SIMPSON1

REAL(4) H,N,AREAT
real::xx
double precision::a,b
WRITE(*,*)''
WRITE(*,*)'CALCULO DE INTEGRALES METODO DE SIMPSON UN TERCIO
EXTENDIDO'

WRITE(*,*)'===========================================================
'
WRITE(*,*)''
print*,'ingrese el numero de funcion'
read*,xx
WRITE(*,*)'INGRESO DE DATOS'
WRITE(*,*)'----------------'
WRITE(*,*)'INGRESE LOS LIMITES DE OPERACION[A,B]'
READ(*,*)A,B
WRITE(*,*)'INGRESE EL ANCHO DE AVANCE'
READ(*,*)H
WRITE(*,*)'--------------------------'
WRITE(*,*)''
WRITE(*,*)''
N=(B-A)/H
FA=F(A,xx)
FB=F(B,xx)
AREA1=0
AREA2=0
DO J=1,N-1,2
AREA1=AREA1+F(A+J*H,xx)
END DO
DO I=2,N-2,2
AREA2=AREA2+F(A+I*H,xx)
END DO
AREAT=(H*0.33333)*(FA+FB+(4*AREA1)*(2*AREA2))
WRITE(*,*)N
WRITE(*,*)'RESULTADOS '
WRITE(*,*)'----------------'
WRITE(*,*)'EL VALOR DE LA INTEGRAL:'
WRITE(*,12)AREAT
12 FORMAT(9X,F9.6)
WRITE(*,*)'----------------'
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)''

end subroutine
end module

module INTEGRAL_TRAPEZIO
USE FUNCION
CONTAINS
subroutine INTEGRAL_TRAPEZIO1

REAL(4)N,AINTEG,xx
double precision::a,b
5 WRITE(*,*)''
WRITE(*,*)'PROGRAMA PARA EL CALCULO DE INTEGRALES METODO DEL
TRAPECIO EXTENDIDO'

WRITE(*,*)'===========================================================
========='
WRITE(*,*)''
print*,'ingrese el numero de funcion'
read*,xx
WRITE(*,*)'INGRESO DE DATOS :'
WRITE(*,*)'----------------'
WRITE(*,*)'INGRESE EL LIMITE INF.; LIMITE SUP.[A;B]'
READ(*,*)A,B
WRITE(*,*)'INGRESE EL ANCHO DE PASO H :'
READ(*,*)H
WRITE(*,*)''
WRITE(*,*)''
N=(B-A)/H
FA=F(A,xx)
FB=F(B,xx)
A1=0
DO J=1,(N-1)
AI=AI+F(A+H*J,xx)
END DO
AINTEG=(0.5*H)*(FA+FB+(2*AI))
WRITE(*,*)'RESULTADOS '
WRITE(*,*)'==========='
WRITE(*,*)''
WRITE(*,7)A,B,N
WRITE(*,*)'EL VALOR DE LA INTEGRAL'
WRITE(*,6)AINTEG
6 FORMAT(9X,F9.6)
7 FORMAT(9X,'LIM INF:',F9.6,1X'LIM SUP:',F9.6,1X,'NUMERO DE
INTERVALOS:',F9.4)
WRITE(*,*)''
WRITE(*,*)'--------------------------'
end subroutine
end module

module INTERPOLACION
CONTAINS
subroutine INTERPOLACION1

REAL(4) XX,FX,X(1000),F(1000),N

WRITE(*,*)''
WRITE(*,*)'PROGRAMA INTERPOLACION DE LAGRANGE'
WRITE(*,*)'=================================='
WRITE(*,*)''
WRITE(*,*)'INGRESO DE DATOS'
WRITE(*,*)'================'
WRITE(*,*)'INGRESE NUMERO DE PARES DE DATOS'
READ(*,*)N
WRITE(*,*)'PARES DE DATOS'
DO I=1,N
READ(*,*)X(I),F(I)
END DO
WRITE(*,*)'INGRESE EL PUNTO A INTERPOLAR X'
READ(*,*)XX
WRITE(*,*)'==============================='
FX=0
DO I=1,N
Z=F(I)
DO J=1,N
IF(I.NE.J)Z=Z*(XX-X(J))/(X(I)-X(J))
END DO
FX=FX+Z
END DO
WRITE(*,*)''
WRITE(*,*)'RESULTADO DE LA INTERPOLACION:'
WRITE(*,*)'======================='
WRITE(*,2)FX
WRITE(*,*)'======================='
WRITE(*,3)N
2 FORMAT(3X,F9.5)
3 FORMAT('PUNTOS EVALUADOS:',F8.4)
end subroutine
end module

MODULE NEWTON
USE DECLARACIONES
USE FUNCION
IMPLICIT NONE
CONTAINS
SUBROUTINE S_NEWTON
real::xx

5 PRINT*,''
PRINT*,' RAIZ DE UNA FUNCION (METODO DE NEWTON_RAPHSON)'
PRINT*,' **********************************************'
print*,'ingrese el numero de funcion'
read*,xx
PRINT*,''
PRINT*,' INGRESO DE DATOS'
PRINT*,' **********************************'
PRINT*,' INGRESE X0 Y TOL'
READ*,X0,TOL
PRINT*,'RESULTADOS NEWTON_RAPSHSON'
PRINT*,' N X0 X1 ABS(F(X0)-
F(X1)) TOL'
H=0.01
N=0
10 N=N+1
DFX=(F(X0+H,xx)-F(X0-H,xx))/(2*H)
X1=X0-F(X0,xx)/DFX
E=ABS(F(X0,xx)-F(X1,xx))
WRITE(*,14)N,X0,X1,E,TOL

IF(E.GT.TOL)THEN
X0=X1
GOTO 10
ELSE
PRINT*,'LA RAIZ APROX =',X1
END IF
14 format(I3,3(f18.15,1x),(f6.4,1x))
END SUBROUTINE S_NEWTON
END MODULE NEWTON

module problema1
CONTAINS
subroutine problema_1
PRINT*,''
PRINT*,' De la función del movimiento armónico simple para
un cuerpo'
PRINT*,' que se desplaza con una frecuencia angular
W=1rad/s,DELTA=0 y una'
PRINT*,' amplitud A=2m;y=Acos(Wt+DELTA) Hallar su raíz en [4:6]
mediante'
PRINT*,' el método de la secante con una tolerancia de 0.001'
PRINT*,''
PRINT*,' ECUACION A EVALUAR:F=2*cos(X) '

end subroutine
end module

module problema2
CONTAINS
subroutine problema_2

print*,''
print*,' La concentracion de bacterias contaminantes c en
un lago'
print*,' disminuyede acuerdo con la ecuación C=75e^(-
1.5t)+20e^(-0.075t)'
print*,' Determine el tiempo que se requiere para que la
concentracion de'
print*,' bacterias se reduzca a 15con el uso del método de
newton raphson'
print*,' con una valor inicial de 6 y criterio de detención de
detencion'
print*,' de 0.5%.compruebe que pasa.'
print*,''
print*,'ECUACION A EVALUAR: F=75*EXP(-1.5t)+20*EXP(-0.075*t)'
end subroutine
end module

module problema3
CONTAINS
subroutine problema_3

print*,''
print*,' Una artesa de longitud L tiene una sección
transversal en'
print*,' forma de semicírculo con radio r. cuando se llena
con agua'
print*,' hasta una distancia h desde la parte superior,el
volumen V de'
print*,' agua es: V=L[0.5PIr^2- r^2sin^(-1)(h/r)- h((r^2-h^2 )
)]'
print*,' Suponga que L = 10 pies, r = 1 pie y que v = 12.4
?pies?^3'
print*,' Encuentre la profundidad D del agua en la artesa
dentro de'
print*,' 0.01 pie. Si D = r - c'
print*,''
print*,'ECUACION A EVALUAR:F=10*(0.5*3.14159-1SIN(X)-
X*SQRT(1+X**2))-12.4'
end subroutine
end module
module problema4
CONTAINS
subroutine problema_4

print*,''
print*,' Se sabe que una partícula describe su fuerza según
la ecuación'
print*,' f(t)= x^2 + 5x + 1 Usando el método de falsa
posición.Halle'
print*,' el instante en que la partícula tiene f(x) = 0.
Utilice un error'
print*,' de 0.1 % y trabaje en un intervalo de [-1,3].'
print*,''
print*,'ECUACION A EVALUAR: F= x**2 + 5*x + 1'

end subroutine
end module
module problema5
CONTAINS
subroutine problema_5

print*,' El desplazamiento de una estructura está definido por


la ecuación'
print*,' siguiente para un instante de tiempo
desplamiento(t)=Tan(t)-0.1t+5'
print*,' Halle el instante de tiempo para el cual la particula
avance 5 m'
print*,' En [2:4] mediante el método de newton con una tolerancia
de 0.0001'
print*,''
print*,'ECUACION A EVALUAR: F=Tan(X)-0.1*X+5'

end subroutine
end module
module problema6
CONTAINS
subroutine problema_6

print*,''
print*,' En la siguiente tabla se recogen los datos de la
corriente (I)'
print*,' para los distintos valores del voltaje (V) Determinar
la función'
print*,' que relaciona el voltaje con corriente y además el
voltaje para'
print*,' I=0.0935 A'
print*,' V(V) I(A)'
print*,' 0.1 0.0070'
print*,' 0.2 0.0140'
print*,' 0.3 0.0214'
print*,' 0.4 0.0289'
print*,' 0.5 0.0368'
print*,' 0.6 0.0443'
print*,' 0.7 0.0518'
print*,' 0.8 0.0595'
print*,' 0.9 0.0678'
print*,' 1.0 0.0754'
print*,''

end subroutine
end module
module problema7
CONTAINS
subroutine problema_7

print*,''
print*,' Un estudio sobre polimerización inducida por
radiación,se'
print*,' usó una fuente de rayos gamma para obtener dos
medidas de'
print*,' radiación.No obstante, la dosificación varió con la
posición'
print*,' en el aparato, donde se registraron las siguientes
cifras'
print*,' Calcular la dosificación en la posición 2.35 pulg '
print*,' Posición(pulg) Dosificación (105radg/h)'
print*,' 0 1.90'
print*,' 0.50 2.39'
print*,' 1.00 2.71'
print*,' 1.50 2.98'
print*,' 2.00 3.20'
print*,' 2.50 3.25'
print*,''
end subroutine
end module
module problema8
CONTAINS
subroutine problema_8

print*,''
print*,' Hallar el trabajo realizado por una fuerza F,
sabiendo que'
print*,' W=I(0a0.8)2x^3dxpara N=4 por la regla del trapecio
extendido'
print*,''
print*,'ECUACION A EVALUAR: F=2*X**3'
end subroutine
end module

module problema9
CONTAINS
subroutine problema_9

print*,''
print*,' Hallar el trabajo realizado por una desde x_0=0.2
hasta x_f=1.0'
print*,' sabiendo que la fuerza esta dada por F=x^2/4 para N=4
por la regla'
print*,' 1/3 de Simpson.'
print*,''
print*,'ECUACION A EVALUAR: F=(X**2)/4'
end subroutine
end module
module problema10
CONTAINS
subroutine problema_10

PRINT*,''
PRINT*,' La velocidad con la que viaja un cuerpo en el eje x
está dada'
PRINT*,' por v=dx/dt=(x+1)t+sen(xt), Si en el instante inicial
(t = 0) la'
PRINT*,' posición es x=0.1.Hallar la posición de dicho cuerpo
cuando t=1.2s'
PRINT*,' por el método de EULER, h=0.2, N= 4'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F1=(Y+1)*X+SIN(X*Y)'

end subroutine
end module
module problema11
CONTAINS
subroutine problema_11

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F2=(exp(X**2))*(Y+sin(Y))'

end subroutine
end module
module problema12
CONTAINS
subroutine problema_12

PRINT*,''
PRINT*,' La aceleracion del cerrojo en un mecanismo deslizador-
manivela esta dado'
PRINT*,' por la ecuaion: a=r*w^2(cos(x)+(c*cos(2x)+3sen^4(x))/(1-
c^2sen^2(x))^3/2'
PRINT*,' se desa determinar el angulo x de la manivela,
respecto a una linea'
PRINT*,' que pasa por el punto fijo de la misma, si se conoce
que: a =25 cm/s^2'
PRINT*,' c(cociente de la longitud de la manivela y la
longitud de la barra'
PRINT*,' cerrojo) es 1.3,w (velocidad angular de la manivela
es : 5.6rad/s,r'
PRINT*,' (longitud de la manivela) es 0.8cm la ecuacion a evaluar
resulta'
PRINT*,'E: cos(x)-(1.3cos(2x)+1.3^3sen(^4(x))/(1-
1.3^2sen^2(x))^(3/2))-25/(0.8*5.6)'
PRINT*,''

end subroutine
end module
module problema13
CONTAINS
subroutine problema_13

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F=x**5+3*x**2+7*x+3.57'

end subroutine
end module
module problema14
CONTAINS
subroutine problema_14
PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F=x**3*exp(3*x)-21.00+6*x'

end subroutine
end module
module problema15
CONTAINS
subroutine problema_15

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F=-10*x**5+5*cos(x**2)'

end subroutine
end module
module problema16
CONTAINS
subroutine problema_16

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: 3*x+sin(x)-exp(x)'

end subroutine
end module
module problema17
CONTAINS
subroutine problema_17

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F=x**3-8.6*x**2+22.41*x-16.236'

end subroutine
end module
module problema18
CONTAINS
subroutine problema_18

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: 3*cos(5*x+3.15149)'

end subroutine
end module
module problema19
CONTAINS
subroutine problema_19

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F2=X*(Y+EXP(Y))'

end subroutine
end module
module problema20
CONTAINS
subroutine problema_20

PRINT*,''
PRINT*,' Una partícula se desplaza con una aceleración
a=dv/dt=t(v+e^v)m/s^2'
PRINT*,' en t=0s la velocidad es v=0.1m/s.Calcule la velocidad de
dicha partícula'
PRINT*,' en el instante de tiempo t = 0.417s por el método de
EULER MODIFICADO'
PRINT*,' h=0.0833, n=5 y Es=0.01'
PRINT*,''
PRINT*,'ECUACION A EVALUAR: F2=4.05-0.0005*y+0.0*x'

end subroutine
end module

Potrebbero piacerti anche