ProgCmasmas U V MetNum

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

// Programa hecho por Ing.

Marco Antonio Aguilar Suarez


// programa que deriva una funcion tabulada con la formula de dos
puntos
// progresiva y regresiva:
// f'(x) = (f(x+h)-f(x))/h y f'(x) = - (f(x-h)-f(x))/h, respectivamente.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip> // Manipuladores de flujo parametrizados
#include<cmath>
#include<ctype.h>
double f(double);
const int npm = 100;
void gotoxy(int column, int line)
{
COORD coord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
using
using
using
using
using
using

std::cout;
std::cin;
std::endl;
std::fixed;
std::setprecision; // Asigna la precision de la salida numerica.
std::setw;

int main()
{
double h, x[npm], y[npm], dy[npm] ;
int n, i;
system("cls");
system("color 4E");
gotoxy(15,1);
cout<<"programa que deriva una funcion tabulada con la
formula"<<endl;
gotoxy(15,2);
cout<<"de dos puntos progresiva y regresiva:";

gotoxy(15,3);
cout<<"f'(x) = (f(x+h)-f(x))/h y f'(x) = - (f(x-h)-f(x))/h,";
gotoxy(15,4);
cout<<"respectivamente.";
gotoxy(15, 6);
cout<<"Escriba el numero de datos: "; cin>> n;
gotoxy(15, 8);
cout<<"Escriba la funcion tabulada (x, y):"<<endl<<endl;
for(i = 1; i <= n; i++)
{
cout<<"\t\t\tx["<<i<<"] = "; cin>> x[i];
cout<<"\t\t\ty["<<i<<"] = "; cin>> y[i];
}
cout<<endl<<endl<<"\t\tEscribe el incremento h = "; cin>> h;
cout<<endl<<"\t\tLas derivadas para cada valor de x
son:"<<endl<<endl;
cout<<"\t\t\tx\ty\tdy/dx"<<endl;
for(i = 1; i <= n-1; i++)
dy[i] = (y[i+1] - y[i])/h;
dy[n] = - (y[i-1] - y[n])/h;
for(i = 1; i <= n; i++)
cout<<"\t\t\t"<<x[i]<<"\t"<<y[i]<<"\t"<<dy[i]<<endl;
cout<<endl<<"\t\t";
system("pause");
return 0;
}
double f(double x)
{
return 0;
}

//ProgramahechoporIng.MarcoAntonioAguilarSuarez
//programaquederivaunafunciontabuladaconlaformuladetres
puntos
//progresiva,centralesyregresiva.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublef(double);
constintnpm=100;
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisiondelasalida
numerica.
usingstd::setw;
intmain()
{
doubleh,x[npm],y[npm],dy[npm];
intn,i;
system("cls");
system("color4E");
gotoxy(16,2);
cout<<"Programaquederivaunafunciontabulada";
gotoxy(16,3);
cout<<"conlaformuladetrespuntos.";
gotoxy(16,4);
cout<<"prograsiva,centralesyregresiva.";
gotoxy(16,6);
cout<<"Escribaelnumerodedatos:";cin>>n;
if(n>=3)
{
gotoxy(16,8);
cout<<"Escribalafunciontabulada(x,y):"<<endl<<endl;

for(i=1;i<=n;i++)
{
cout<<"\t\t\tx["<<i<<"]=";cin>>x[i];
cout<<"\t\t\ty["<<i<<"]=";cin>>y[i];
}
cout<<endl<<endl<<"\t\tEscribeelincrementoh=";cin>>
h;
cout<<endl<<"\t\tLasderivadasparacadavalordex
son:"<<endl<<endl;
cout<<"\t\t\tx\ty\tdy/dx"<<endl;

if(n==3)
{

dy[1]=1/(2*h)*(3*y[1]+4*y[2]y[3]);

dy[2]=1/(2*h)*(y[1]+y[3]);

dy[3]=1/(2*h)*(3*y[3]+4*y[2]y[1]);
}
else
{

for(i=1;i<=n2;i++)

dy[i]=1/(2*h)*(3*y[i]+4*y[i+1]y[i+2]);

dy[n1]=1/(2*h)*(y[n2]+y[n]);

dy[n]=1/(2*h)*(3*y[n]+4*y[n1]y[n2]);
}
for(i=1;i<=n;i++)

cout<<"\t\t\t"<<x[i]<<"\t"<<y[i]<<"\t"<<dy[i]<<endl;
}
else
{
cout<<endl<<"\t\tNoesposibleutilizarlasformulasde
cincopuntos,"<<endl;
cout<<"\t\tparatodoslosdatos.Utiliceunaformulademenos
puntos."<<endl;
}
cout<<endl<<"\t\t";
system("pause");
return0;
}
doublef(doublex)
{
return0;
}

//ProgramahechoporIng.MarcoAntonioAguilarSuarez
//programaquederivaunafunciontabuladaconlaformuladecinco
puntos
//progresiva,centralesyregresiva:
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublef(double);
constintnpm=100;
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisiondelasalida
numrica.
usingstd::setw;
intmain()
{
doubleh,x[npm],y[npm],dy[npm];
intn,i,m,j;
system("cls");
system("color4E");
gotoxy(16,2);
cout<<"Programaquederivaunafunciontabulada";
gotoxy(16,3);
cout<<"conlaformuladecincopuntos.";
gotoxy(16,4);
cout<<"progresiva,centralesyregresiva.";
gotoxy(16,6);
cout<<"Escribaelnumerodedatos:";cin>>n;

if(n<=5)
{

cout<<endl<<"\t\tNoesposibleutilizarlasformulasde
cincopuntos,"<<endl;
cout<<"\t\tparatodoslosdatos.Utiliceunaformulademenos
puntos."<<endl;
}
else
{
gotoxy(16,8);
cout<<"Escribalafunciontabulada(x,y):"<<endl<<endl;
for(i=1;i<=n;i++)
{
cout<<"\t\t\tx["<<i<<"]=";cin>>x[i];
cout<<"\t\t\ty["<<i<<"]=";cin>>y[i];
}
cout<<endl<<endl<<"\t\tEscribeelincrementoh=";cin>>
h;
cout<<endl<<"\t\tLasderivadasparacadavalordex
son:"<<endl<<endl;
cout<<"\t\t\tx\ty\tdy/dx"<<endl;

if(n==6)
{
for(i=1;i<=2;i++)

dy[i]=1/(12*h)*(25*y[i]+48*y[i+1]
36*y[i+2]+16*y[i+3]3*y[i+4]);

for(i=n;i>=5;i)

dy[i]=1/(12*h)*(25*y[i]+48*y[i1]36*y[i
2]+16*y[i3]3*y[i4]);

dy[3]=1/(12*h)*(y[1]8*y[2]+8*y[4]y[5]);

dy[4]=1/(12*h)*(y[2]8*y[3]+8*y[5]y[6]);
}
if(n==7)
{

for(i=1;i<=3;i++)

dy[i]=1/(12*h)*(25*y[i]+48*y[i+1]
36*y[i+2]+16*y[i+3]3*y[i+4]);

for(i=n;i>=5;i)

dy[i]=1/(12*h)*(25*y[i]+48*y[i1]36*y[i
2]+16*y[i3]3*y[i4]);

dy[4]=1/(12*h)*(y[2]8*y[3]+8*y[5]y[6]);
}
if(n>=8)
{

m=n5;

for(i=1;i<=m+1;i++)

dy[i]=1/(12*h)*(25*y[i]+48*y[i+1]
36*y[i+2]+16*y[i+3]3*y[i+4]);

for(j=n;i>=n3;i)


dy[j]=1/(12*h)*(25*y[j]+48*y[j1]36*y[j2]+16*y[j
3]3*y[j4]);
}
for(i=1;i<=n;i++)

cout<<"\t\t\t"<<x[i]<<"\t"<<y[i]<<"\t"<<dy[i]<<endl;
}
cout<<endl<<"\t\t";
system("pause");
return0;
}
doublef(doublex)
{
return0;
}

//Programaqueresuelveintegralesdefinidas
//haciendousodelMetododelTrapecio,parantrapecios.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublefx(double);
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisi?ndelasalida
numrica.
usingstd::setw;
intmain()
{
doubleArea,fa,fb,s,h,a,b,x;
inti,n;
system("cls");
system("color4E");
gotoxy(15,2);
cout<<"ProgramaqueresuelveunaIntegralDefinida";
gotoxy(15,3);
cout<<"utilizandoelMetododeintegracionTrapezoidal.";
gotoxy(15,5);
cout<<"Escribeloslimitesdeintegracion:";
gotoxy(15,7);
cout<<"a=";cin>>a;
gotoxy(15,8);
cout<<"b=";cin>>b;
gotoxy(15,10);
cout<<"Escribeelnumerodetrapecios:";
gotoxy(15,12);
cout<<"n=";cin>>n;
h=(ba)/n;
fa=fx(a);

fb=fx(b);
s=0;
for(i=1;i<=n1;i++)
{
x=a+i*h;

s=s+fx(x);
}
Area=h/2*(fa+2*s+fb);
gotoxy(15,14);
cout<<"Lasoluciones:"<<setprecision(8)<<fixed<<Area<<"
u^2";
gotoxy(15,16);
system("pause");
return0;
}
doublefx(doublex)
{
returnsqrt(1+pow(cos(x),2));
}

//Programaqueresuelveintegralesdefinidas
//haciendousodelMetododeSimpson1/3,paransegmentospares.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublefx(double);
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisi?ndelasalida
numrica.
usingstd::setw;
intmain()
{
doubleArea,fa,fb,sp,si,h,a,b,x;
inti,n;
system("cls");
system("color4E");
gotoxy(15,2);
cout<<"ProgramaqueresuelveunaIntegralDefinida";
gotoxy(15,3);
cout<<"utilizandoelMtododeintegraciondeSimpson1/3..";
gotoxy(15,5);
cout<<"Escribeloslimitesdeintegracion:";
gotoxy(15,7);
cout<<"a=";cin>>a;
gotoxy(15,8);
cout<<"b=";cin>>b;
gotoxy(15,10);
cout<<"Escribeelnumerodetrapecios:";
gotoxy(15,12);
cout<<"n=";cin>>n;
h=(ba)/n;
fa=fx(a);

fb=fx(b);
sp=0;
si=0;
for(i=1;i<=n1;i++)
{
x=a+i*h;
if(fabs(int(i/2.0)i/2.0)==0)

sp=sp+fx(x);
else

si=si+fx(x);
}
Area=h/3*(fa+2*sp+4*si+fb);
gotoxy(15,14);
cout<<"Lasoluciones:"<<setprecision(8)<<fixed<<Area<<"
u^2";
gotoxy(15,16);
system("pause");
return0;
}
doublefx(doublex)
{
returnsqrt(1+pow(cos(x),2));
}

//Programaqueresuelveintegralesdefinidas
//haciendousodelMetododeSimpson3/8,paransegmentos.
//multiplosde3.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublefx(double);
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisi?ndelasalida
numrica.
usingstd::setw;
intmain()
{
doubleArea,fa,fb,s3,s,h,a,b,x;
inti,n;
system("cls");
system("color4E");
gotoxy(15,2);
cout<<"ProgramaqueresuelveunaIntegralDefinida";
gotoxy(15,3);
cout<<"utilizandoelMtododeintegraciondeSimpson3/8.";
gotoxy(15,5);
cout<<"Escribeloslimitesdeintegracion:";
gotoxy(15,7);
cout<<"a=";cin>>a;
gotoxy(15,8);
cout<<"b=";cin>>b;
gotoxy(15,10);
cout<<"Escribeelnumerodetrapecios:";
gotoxy(15,12);
cout<<"n=";cin>>n;
h=(ba)/n;

fa=fx(a);
fb=fx(b);
s3=0;
s=0;
for(i=1;i<=n1;i++)
{
x=a+i*h;
if(fabs(int(i/3.0)(i/3.0))==0)

s3=s3+fx(x);
else

s=s+fx(x);
}
Area=3.0/8.0*h*(fa+2*s3+3*s+fb);
gotoxy(15,14);
cout<<"Lasoluciones:"<<setprecision(8)<<fixed<<Area<<"
u^2";
gotoxy(15,16);
system("pause");
return0;
}
doublefx(doublex)
{
returnsqrt(1+pow(cos(x),2));
}

//Programaqueintegraunafunciontabuladacon
//diferentesespaciamientosoanchodesegmentos,h.
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<windows.h>
#include<iomanip>//Manipuladoresdeflujoparametrizados
#include<cmath>
#include<ctype.h>
doublef(double);
constintndm=100;
voidgotoxy(intcolumn,intline)
{
COORDcoord;
coord.X=column;
coord.Y=line;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
usingstd::cout;
usingstd::cin;
usingstd::endl;
usingstd::fixed;
usingstd::setprecision;//Asignalaprecisi?ndelasalida
numrica.
usingstd::setw;
intmain()
{
doublex[ndm],y[ndm],h,it,ha;
inti,np,k,j;
system("cls");
system("color4E");
gotoxy(15,2);
cout<<"Programaqueintegraunafunciontabuladacon";
gotoxy(15,3);
cout<<"diferentesespaciamientosoanchodesegmento,h.";
gotoxy(15,5);
cout<<"Escribeelnumerodedatosdelafunciontabulada:";
cin>>np;
gotoxy(15,7);
cout<<"Escribalafunciontabulada(x,y):"<<endl<<endl;
for(i=1;i<=np;i++)
{
cout<<"\t\t\tx["<<i<<"]=";cin>>x[i];
cout<<"\t\t\ty["<<i<<"]=";cin>>y[i];
}

it=0;
h=int((x[2]x[1])*10000.0+0.5)/10000.0;
k=1;
for(j=2;j<=np;j++)
{
ha=int((x[j+1]x[j])*10000.0+0.5)/10000.0;
if(h==ha)

if(k==3)

it=it+h/3.0*(y[j1]+4*y[j2]+y[j3]);

k=k1;

else

k=k+1;
else

if(k==1)

it=it+h/2.0*(y[j]+y[j1]);

else

if(k==2)
it=it+h/3*(y[j]+4*y[j1]+y[j2]);

else
it=it+3.0/8.0*h*(y[j]+3.0*y[j1]+3.0*y[j2]+y[j
3]);

k=1;

}
h=ha;
}
cout<<endl<<"\t\tLasoluciones:"<<it<<"u^2"<<endl<<endl;
cout<<"\t\t";
system("pause");
return0;
}
doublef(doublex)
{
return0;
}

You might also like