Está en la página 1de 7

program problema2

! 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

PROBAMOS CON EL SIGUIENTE EJEMPLO:

El resultado es:
program problema4

! Pedro Azañedo

! EJERCICIO - 4 - EXAMEN

!x1= limite infeior

!x2= limite superior

!h= incremento de la varible x

!n= numero de trapecios

!area= suma de areas total

!q=suma 1

!suma= suma 2

implicit none

real,external::f

real::x1,x2,h,q,area,suma

integer::n,i

print*,'Metodo de trapecio para hallar areas'

print*,'Introduzca el limite inferior a integrar,x1: '

read*,x1

print*,'Introduzca el limite superior a integrar,x2: '

read*,x2

print*,'Introduzca el numero de trapecios a trabajar,n: '

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

print*,'La respuesta usando el metodo del trapecio es: ',area

end

!ponemos la funcion que nos da la pregunta

real function f(x)

f=(-0.72)*x**2+ (7.2)*x-(9.2)

end

PRUEBA DE ESCRITORIO:
ogram num_imp

! Pedro Azañedo

! EJERCICIO - 5 - EXAMEN

! El programa arrojará de manera instantanea los 5 primeros primos que cumplen

! con la condición que indica el ejercicio

! 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:

También podría gustarte