Buscar

Programa Método de Cordas - HP prime

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

LOCAL F1a(a)
BEGIN
LOCAL fa:= F1(a);
RETURN fa;
END;
//////////////////////
LOCAL F1b(b)
BEGIN
LOCAL fb:= F1(b);
RETURN fb;
END;
///////////////////////
LOCAL F1x(x)
BEGIN
LOCAL fx:= F1(x);
RETURN fx;
END;
///////////////////////
///
///
EXPORT Método_de_Cordas()
BEGIN
LOCAl a,b,erro;
PRINT();
INPUT({{a,[0],{25,15,1}},{b,[0],{25,15,2}},{erro,[0],{25,15,3}}},
"Método de Cordas",{"Intervalo a:","Intervalo b:","Erro:"},
{"Digite o primeiro intervalo!","Digite o segundo intervalo!","Informe o erro!"}
);
LOCAL fa:= F1a(a);
LOCAL fb:= F1b(b);
////////////////////////////////
IF (fa:= F1a(a))>0 THEN
LOCAL c:=a;
a:=b;
b:=c;
END;
fa:= F1a(a);
fb:= F1b(b);
////////////////////////////////
LOCAL x,fx,i;
i:=0;
PRINT("i: "+i);
PRINT("a: "+a);
PRINT("fa: "+fa);
PRINT("b: "+b);
PRINT("fb: "+fb);
x:= (a - ((fa/(fb-fa))*(b-a)));
PRINT("x: "+x);
PRINT("fx: "+F1x(x));
PRINT("\n");
REPEAT
x:= (a - ((fa/(fb-fa))*(b-a)));
fx:= F1x(x); 
IF fx>0 THEN
b:=x;
END;
IF fx<0 THEN
a:=x;
END;
fa:= F1a(a);
fb:= F1b(b);
x:= (a - ((fa/(fb-fa))*(b-a)));
fx:= F1x(x); 
i:=i+1;
PRINT("i: "+i);
PRINT("a: "+a);
PRINT("fa: "+fa);
PRINT("b: "+b);
PRINT("fb: "+fb);
PRINT("x: "+x);
PRINT("fx: "+F1x(x));
PRINT("\n");
UNTIL (ABS(fx)<erro);
Print("Valor da raiz: "+x);
END;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando