Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos numéricos
int main(){
int a, b, i=1, x=1;
float r;
inicio:
system("CLS");
textcolor(MAGENTA);
gotoxy(15,2);
cout<<"Integral Definida de A a B para";
gotoxy(24,4);
textcolor(CYAN);
cout<<"~ "<<char(159)<<"(x)=x"<<char(253)<<"dx ~";
textcolor(WHITE);
gotoxy(3,6); cout<<"Inserte el valor inferior(a) ";
cout<<char(26)<<" | | ";
gotoxy(3,7); cout<<"Inserte el valor superior(b) ";
cout<<char(26)<<" | | ";
gotoxy(3,9); cout<<"---------------resultado--------------";
textcolor(LIGHTCYAN);
gotoxy(35,6); cin>>a;
gotoxy(35,7); cin>>b;
if(a>0&&b>0&&a<b){
r=((b*b*b)/3)-((a*a*a)/3);
textcolor(LIGHTGRAY);
gotoxy(3,11); cout<<"(b"<<char(252)<<"/3)-(a"<<char(252)<<"/3) = ";
textcolor(LIGHTMAGENTA); printf("%0.4f",r);
salida:
textcolor(WHITE);
gotoxy(3,13); cout<<"Desea hacer otro calculo? [1]SI ||[2]NO";
textcolor(LIGHTCYAN);
gotoxy(15,14); cout<<char(26)<<" | | "<<char(27);
gotoxy(19,14); cin>>i;
if(i<0&&i>2){
system("CLS");
textcolor(LIGHTRED);
gotoxy(12,2); cout<<"Opcion no valida =(";
textcolor(WHITE);
goto salida;
}
else{
system("CLS");
textcolor(LIGHTCYAN);
gotoxy(12,5); cout<<"Hasta luego UwU";
}
}
else{
textcolor(LIGHTRED);
system("CLS");
parpadeo:
if(x<=5){
gotoxy(15,5); cout<<"Error =(";
Sleep(200);
system("CLS");
Sleep(100);
x++;
goto parpadeo;
}
}
if(i==1) goto inicio;
getch();
return(0);
}
Resultado en pantalla:
Método del trapecio múltiple
//método trapecio compuesto
#include<iostream>
#include<conio.h>
#include<windows.h>
#include<math.h>
#include<C:\Users\ferch\Desktop\tareas\metodos\NewLibs\artist.h>
using namespace std;
int main(){
int a,b,i=1,k,c=5578, j=1, cua, lin, con, alt;
char op;
float res, ea, an=0, aa, bb, aux, h, n, fa, fb;
while(j==1){
do{
k=1;
latabla();
integralvacia();
gotoxy(3,7); cout<<"Dame el valor >A<";
gotoxy(6,12); cin>>cua;
gotoxy(3,7); cout<<"Dame el valor >B<";
gotoxy(11,12); cin>>lin;
gotoxy(3,7); cout<<"Dame el valor >C<";
gotoxy(15,12); cin>>con;
gotoxy(3,7); cout<<"Dame el valor >b<";
gotoxy(5,14);cin>>b;
if(b<0){
error(50,15,5);
}
else{
gotoxy(3,7); cout<<"Dame el valor >a<";
gotoxy(5,10); cin>>a;
gotoxy(3,7); cout<<"cantidad de poligonos n=";
gotoxy(28,7);cin>>n;
if(a<=b){
error(50,15,5);
}
else{
if(b==555 && a==666){
gotoxy(20,20); cout<<"Hasta luego =D";
return 0;
}
aa=((cua*pow(a,3))/3)+((lin*a*a)/2)+con*a;
bb=((cua*pow(b,3))/3)+((lin*b*b)/2)+con*b;
res=aa-bb;
h=(a-b)/n;
aux=0;
alt=8;
for(float pollo=b+h;pollo<a;pollo=pollo+h){
fa=function(cua, lin, con, pollo);
aux=aux+fa;
gotoxy(50,alt); printf("%.2f || %.2f",pollo,fa);
alt++;
}
fa=function(cua, lin, con, a);
fb=function(cua, lin, con, b);
an=(h/2)*(fb+(2*aux)+fa);
ea=fabs(an-res);
gotoxy(3,16); cout<<"a = "<<a<<" "<<char(159)<<"(a) = "<<fa<<" Aa =
"<<res;
gotoxy(3,17); cout<<"b = "<<b<<" "<<char(159)<<"(b) = "<<fb<<" Ea = ";
printf("%.2f",ea);
getch();
do{
gotoxy(3,20); cout<<"Desea continuar? >| |<";
gotoxy(3,21); cout<<">S/N<";
gotoxy(23,20);cin>>op;
switch(op){
case 's':
case 'S':
k++;
break;
case 'n':
case 'N':
j++;
k++;
break;
default:
error(15,21,2);
k=1;
break;
}
}while(k==1);
}
}
i=j;
}while(i==1);
}
gotoxy(20,20); cout<<"Hasta luego =D";
gotoxy(1,26);
return 0;
}
Resultado en pantalla:
#include<iostream>
#include<conio.h>
#include<math.h>
#include<C:\Users\ferch\Desktop\tareas\metodos\NewLibs\artist.h>
using namespace std;
void integralbomnita(){
gotoxy(4,9); cout<<char(159)<<"="<<"[ ]"<<"x"<<char(253)<<"+[ ]x+[ ]";
}
int clear(int fin){
textbackground(WHITE);
for(int n=8;n<=fin;n++){
for(int m=47;m<80;m++){
gotoxy(m,n); cout<<" ";
}
Sleep(50);
}
}
float f(float a, float b, float c, float x){
return ((a*x*x)+(b*x)+c);
}
int main(){
int j=1, i=1, op, lit, cont,da;
char mens;
float cua, lin, con, root, fa, fb, roota, rootb, ep,a, b, x, y;
float pi[50], ec[50];
char opc;
while(j==1){
i=1;
latabla();
integralbomnita();
gotoxy(3,7); cout<<"Dame el valor >Cuadrado< ";
gotoxy(7,9); cin>>cua;
gotoxy(3,7); cout<<"Dame el valor >Lineal< ";
gotoxy(15,9); cin>>lin;
gotoxy(3,7); cout<<"Dame el valor >constante<";
gotoxy(23,9); cin>>con;
do{
gotoxy(3,7); cout<<"Dame el valor [b] --> ";
gotoxy(25,7);cin>>b;
gotoxy(3,7); cout<<"Dame el valor [a] --> ";
gotoxy(25,7); cin>>a;
if(a>b) i++;
else{ error(30,7,3);
}
}while(i==1);
gotoxy(3,7); cout<<"Dame el error propuesto: ";
cin>>ep;
gotoxy(3,7); cout<<"Dame un limite de itineraciones: ";
cin>>lit;
i=1;
fa=f(cua,lin,con,a);
fb=f(cua,lin,con,b);
root=fa*fb;
textcolor(BLUE);
gotoxy(4,11); cout<<char(159)<<"a = "<<fa;
gotoxy(4,12); cout<<char(159)<<"b = "<<fb;
gotoxy(2,14);
textcolor(BLACK);
if(root>0){
cout<<"La funcion "<<char(159)<<"(x)=";
}
else{
cout<<"para "<<char(159)<<"(x)=";
}
textcolor(BLUE);
if(cua!=0) cout<<cua<<"x"<<char(253);
if(lin>0) cout<<"+"<<lin<<"x";
if(lin<0) cout<<lin<<"x";
if(con<0) cout<<con;
if(con>0) cout<<"+"<<con;
if(root<0){
roota=(-(lin)+sqrt(pow(lin,2)-4*cua*con))/(2*cua);
rootb=(-(lin)-sqrt(pow(lin,2)-4*cua*con))/(2*cua);
if(roota>b && roota<a) root=roota;
else root=rootb;
x=a;
y=b;
i=1;
pi[i]=(x+y)/2;
ec[i]=fabs(root-pi[i]);
if(ec[i]>ep){
if(pi[i]<root) y=pi[i];
}
else x=pi[i];
textcolor(48);
gotoxy(2,13); printf("La raiz es %.6f, o bien %.2f", pi[i], root);
gotoxy(2,14); printf("con un error de %.6f", ec[i]);
gotoxy(2,15); printf("Encontrada en la iteracion: %d", i);
gotoxy(2,16); printf("Entre los valores: %.2f y %.2f",b,a);
tabla:
gotoxy(2,17); cout<<"[m] tabla || [f] terminar";
opc=getch();
}
else{
textcolor(RED);
cout<<" NO";
textcolor(BLACK);
cout<<" tiene raiz en "<<b<<", "<<a;
}
Beep(440,500);
i=1;
do{
textcolor(BLACK);
textbackground(WHITE);
gotoxy(2,22);cout<<"Desea hacer otro calculo? [1]Si || [2] no ";
gotoxy(4,23);cout<<"--> "; cin>>op;
if(op<1 || op>2){
error(10,24,3);
}
else{
i++;
}
}while(i==1);
j=op;
}
gotoxy(30,20); cout<<"Hasta lueguito =D";
gotoxy(1,26);
return 0;
}
Resultado en pantalla:
//metodo simpson multiple
#include<iostream>
#include<conio.h>
#include<math.h>
#include<C:\Users\ferch\Desktop\tareas\metodos\NewLibs\artist.h>
using namespace std;
void integralbomnita();
int n,lin,col,c,A,B,C,i;
float pi,ep,ec,fxi,f_xi,xii;
int tang(){
for(lin=9;lin<=21;lin++)
{
textcolor(BLACK);
gotoxy(7,lin);printf("%c",186);
gotoxy(30,lin);printf("%c",186);
gotoxy(45,lin);printf("%c",186);
gotoxy(60,lin);printf("%c",186);
gotoxy(69,lin);printf("%c",186);
}
for(col=4;col<=77;col++)
{
textcolor(BLACK);gotoxy(col,11);printf("%c",205);
}
textcolor(MAGENTA);
gotoxy(7,11);printf("%c",206);
gotoxy(30,11);printf("%c",206);
gotoxy(45,11);printf("%c",206);
gotoxy(60,11);printf("%c",206);
gotoxy(69,11);printf("%c",206);
textcolor(7);gotoxy(4,9);printf("N°");
gotoxy(14,9);printf("Pi");
gotoxy(36,9);printf("F(xi)");
gotoxy(49,9);printf("F'(xi)");
gotoxy(63,9);printf("xi+1");
gotoxy(72,9);printf("Ec");
i=1;
do{
for(int filas=12;filas<=21;filas++)
{
gotoxy(4,filas);printf(" ");
gotoxy(8,filas);printf(" ");
gotoxy(31,filas);printf(" ");
gotoxy(46,filas);printf(" ");
gotoxy(61,filas);printf(" ");
gotoxy(70,filas);printf(" ");
}
lin=12;
do
{
Sleep(100);
gotoxy(4,lin);printf("%d",i);
Sleep(100);
gotoxy(8,lin);printf("%0.4f",pi);
fxi=F(pi);
Sleep(100);
gotoxy(31,lin);printf("%.4f",fxi);
f_xi=Fd(pi);
gotoxy(46,lin);printf("%.4f",f_xi);
xii=pi-(fxi/f_xi);
Sleep(100);
gotoxy(61,lin);printf("%.4f",xii);
ec=fabs(xii-pi);
Sleep(100);
gotoxy(70,lin);printf("%.4f",ec);
pi=xii;
lin++;
i++;
}while(lin<=21 && i<=n && ep<ec);
getch();
}while(i<=n && ep<ec);
getch();
latabla();
if (i>n){
gotoxy (15,7); printf ("\n raiz inexistente en este numero de iteraciones");}
else {
i--;
gotoxy (15,7); printf("\nLa raiz aproximada es: %.4f encontrada en el numero de interacion: %d",xii,i);}
Dd
Resultado en pantalla: