Documentos de Académico
Documentos de Profesional
Documentos de Cultura
! EJERCICIO - 2 - EXAMEN
! prim: contador de primos
! m y n variables de una división
! x: limite inferior
! y: limite superior
implicit none
integer::m,x,y,prim,w,z,i
print*,"Insertar el límite inferior"
read(*,*) x
print*, "Insertar el límite superior"
read(*,*) y
prim=0
do m=x,y
w=0
do i=1,m
z=mod(m,i)
if (z==0) then
w=w+1
end if
end do
! Un número primo solo se puede dividir entre 1 y entre sí mismo, quiere decir que "el
primo", w tiene que ser 2
if (w==2) then
prim=prim+1
print*,"Primo: ",m
end if
end do
print*,"Se encontraron ",prim," primos."
end
PRUEBA DE ESCRITORIO:
DE 100 A 200:
DE 200 A 300:
program Thomas
! Pedro Azañedo
! EJERCICIO - 3 - EXAMEN
! Este programa halla los valores de variables de un vector con el algoritmo de thomas
implicit none
! i,P contadores
! n numero de icognitas para hallar su valor
integer:: i,P,n
real:: M
! a diagonal debajo de la principal
! B diagonal principal
! C diagonal encima de la principal
! D vector despues de la igualdad
! X vector con las icognitas a descubrir
! resultado = resultado de las incognitas
real,allocatable :: a(:),resul(:),b(:),c(:),d(:),X(:)
! introducimos el numero de incognitas
write(*,*)"Ingresar el numero de incognitas: "
read(*,*)n
! generamos la matriz tridiagonal
allocate (a(n),resul(n),b(n),c(n),d(n),X(n))
write(*,*)'Ingresar los valores de la diagonal principal'
! valores para la diagonal principal
do i=1,n,1
write(*,*)'Introducir el valor de:(', i,',', i,'):'
read(*,*)b(i)
end do
! valores para la diagonal que esta por encima de la diagonal principal
write(*,*)'Ingresar los valores de la diagonal que esta por encima de la diagonal
principal '
do i=1,n-1,1
write(*,*)'Ingresar el valor de:(', i,',', i+1,'):'
read(*,*)c(i)
end do
c(n)=0
! valores para la diagonal que esta por debajo de la diagonal principal
write(*,*)'Ingresar los valores de la diagonal que esta por debajo de la diagonal
principal'
do i=2,n,1
write(*,*)'Ingresar el valor de:(', i-1,',', i,'):'
read(*,*)a(i)
end do
a(1)=0
! datos del vector despues de la igualdad
write(*,*)'Ingresar los valores del vector que esta despues de la igualdad'
do i=1,n,1
write(*,*)'Ingresar el valor de:(', i,'):'
read(*,*)d(i)
end do
! calculo de las icognitas
do P=2,n,1
M=a(P)/b(P-1)
b(P)=b(P)-M*c(P-1)
d(P)=d(P)-M*d(P-1)
end do
resul(n)=d(n)/b(n)
do P=n-1,1,-1
resul(P)=(d(P)-c(P)*resul(P+1))/b(P)
end do
write(*,*)'Los valores de las variables X1, X2, X3, X4 son respectivamente:'
write(*,*)resul
end
El resultado es:
program problema4
! Pedro Azañedo
! EJERCICIO - 4 - EXAMEN
!q=suma 1
!suma= suma 2
implicit none
real,external::f
real::x1,x2,h,q,area,suma
integer::n,i
read*,x1
read*,x2
read*,n
!proceso
h=(x2-x1)/n
q=(h/2.)*(f(x1)+f(x2))
suma=0
do i=1,n-1
suma=suma+h*f(x1+i*h)
enddo
area=q+suma
end
f=(-0.72)*x**2+ (7.2)*x-(9.2)
end
PRUEBA DE ESCRITORIO:
ogram num_imp
! Pedro Azañedo
! EJERCICIO - 5 - EXAMEN
! i: parametro
implicit none
integer::x,i,y
do i=2,26
x=mod(i,2)
if (x/=0)then
y=i**3
if(y>4000)then
write(*,*)i
end if
end if
end do
end
PRUEBA DE ESCRITORIO: