You are on page 1of 5

EXAMEN FINAL DE PROGRAMACIN DE COMPUTADORAS

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)

end subroutine inercia_planeta

end module datos_planeta


PROB. 3:

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

!ingresando los datos de la matriz

write(*,*)' por favor ingresar los de la primera matriz'


do i=1,n
do k=1,m
write(*,*)'ingrese los valores de:','A(',i,k,')'
read(*,*)A(i,k)
end do
end do

write(*,*)' por favor ingresar los de la segunda matriz'

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:

You might also like