Sei sulla pagina 1di 2

FUN:='0.2*SIN(16*X)-X+1.

75';
DER:='3.2*COS(16*X)-1';

EXPORT JHOSEE()
BEGIN
LOCAL X_I,A_I,B_I;
LOCAL X_F:=1,A_F:=1,B_F:=2;
LOCAL COND, COND1,COND2,COND3 ;
LOCAL CUMPLE_2,CUMPLE_1;
LOCAL EFA,ERR;
REPEAT
X_I:=X_F;
A_I:=A_F;
B_I:=B_F;
X:=X_I;
COND1:=EVAL(DER);
X:=X_I;
COND:=EVAL(FUN);
X:=A_I;
EFA:=EVAL(FUN);
COND2:=(A_I-X_I)*COND1;
COND3:=(B_I-X_I)*COND1;

//*************************************************
IF COND1>=0 AND (COND2+COND)<=0 AND (COND3+COND)>= 0 THEN
CUMPLE_1:=1;
ELSE
CUMPLE_1:=0;
END;

IF COND1<=0 AND (COND2+COND>=0) AND (COND3+COND)<=0 THEN


CUMPLE_2:=1;
ELSE
CUMPLE_2:=0;
END;
//*************************************************
IF CUMPLE_1==1 OR CUMPLE_2==1 OR COND==0 THEN
MSGBOX("NEW");
X_F:=X_I-COND/COND1;
ERR:=ABS(X_I-X_F);
X_I:=X_F;
IF EFA*COND<0 THEN
B_F:=X_I;
ELSE
A_F:=X_I;
END;
ELSE
MSGBOX("BISEC");
X_F:=0.5*(A_I+B_I);
ERR:=ABS(X_I-X_F);
X_I:=X_F;
IF EFA*COND<0 THEN
B_F:=X_I;
ELSE
A_F:=X_I;
END;

END;
//*************************************************
UNTIL ERR<=0.0001;
INPUT(X_F);
END;

Potrebbero piacerti anche