Você está na página 1de 4

{Mtodo de Localizao de Zeros}

{O contedo dentro das chaves so comentrios}


Variveis: gama: real; {varivel gama do tipo real }
P[n]: real; {vetor real que armazenar as "n" parties, n o ndice
do vetor}
i: inteiro; {varivel que servir de ndice para a contagem das
iteraes}
a: real; {incio do intervalo}
b: real; {fim do intervalo}
n: inteiro; {nmero de subintervalos dentro do intervalo}
Entradas : f(x); a; b; n {a funo a ser trabalhada}
Comeo
gama=mod(b-a)/n; {gama recebe o mdulo de (b-a) e divide pela
quantidade de subintervalos informados}
P[0]=a; {a partio "zero" cujo ndice est entre colchetes, comea
com o valor de "a", incio do intervalo}
Para i=1 at i=n faa {repetir o que est entre "comeo" e "fim"
abaixo n vezes}
Comeo
P[i]=P[i-1]+gama; {a partio "i" receba a anterior + o valor
de gama}
se f(P[i])*f(P[i-1])<=0 {se o produto do valor da funo da
partio atual pela anterior for menor ou igual a zero,
executar o comando abaixo}
comeo
Armazene o intervalo p[i-1] e p[i] na matriz M;
{armazenar na primeira coluna da matriz M o ponto os
extremos da partio que contm algum zero da funo}
fim
fim
Exibir M; {no final ele exibe a matriz M em q cada linha apresenta os
resultados dos subintervalos que contm os zeros}

{Mtodo do Meio intervalo}


{O contedo dentro das chaves so comentrios}
Variveis: delta: real; {varivel delta do tipo real }
a: real; {incio do intervalo}
b: real; {fim do intervalo}
x: real; {varivel que ser o zero encontrado }
Entradas : f(x); a; b; delta; {a funo a ser trabalhada}
Comeo
Enquanto mod(b-a)>delta faa: {enquanto a condio no for atendida ele
executar os comandos abaixo dentro do comeo e fim}
Comeo
x=(a+b)/2; {calcula o meio do intervalo}
Se f(x)=0
Encerrar o algoritimo; {encerra pois x o zero da
funo}
Seno {se x no e o zero ele faz o teste abaixo para excluir
uma subintervalo a direita ou a esqueda de x}
Se f(a)*f(x)<0
b=x;
Seno
a=x;
fim
fim

{Mtodo da Secante}
{O contedo dentro das chaves so comentrios}
Variveis: delta: real; {varivel delta do tipo real }
a: real; {incio do intervalo}
b: real; {fim do intervalo}
c: real; {varivel auxiliar}
g: real; {auxiliar que recebe o valor da 2 derivada de f}
x[n]: real; {vetor real que armazenar os "n" aproximaes do zero
da funo. n o ndice do vetor}
Entradas : f(x); a; b; delta; {a funo a ser trabalhada}
Comeo
g(x)=f(x); {g receba a 2 derivada de f para fazer o teste abaixo }
Se f(a)*g(a)>0 ento {se passar no teste fazermos o algoritimo da direita
para esquerda... graficamente imaginando}
comeo
c=a;
x[0]=b;
fim
Seno {...seno fazermos da esquerda para direita }
comeo
c=b;
x[0]=a;
fim
x[1] = x[0] - ( f(x[0])/( f(x[0]) - f(c) ) )* (x[0] - c); {aquela conta normal que
se faz no mtodo usando o valor anterior para calcular o valor atual}
n=1; {iniciando o contador dos ndices de x em 1}
Enquanto mod(x[n]-x[n-1])>delta faa; {faz o teste para saber se fatisfaz o
delta ( a condio de parada)}
Comeo
n=n+1; {incrementa o n para calcular a prxima
aproximao de x.
x[n] = x[n-1] - ( f(x[n-1])/( f(x[n-1]) - f(c) ) )* (x[n-1] - c);
{calcular os n-simas aproximaes do zero
fim
Exibir x[n]; {exibe o ultimo valor do vetor x, com a aproximao que atende
o delta}
fim

{Mtodo de Newton}
{O contedo dentro das chaves so comentrios}
Variveis: delta: real; {varivel delta do tipo real}
a: real; {incio do intervalo}
b: real; {fim do intervalo}
g: real; {auxiliar que recebe o valor da 2 derivada de f}
h: real; {auxiliar que recebe o valor da 1 derivada de f}
x[n]: real; {vetor real que armazenar os "n" aproximaes do zero
da funo. n o ndice do vetor}
Entradas : f(x); a; b; delta; {a funo a ser trabalhada}
Comeo
g(x)=f(x); {g receba a 2 derivada de f para fazer o teste abaixo }
Se f(a)*g(a)>0 ento {se passar no teste fazermos o algoritimo da direita
para esquerda... graficamente imaginando}
comeo
x[0]=a;
fim
Seno {...seno fazermos da esquerda para direita }
comeo
x[0]=b;
fim
x[1] = x[0] - f(x[0])/( h(x[0]); {aquela conta normal que se faz no mtodo
usando o valor anterior para calcular o valor atual}
n=1; {iniciando o contador dos ndices de x em 1}
Enquanto mod(x[n]-x[n-1])>delta faa; {faz o teste para saber se fatisfaz o
delta ( a condio de parada)}
Comeo
n=n+1; {incrementa o n para calcular a prxima
aproximao de x.
x[n] = x[n-1] - f(x[n-1])/( h(x[n-1]);
{calcular os n-simas
aproximaes do zero
fim
Exibir x[n]; {exibe o ultimo valor do vetor x, com a aproximao que atende
o delta}
fim

Você também pode gostar