Você está na página 1de 5

FACULTAD DE INGENIERA

Mtodos Numricos

ESTUDIANTES:
Ivania Aguirre
Esteban Ros
Marcos Silva
Damin Trelles

CUARTO CICLO

FECHA:

Jueves, 23 de marzo del 2017

Cuenca-Ecuador
MTODO DE BISECCIN
PSEUDOCDIGO
Algoritmo
Mtodo de la biseccin para obtener races de una f(x)=0, conociendo que f(a) *
f(b) < 0
Datos de entrada
f(x) = funcin
a,b= intervalo de bsqueda de la raz
Tol =tolerancia
nmax = nmero mximo de iteraciones
Salida del algoritmo
Mensaje de fracaso: Se ha sobre pasado el nmero mximo de iteraciones
Mensaje de la respuesta: La raz de la funcin es:, p
Pasos
Paso 1: i=1
Paso 2: Mientras (i <= nmax) Entonces
Paso 3: p = (a+b)/2
Paso 4: Si (|f(p)| < Tol) entonces
Paso 5: SALIDA: La raz de la funcin es:, p
Paso 6: PARAR
Paso 7: si (f(a) * f(b) < 0) entonces
Paso 8: b=p
Si no
Paso 9: a=p
Paso 10: i=i+1
Paso 11: si i>nmax
Paso 11: SALIDA: Se ha sobre pasado el nmero mximo de
iteraciones
Paso 12: PARAR

2
ALGORITMO EN PYTHON

#Definicion de la funcin
def f(x):
return ((x**2)-(4*x)+4)
print ( METODO DE BISECCION )

#Declaracion de variables
a= int (input (Ingrese el valor minimo del intervalo))
b= int (input (Ingrese el valor maximo del intervalo))
tol= float (input(Ingrese la tolerancia))
nmax= int(input(Ingrese el numero maximo de iteraciones))

#Pasos del algoritmo


i=1
while (i<= nmax) :
p=(a+b)/2
if (abs( f(p) ) < tol):
print (La raiz de la funcion es: , p)
break
elif (( f(a) * f(p) < 0):
b=p
else:
a=p
i=i+1
if (i>nmax) :
print (Se ha sobrepasado el numero de iteraciones)

3
ALGORITMO EN FORTRAN

!Definicion de la funcion
function f(x)
real f,x
f= ((x**2)-(4*x)+4)
return
end function f

program biseccion
! Declaracion de variables
real a
real b
real tol
integer max

!Pasos del algoritmo


write (*,*) Metodo de Biseccion
write (*,*) Ingrese el valor minimo del intervalo:
read (*,*) a
write (*,*) Ingrese el valor maximo del intervalo:
read (*,*) b
write (*,*) Ingrese la tolerancia:
read (*,*) tol
write (*,*) Ingrse el numero maximo de iteraciones
read (*,*) nmax
i=1
while (i.le.nmax)do
p=(a+b)/2
if (abs (f(p).le.nmax)do
write (*,*) La raz de la funcion es: p
stop
elseif (f(a)*f(p).le.0) then
b=p
else
a=p
endif
i=i+1
endwhile
if(i.gt.nmax)then
write (*,*) Se ha sobrepasado el numero de iteraciones
endif
end program

4
PRUEBAS DE ESCRITORIO

Figura 1. Prueba de escritorio para el algoritmo de Mtodo de Biseccin en Python

Figura 2. Prueba de escritorio para el algoritmo de Mtodo de Biseccin en Fortran

Você também pode gostar