Está en la página 1de 3

Mtodos Numricos.

Universidad Autnoma de Chiapas. Facultad de Ingeniera. Apuntes de Mtodos Numricos.


12
//---------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
#include <math.h>
double x1,Tol,n=0,m=0,y1,dy1,x2,y2,dy2,x3,y3,s1,s2;
//aqu solo declaramos las variables inducidas en nuestro
programa.
TForm1 *Form1;
//---------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------//botn calcular raz
void __fastcall TForm1::Button1Click(TObject *Sender)
{
x1=Edit1->Text.ToDouble();
Tol=Edit2->Text.ToDouble();
y1=x1*x1*x1-x1-1;
if(y1==0){
Label3->Caption=AnsiString(x1);
Label4->Caption=AnsiString(y1);
m=1;}
else{
dy1=3*x1*x1-1;
if(dy1==0){
Label5->Caption="x1 es un punto crtico. Seleccione otro valor de
x1.";
m=1;}
else{
x2=x1-(y1/dy1);
n++;}
}
while(m!=1){
y2=x2*x2*x2-x2-1; Universidad Autnoma de Chiapas. Facultad de Ingeniera. Apuntes
de Mtodos Numricos.
13

if(y2==0){
Label3->Caption=AnsiString(x2);
Label4->Caption=AnsiString(y2);
m=1;}
else{
dy2=3*x2*x2-1;
if(dy2==0){
Label5->Caption="x2 es un punto crtico. Seleccione otro valor de
x1.";
m=1;}
else{
x3=x2-(y2/dy2);
n++;
s1= fabs(x2-x1);
s2= fabs(x3-x2);
if(s1==s2){
Label5->Caption="Crculo Vicioso. Seleccione otro valor de x1.";
m=1;}
else if(s2>s1){
Label5->Caption="El mtodo diverge aparentemente. Seleccione otro
valor de x.";
m=1;}
else if (s2<s1&&Tol>s2){
y3=x3*x3*x3-x3-1;
Label3->Caption=AnsiString(x3);
Label4->Caption=AnsiString(y3);
Label5->Caption="Raz aproximada.";
m=1;}
else{
x1=x2;
x2=x3;}
}
}
}
Label6->Caption = "Iteraciones +AnsiString(n);
}
//---------------------------------------------------------------Universidad Autnoma de Chiapas. Facultad de Ingeniera. Apuntes de Mtodos Numricos.
14

//botn reset
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="Observaciones...";
Label6->Caption="";
Edit1->Text="";
Edit1->SetFocus();
Edit2->Text="";
n=0;
m=0;
}
//----------------------------------------------------------------

También podría gustarte