programas FORTRAN-77

Embed Size (px)

DESCRIPTION

DESCRIBE LOS PROGRAMA DE FORTRAN-77, COMO PARA SACAR ALGUNA MATRIZ, EL MÉTODO DE NEWTON RAPHSON, ETC.

Citation preview

Program Numeros Implicit none Real*8 a,b,c write (*,*) "En este programa podremos determinar" write (*,*) "el numero mayor dentro de un grupo de 3 numeros" write(*,*) "Por favor ingrese un primer numero" read(*,*) a write(*,*) "Por favor ingrese un segundo numero" read(*,*) b write(*,*) "Por favor ingrese un tercer numero" read (*,*) c if(a.GE.c) then if(a.GE.b) then write(*,*) "El mayor es...", a else write(*,*) "El mayor es...", b end if else if (c.GE.b) then write (*,*) "El mayor es...", c else write (*,*) "El mayor es...", b end if end if end ______________Program Ecuaciones implicit none Real*8 a,b,c,disc,X1,X2 write(*,*) "Este programa encuentra las raices de una ecuacion" write(*,*) "de segundo orden" write(*,*) "Ingrese el primer factor" read(*,*) a write(*,*) "Ingrese el segundo factor" read(*,*) b write(*,*) "Ingrese el tercer factor" read (*,*)c disc=b**2-4.d0*a*c if(disc.GE.0)then X1=(-b+SQRT(disc))/(2.d0*a) X2=(-b-SQRT(disc))/(2.d0*a) write(*,*) "La primera raiz es..", X1 write(*,*) "La segunda raiz es..", X2 else write(*,*) "Las raices son COMPLEJAS" end if end _________________________________________ Program Acomodar integer i,kount,n Real*8 x,dummy Dimension x(3) write(*,*) "A continuacion se le prediran 3 numeros" Do i=1,3 write(*,*) "ingrese numero" read(*,*) x(i) end do n=3 kount=0 6 kount=kount+1 if(kount.GT.(n-1)) go to 10 Do i=1,n-1 if(x(i).LT.x(i+1)) then dummy=x(i+1) x(i+1)=x(i) x(i)=dummy end if end do go to 6 10 Do i=1,3 write(*,*) x(i) end do end -- --- --- -- -- -- -- -- -- -- Program Acomodar integer i,kount,n Real*8 x,dummy Dimension x(6) write(*,*) "A continuacion se le prediran 6 numeros" Do i=1,6 write(*,*) "ingrese numero" read(*,*) x(i) end do n=6 kount=0 6 kount=kount+1 if(kount.GT.(n-1)) go to 10 Do i=1,n-1 if(x(i).LT.x(i+1)) then dummy=x(i+1) x(i+1)=x(i) x(i)=dummy end if end do go to 6 10 Do i=1,6 write(*,*) x(i) end do end _____________________________________________ Program Factorial implicit none real*8 f,c,x integer n,i n=19 write(*,*) 'Da el valor de X' read(*,*) x f=1.d0 c=1.d0 Do i=1,n f=i*f c=c+x**(i)/f end do write(*,*) c end ___________________________________________ Program funseno implicit none integer i,n real*8 x, c, f, d write (*,*) 'este programa calculara el seno de un numero' write (*,*) 'escribe el numero del cual calculara el seno' read (*,*) x n=100 f=1.d0 c=x Do i=1,n f=((2*i+1)*(2*i))*f c=c+((-1)**i)*(x**(2*i+1))/f end do write(*,*) c d=sin(x) write (*,*) 'la correcta es', d end____________________ Program MuchosNumeros Implicit none Integer i,kount,n Real*8 x,m,dummy Parameter (n=100) Dimension x(n) write (*,*) 'D la cantidad de numeros' read (*,*) m write (*,*) 'Ingrese todos los digitos' Do i=1,m read (*,*) x(i) end do kount=0 1 kount= kount+1 if (kount.GT.m) go to 2 do i=1,m-1 if (x(i).lt.x(i+1)) then dummy=x(i+1) x(i+1)= x(i) x(i)=dummy end if end do go to 1 2 do i=1,m write (*,*) x(i) end do end__________________ Program Matrices Real*8 a,x,r,r2 Integer n,i,j,v Parameter (n=3) Dimension x(n),a(n,n),r(n),r2(n) write(*,*) 'Este programa ordenara los numeros dados' write(*,*) 'en un arreglo que llamaremos MATRIZ' Do i=1,n Do j=1,n write(*,*) 'Ingrese los datos por COLUMNAS' read(*,*) a(i,j) end do end do write(*,*) a write(*,*) 'Ahora se pueden hacer operaciones' write(*,*) 'con nuestra matriz, a continuacion...' Do i=1,n write(*,*) 'Ingrese su vector' read(*,*) x(i) end do write(*,*) x write(*,*) 'multipliquemos MATRIZ por VECTOR' Do i=1,n Do j=1,n r(i)=r(i)+x(j)*a(i,j) end do end do write(*,*) r write(*,*) 'multipliquemos VECTOR por MATRIZ' Do i=1,n Do j=1,n r2(i)=r2(i)+x(j)*a(j,i) end do end do write(*,*) r2 end ____________________________________ Program CargarDatos Implicit none Real*8 a Integer i,j Dimension a(2,2) Open(unit=1,File="1.txt",Action="read") Open(unit=2,File="2.txt",Action="write") Do i=1,2 Do j=1,2 read(1,*) a(i,j) end do end do write(2,*)a end_______________________________________ Program Gus implicit none Real*8 a,b,c,disc,X1,X2 call raiz() end subroutine raiz() implicit none Real*8 a,b,c,disc,X1,X2 write(*,*) "Este programa encuentra las raices de una ecuacion" write(*,*) "de segundo orden" write(*,*) "Ingrese el primer factor" read(*,*) a write(*,*) "Ingrese el segundo factor" read(*,*) b write(*,*) "Ingrese el tercer factor" read (*,*)c disc=b**2-4.d0*a*c if(disc.GE.0)then X1=(-b+SQRT(disc))/(2.d0*a) X2=(-b-SQRT(disc))/(2.d0*a) write(*,*) "La primera raiz es..", X1 write(*,*) "La segunda raiz es..", X2 else write(*,*) "Las raices son COMPLEJAS" end if end ________________________________****CON FALLAS EN "CALL SENO"********* Program funseno implicit none real*8 n,x,seno,sen,funci,fact,gus,resu integer i,j parameter(n=100) external funci write (*,*) 'Este programa calculara el seno de un numero' write (*,*) 'Dame el numero del cual se calculara el seno' read (*,*) x call seno(x,resu) sen=funci(x) write(*,*) 'El resultado por subroutine es...',resu write(*,*) 'El resultado por funcion es...',sen write(*,*) 'El resultado por funcion implicita es...', sin(x) END PROGRAM SUBROUTINE seno(x,resu) implicit none real*8 x,gus,resu,fact integer i,j do i=1,100 gus=(2.0*i+1.0) fact=1.d0 do j=i,gus fact=fact*j end do resu=resu+(-1.0)**i*(x**(2.0*i+1.0))/fact end do return end FUNCTION funci(x) implicit none real*8 x,funci,gus,fact integer i,j do i=0,100 gus=(2.0*i+1.0) fact=1.d0 do j=i,gus fact=fact*j end do funci=funci+(-1.0)**i*(x**(2.0*i+1.0))/fact end do return end______________________