Professional Documents
Culture Documents
PROB. 1:
PROGRAMA PRINCIPAL
program inercia_tierra
use datos_planeta
implicit none
real::I
call inercia_planeta(M,Rm,I)
write(*,*)'la inercia de la tierra es:',I
end program
MODULO
module datos_planeta
save
real, parameter::Rm=50000
real, parameter::REc=4000
real, parameter::V=3000
real, parameter::M=2000
real, parameter::Dm=2/3
contains
subroutine inercia_planeta(M,Rm,I)
real, intent(in)::M
real, intent(in)::Rm
real, intent(out)::I
I=0.50*(Rm**2)*(M)
program multiplicacion_matrix
implicit none
integer:: i,j,k
real,allocatable:: A(:,:),B(:,:),C(:,:)
integer::Ierr,n,m,l
write(*,*)'introduce la dimension de la primera matriz'
read(*,*) n
read(*,*)m
write(*,*)''
write(*,*)'introduce la dimension de la segunda matriz'
write(*,*)m
read(*,*)l
allocate(A(n,m),stat=Ierr)
allocate(B(m,l),stat=Ierr)
allocate(c(n,l),stat=Ierr)
if (Ierr>0) stop
do k=1,m
do j=1,l
write(*,*)'ingrese los valores de:','B(',k,j,')'
read(*,*)B(k,j)
end do
end do
!realizando la operacion
do i=1,n
do j=1,l
C(i,j)=0
do k=1,m
C(i,j)=C(i,j)+A(i,k)*B(k,j)
end do
end do
end do
!resultado
write(*,*)''
write(*,*)'el resultado es la siguiente matriz:'
write(*,*)''
do i=1,n
write(*,*) (C(i,j),j=1,l)
end do
end program
PROB. 2: