Está en la página 1de 60

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE INGENIERIA
INGENIERIA ELECTRONICA

METODOS NUMERICOS NOTA

ETN-505

PROYECTO FINAL DE SEMESTRE

NOMBRE: José Luis Soraide Alá

DOCENTE: Virginia Zota Uño

FECHA: 17 de Junio de 2016

LA PAZ - BOLIVIA
INDICE

1. OBJETIVOS
1.1. OBJETIVO GENERAL
1.2. OBJETIVOS ESPECIFICOS
2. METODOS NUMERICOS EN LA PLATAFORMA C++
2.1. EXPONENCIAL DE CUALQUIER NÚMERO
2.2. RAÍZ CUADRADA DE CUALQUIER NÚMERO
2.3. RAIZ N-ÉSIMA DE CUALQUIER NUMERO
2.4. RESOLUCION NUMERICA DE ECUACIONES NO LINEALES
2.4.1. M. DE LA BISECCION “B. WEIRSTRASS”
2.4.2. M. DE LA FALSA POSICION “REGULA FALSI”
2.4.3. M. DE LA FALSA POSICION MODIFICADA
2.4.4. M. DE LA SECANTE
2.4.5. M. DE NEWTON – RAPHSON
2.4.6. M. DE LA SECANTE MODIFICADA
2.5. RESOLUCION NUMERICA DE SISTEMA DE ECUACIONES LINEALES
2.5.1. M. ITERATIVO DE JACOBI
2.5.2. M. ITERATIVO DE GAUSS – SEIDEL
2.5.3. M. DE LA RELAJACION “M. SOUTHWELL”
2.6. DIFERENCIAS FINITAS
2.6.1. DIFERENCIAS FINITAS DE AVANCE “DELTA”
2.7. INTERPOLACION PILINOMICA
2.7.1. NEWTON – GRAGORY, HACIA ADELANTE
2.7.2. NEWTON – GREGORY, HACIA ATRÁS
2.7.3. POLINOMIO DE GAUSS DE AVANCE
2.7.4. POLINOMIO DE GAUSS DE RETROCESO
2.7.5. FORMULA DE STIRLING
2.7.6. FORMULA DE BESSEL
2.8. DIFERENCIACION NUMERICA
2.8.1. FORMULA DE NEWTON GREGORY DE AVANCE
4.8.1. DE PRIMER ORDEN
4.8.2. FORMULA DE STIRLING
2.9. INTEGRACION NUMERICA
2.9.1. CASO CONTINUO
4.9.1. SUMA DE RECTANGULOS
4.9.2. SUMA DE TRAPECIOS
4.9.3. METODO DE SIMPSON
2.9.2. CASO DISCRETO: FORMULA DE NEWTON – COTES
2.9.2.1. SIMPSON 1/3
2.9.2.2. SIMPSON 3/8
2.9.3. CUADRATURA GAUSSIANA
4.9.4 METODO DE ROMBERG
2.10. ECUACIONES DIFERENCIALES ORDINARIAS
2.10.1. METODO DE EULER
2.10.2. METODO DE EULER MEJORADO, METODO DE HEUN
2.10.3. METODO DE TAYLOR
2.10.4. METODO DE RUNGE – KUTTA DE SEGUNDO ORDEN
2.10.5. METODO DE RUNGE - KUTTA DE CUARTO ORDEN
2.10.6. METODO PREDICTOR CORRECTOR
3. CONCLUSIONES
4. INTRODUCCION

5. OBJETIVOS
5.1. OBJETIVO GENERAL

 Poder desarrollar de manera clara y ordenada los programas de distintos métodos numéricos,
orientado a la plataforma Borland C.

5.2. OBJETIVOS ESPECIFICOS

 Desarrollar las sintaxis de los distintos programas presentados en el CD.


 Hacer un uso muy rico de las distintas librerías existentes en el Compilador
2. METODOS NUMERICOS EN LA PLATAFORMA C++
a. EXPONENCIAL DE CUALQUIER NÚMERO

#include<conio.h>
#include<stdio.h>
#include<math.h>
#define MAXIMO 15

#define ERROR 0.0005


double expon(float x);
void main()
{
float x;
clrscr();
printf("Ingrese x:");
scanf("%f",&x);
printf("e a la x es:%13.5f\n",expon(x));
getch();
}
double expon(float x)
{
double t=1,suma=1;
double factor=1,num=1;
int i=1;
while((i<=MAXIMO)&&(t>ERROR))
{
factor*=i;
num*=x;
t=num/factor;
suma+=t;
i++;
}
return suma;
}
b. RAÍZ CUADRADA DE CUALQUIER NÚMERO

#include<conio.h>
#include<stdio.h>
#include<math.h>
#define ERROR 0.0001
void main()
{
float N,x,x1=1;
clrscr();
do
{
clrscr();
printf("Ingrese un numero...");scanf("%f",&N);
if(N<0)
{
printf("La raiz es imaginaria..!!!");
getch();
}
}while(!(N>=0));
do
{
x=x1;
x1=0.5*(x+N/x);
}while(!(fabs(x-x1)<=ERROR));
printf("La raiz de sqrt(%10.4f)=%10.4f...",N,x1);
getch();
}
c. AIZ N-ÉSIMA DE CUALQUIER NUMERO

#include<conio.h>
#include<stdio.h>
#include<math.h>
#define ERROR 0.0000000001
float h;
int u;
#define f(h,n) exp((log10(h)/u));
float pot(float x1,int n);
int binomio(int n,int m);
void main()
{
float p,x,x1=1,j,s;
int n,N,b;
clrscr();
printf("Ingrese grado de la raiz...");scanf("%d",&n);
u=n;
do
{
clrscr();
printf("Ingrese numero...");scanf("%d",&N);
if(N<0)
{
printf("La raiz es imaginaria..!!!");
getch();
}
}while(!(N>=0));
do
{ x=x1;
p=pot(x,n);
s=N/p-1;
h=1+s;
j=f(h,u);
x1=x*j;
}while(!(fabs(x-x1)<=ERROR));
printf("La raiz de sqrt(%d)=%f...",n,x1);
getch();
}
float pot(float x1,int n)
{ float y;
if(n==1)
return(x1);
y=pot(x1,n/2);
if(n%2==1)
return(x1*y*y);
else
return(y*y);
}
int binomio(int n,int m)
{
int i,x=1,y=1;
for(i=1;i<=m;i++)
{
x*=(n-i+1);
y*=i;
}
}
3. RESOLUCION NUMERICA DE ECUACIONES NO LINEALES
i. M. DE LA BISECCION
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<math.h>

float A, B ,i, IT, R, C, D,E,F;


main()
{
clrscr();
gotoxy(20,1);
cout<<("****METODO DE BISECCION****");
cout<<("\n\n");
gotoxy(15,3);
cout<<("\n\n\n");
cout<<("introduzca la cantidad de iteraciones: ");
cin>>IT;
cout<<("\n");
cout<<("introduzca el valor de A: ");
cin>>A;
cout<<("\n");
cout<<("introduzca el valor de C: ");
cin>>B;
clrscr();
gotoxy(19,1);
cout<<("********** TABLA DE VALORES *************");
cout<<("\n\n");
cout<<("\n\n");
gotoxy(1,3);cout<<("It");
gotoxy(4,3);cout<<(" A ");
gotoxy(13,3);cout<<(" B ");
gotoxy(23,3);cout<<(" C ");
gotoxy(33,3);cout<<(" F(A) ");
gotoxy(46,3);cout<<(" F(B) ");
gotoxy(59,3);cout<<(" F(C)");
gotoxy(72,3);cout<<(" Error ");
for (i=0;i<=IT;i++)
{
gotoxy(1,i+4);
cout<<i;
gotoxy(4,i+4);
cout<<A;
D= 0.5*exp(A/3)- sin(A) ;// ECUACION EN FUNCION DE "A"
gotoxy(33,i+4);
cout<<D;
gotoxy(23,i+4);
cout<<B;
E= 0.5*exp(B/3)- sin(B) ;// ECUACION EN FUNCION DE "B"
gotoxy(59,i+4);
cout<<E;
C=(A+B)/2;
gotoxy(13,i+4);
cout<<C;

F = 0.5*exp(C/3)- sin(C) ;// ECUACION EN FUNCION DE "C"


gotoxy(46,i+4);;
cout<<F;
if (D>0)
{ if (F>0)
{ R= C-A;
gotoxy(70,i+4);
cout<<R;
A=C;
}
else
{ R= C-B;
gotoxy(70,i+4);
cout<<R;
B=C;
}
}
else
{ if (F>0)
{ R= C-B;
gotoxy(70,i+4);
cout<<R;
B=C;
}
else
{ R= C-A;
gotoxy(70,i+4);
cout<<R;
A=C;
}
}
}
getch();
}
ii. M. DE LA FALSA POSICION “REGULA FALSI”
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<math.h>
float A, B ,i, IT, R, C, D,E,F;
void main(void)
{
clrscr();
gotoxy(20,1);
cout<<("*********METODO DE FALSA POSICION*********");
cout<<("\n\n");
gotoxy(30,3);
cout<<("\n\n\n");
cout<<("introduzca la cantidad de iteraciones: ");
cin>>IT;
cout<<("\n");
cout<<("introduzca el valor de A: ");
cin>>A;
cout<<("\n");
cout<<("introduzca el valor de C: ");
cin>>B;
clrscr();
gotoxy(19,1);
cout<<("********** TABLA DE VALORES *************");
cout<<("\n\n");
gotoxy(1,3);cout<<("It");
gotoxy(6,3);cout<<(" A ");
gotoxy(16,3);cout<<(" B ");
gotoxy(25,3);cout<<(" C ");
gotoxy(34,3);cout<<(" F(A) ");
gotoxy(44,3);cout<<(" F(B) ");
gotoxy(56,3);cout<<(" F(C)");
gotoxy(69,3);cout<<(" Error ");
for (i=0;i<=IT;i++)
{
gotoxy(1,i+5);
cout<<i;
gotoxy(4,i+5);
cout<<A;

D= 0.5*exp(A/3)- sin(A); // ECUACION EN FUNCION DE "A"


gotoxy(33,i+5);
cout<<D;
gotoxy(23,i+5);
cout<<B;

E= 0.5*exp(B/3)- sin(B); // ECUACION EN FUNCION DE "B"


gotoxy(55,i+5);;
cout<<E;
if (D>0)
{
C=B-(((B-A)/(E-D))*E);
gotoxy(13,i+5);
cout<<C;

F= 0.5*exp(C/4)- sin(C); // ECUACION EN FUNCION DE "C"


gotoxy(42,i+5);;
cout<<F;
if (F>0)
{ R= C-A;
gotoxy(68,i+5);
cout<<R;
A=C;
}
else
{ R= C-B;
gotoxy(68,i+5);
cout<<R;
B=C;
}
}
else
{
C=A-(((B-A)/(E-D))*D);
gotoxy(13,i+5);
cout<<C;

F= 0.5*exp(C/3)- sin(C); // ECUACION EN FUNCION DE "C"


gotoxy(42,i+5);;
cout<<F;
if (F>0)
{ R= C-B;
gotoxy(68,i+5);
cout<<R;
B=C;
}
else
{ R= C-A;
gotoxy(68,i+5);
cout<<R;
A=C;
}
}
}
cout<<("\n");
getch();
}
iii. M. DE LA FALSA POSICION MODIFICADA

#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
float A, B ,i, IT, R, C, D,E,F, X, H, G;
void main(void)
{
clrscr();
gotoxy(20,1);
cout<<("*********METODO DE FALSA POSICION MODIFICADA*********");
cout<<("\n\n");
gotoxy(32,3);
cout<<("\n\n\n");
cout<<("introduzca la cantidad de iteraciones: ");
cin>>IT;
cout<<("\n");
cout<<("introduzca el valor de A: ");
cin>>A;
cout<<("\n");
cout<<("introduzca el valor de C: ");
cin>>B;
clrscr();
gotoxy(19,1);
cout<<("********** TABLA DE VALORES *************");
cout<<("\n\n");
gotoxy(1,3);cout<<("It");
gotoxy(8,3);cout<<(" A ");
gotoxy(16,3);cout<<(" B ");
gotoxy(27,3);cout<<(" C ");
gotoxy(34,3);cout<<(" F(A) ");
gotoxy(46,3);cout<<(" F(B) ");
gotoxy(60,3);cout<<(" F(C)");
gotoxy(72,3);cout<<(" Error ");

X=0;

for (i=0;i<=IT;i++)
{
gotoxy(1,i+5);
cout<<i;

if(X==0)
{
gotoxy(4,i+5);
cout<<A;

D= 0.5*exp(A/3)- sin(A) ;// ECUACION EN FUNCION DE "A"


gotoxy(32,i+5);
cout<<D;
gotoxy(23,i+5);
cout<<B;
E= 0.5*exp(B/3)- sin(B) ;// ECUACION EN FUNCION DE "B"
gotoxy(57,i+5);
cout<<E;
C=B-(((B-A)/(E-D))*E);
gotoxy(13,i+5);
cout<<C;

F= 0.5*exp(C/3)- sin(C) ;// ECUACION EN FUNCION DE "C"


gotoxy(44,i+5);;
cout<<F;
if(D>0)
{
if(F>0)
{
A=C;
}
else
{
B=C;
}
}
else
{
if(F>0)
{
B=C;
}
else
{
A=C;
}
}
X=X+1;
}
else
{
gotoxy(4,i+5);
cout<<A;

D= 0.5*exp(A/3)- sin(A) ;// ECUACION EN FUNCION DE "A"


gotoxy(32,i+5);
cout<<D;
gotoxy(23,i+5);
cout<<B;

E= 0.5*exp(B/3)- sin(B) ;// ECUACION EN FUNCION DE "B"


gotoxy(57,i+5);
cout<<E;
if (C==A)
{
H=E*0.5;
C=A-(((B-A)/(H-D))*D);
gotoxy(13,i+5);
cout<<C;

F= 0.5*exp(C/3)- sin(C) ;// ECUACION EN FUNCION DE "C"


gotoxy(44,i+5);;
cout<<F;

R= C-A;
gotoxy(70,i+5);
cout<<R;
}
else
{
G=D*0.5;
C=A-(((B-A)/(E-G))*G);
gotoxy(13,i+5);
cout<<C;

F= 0.5*exp(C/3)- sin(C) ;// ECUACION EN FUNCION DE "C"


gotoxy(44,i+5);;
cout<<F;
R= C-B;
gotoxy(70,i+5);
cout<<R;
}
if(D>0)
{
if(F>0)
{
A=C;
}
else
{
B=C;
}
}
else
{
if(F>0)
{
B=C;
}
else
{
A=C;
}
}
}
}
cout<<("\n");
getch();
}
iv. M. DE LA SECANTE
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>
float A,F,C, D, E, R, B;
int IT,i;
void main(void)
{
clrscr();
gotoxy(20,1);
cout<<("********** METODO DE LA SECANTE ************");
cout<<("\n\n");
gotoxy(25,3);cout<<("\n\n\n");
cout<<("introduzca numero de iteraciones: ");
cin>>IT;cout<<("\n");
cout<<("introduzca Xo: ");
cin>>A;cout<<("\n");
cout<<("introduzca X1: ");
cin>>B;
clrscr();
gotoxy(19,1);
cout<<("********** TABLA DE VALORES *************");
cout<<("\n\n");
if (IT<15)
{
gotoxy(3,15);cout<<("ya no hay mas iteraciones ");
}else
{
gotoxy(3,IT+8);cout<<("ya no hay mas iteraciones ");
}
gotoxy(1,3);cout<<("Iter");
gotoxy(12,3);cout<<("Xn");
gotoxy(22,3);cout<<("Error");

D=0;
do{
for(i=0; i<=IT; i++)
{gotoxy(2,i+5);
cout<<i;
E= 0.5*exp(A/3) - sin(A) ;// ECUACION EN FUNCION DE "A"
F= 0.5*exp(B/3) - sin(B) ;// ECUACION EN FUNCION DE "B"
C=B-(F*((B-A)/(F-E)));
gotoxy(10,i+5);
cout<<C;
R=D-C;
gotoxy(20,i+5);
cout<<R;
D=C;
B=A;
A=C;
}}while(R<=0);
getch();
}
v. M. DE NEWTON – RAPHSON
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>
float A, D, E, R, i, IT, C;
main()
{
clrscr();
gotoxy(20,1);
cout<<("********* METODO NEWTON - RAPHSON ************");
cout<<("\n\n");
gotoxy(32,3);
cout<<("\n\n\n");
cout<<("introduzca la cantidad de iteraciones: ");
cin>>IT;
cout<<("\n\n");
cout<<("introduzca x inicial: ");
cin>>A;
clrscr();
gotoxy(19,1);
cout<<("********** TABLA DE VALORES *************");
cout<<("\n\n");
gotoxy(1,3);cout<<("Iter");
gotoxy(13,3);cout<<("Xn");
gotoxy(23,3);cout<<("Error");
for(i=0; i<=IT; i++)
{
gotoxy(2,i+5);
cout<<i;

D= 0.5*exp(A/3) - sin(A) ;// ECUACION EN FUNCION DE "A"


E= (0.5*exp(A/3))/3 - cos(A) ;// ECUACION DERIVADA EN FUNCION DE "A"
C=A-(D/E);
gotoxy(10,i+5);
cout<<C;
R=A-C;
gotoxy(20, i+5);
cout<<R;
A=C;
}
getch();
}
vi. M. DE LA SECANTE MODIFICADA
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define f(x) exp(-x)-x
main()
{
float i,x0,h,n,x1,A,B,c;
clrscr();
printf("Inserte el un valor proximo a la raiz\nx0=");
scanf("%f",&x0);
printf("Inserte el un h peque¤a\nh=");
scanf("%f",&h);
printf("Inserte el # de iteraciones\nn= ");
scanf("%f",&n);
printf("\t\t i\t Xi\t Xi+1\t f(Xi+1)\n\n");
for(i=0;i<n;i++)
{
A=f(x0);
c=x0+h*x0;
B=f(c);
x1=x0-(A*h*x0)/(B-A);
printf("\t\t %0.0f %f %f %f ",i,x0,x1,f(x1));
printf("\n");
x0=x1;
}
getch();
}
4. RESOLUCION NUMERICA DE SISTEMA DE ECUACIONES LINEALES
i. M. ITERATIVO DE JACOBI
/* Metodo de Jocobi de la forma A*X=B, ingrese una matriz diagonalmente dominante y
ordenada, datos a insertar
n=# de iteraciones
A=la matriz de coeficientes
B=matriz de coeficientes independientes */

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int n,d,i,j,k;
float A[20][20],B[20],D[20][20];
float M[20][20],D1[20][20], B1[20], E[20][20], x0, y0, z0, x1, y1, z1;
clrscr();
gotoxy(20,1);
cout<<("********* METODO JACOBI *********");
cout<<("\n\n");
gotoxy(23,3);
cout<<("\n\n\n");
x0=0;
y0=0;
z0=0;
d=3;
printf("Insertar la matriz A diagonalmente dominante ya ordenada\n");
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
printf("A[%d][%d]=",i,j);
scanf("%f",&A[i][j]);
}
}
printf("Insertar la matriz B\n");
for(i=1;i<=d;i++)
{
printf("B[%d]=",i);
scanf("%f",&B[i]);
}
printf("Inserte el # de iteraciones: ");
scanf("%d",&n);
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
if(i==j)
{
else
{

}
} D[i][j]=A[i][j];
} D1[i][j]=1/A[i][j];
} B1[i]=B[i]*D1[i][j];
M[i][j]=0;

M[i][j]=-A[i][j];
D[i][j]=0;
D1[i][j]=0;
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
E[i][j]=0;
for(k=1;k<=d;k++)
E[i][j]+=D1[i][k]*M[k][j];
}
}
printf("\n\t\ti\t x\t y\t z\n\n");
printf("\t\t1\t%0.3f\t%0.3f\t%0.3f\n",x0,y0,z0);
for(i=2;i<=n;i++)
{
x1=E[1][2]*y0+E[1][3]*z0+B1[1];
y1=E[2][1]*x0+E[2][3]*z0+B1[2];
z1=E[3][1]*x0+E[3][2]*y0+B1[3];
printf("\t\t%d\t%0.3f\t%0.3f\t%0.3f\n",i,x1,y1,z1);
x0=x1;
y0=y1;
z0=z1;
}
getch();
return 0;
}
ii. M. ITERATIVO DE GAUSS – SEIDEL
/* INGRESE LA MATRIZ A EN SU FORMA DIAGONALMENTE DOMINANTE*/
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int n,d,i,j,k;
float A[20][20],B[20],D[20][20],M[20][20];
float D1[20][20],B1[20],E[20][20],x0,y0,z0,x1,y1,z1;
clrscr();
gotoxy(20,1);
cout<<("****** METODO DE GAUSS SEIDEL ******");
cout<<("\n\n");
gotoxy(28,3);
cout<<("\n\n\n");
x0=0;
y0=0;
z0=0;
d=3;
printf("Insertar la matriz A diagonalmente dominante ya ordenada\n");
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
printf("A[%d][%d]=",i,j);
scanf("%f",&A[i][j]);
}
}
printf("Insertar la matriz B\n");
for(i=1;i<=d;i++)
{
printf("B[%d]=",i);
scanf("%f",&B[i]);
}
printf("Inserte el # de iteraciones: ");
scanf("%d",&n);
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
if(i==j)
{
}
}

}
else
{

}
D[i][j]=A[i][ B[i]*D1[i][j]; M[i][j]=0;
j];
D1[i][j]=1/A[
i][j];
B M[i][j]=-A[i][j];
1 D[i][j]=0;
[ D1[i][j]=0;
i
]
=
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
E[i][j]=0;
for(k=1;k<=d;k++)
E[i][j]+=D1[i][k]*M[k][j];
}
}
printf("\n\t\ti\t x\t y\t z\n\n");
printf("\t\t1\t%0.3f\t%0.3f\t%0.3f\n",x0,y0,z0);
for(i=2;i<=n;i++)
{
x1=E[1][2]*y0+E[1][3]*z0+B1[1];
x0=x1;
y1=E[2][1]*x0+E[2][3]*z0+B1[2];
y0=y1;
z1=E[3][1]*x0+E[3][2]*y0+B1[3];
printf("\t\t%d\t%0.3f\t%0.3f\t%0.3f\n",i,x1,y1,z1);
z0=z1;
}
getch();
return 0;
}
iii. M. DE LA RELAJACION
/* LA MATRIZ A DEBE SER DIAGONALMENTE DOMINANTE, ORDENE!!! */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int n,d,i,j,k,l,c,C[20],X[20],m,R[20],R1[20],s1,s2,s3;
float A[20][20],B[20],B1[20],D[20][20],M[20][20],D1[20][20],E[20][20];
clrscr();
gotoxy(20,1);
cout<<("****** METODO ITERATIVO RELAJACION ******");
cout<<("\n\n");
gotoxy(25,3);
cout<<("\n\n\n");
X[1]=0;
X[2]=0;
X[3]=0;
d=3;
printf("Insertar la matriz A dominante ya ordenada\n");
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
printf("A[%d][%d]=",i,j);
scanf("%f",&A[i][j]);
}
}
printf("Insertar la matriz B\n");
for(i=1;i<=d;i++)
{
printf("B[%d]=",i);
scanf("%f",&B[i]);
}
printf("Inserte el # de iteraciones: ");
scanf("%d",&n);
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
if(i==j)
{
D[i][j]=A[i][j];
D1[i][j]=1/A[i][j];
B1[i]=B[i]*D1[i][j];
M[i][j]=0;
}
else
{
M[i][j]=-A[i][j];
D[i][j]=0;
D1[i][j]=0;
}
}
}
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
E[i][j]=0;
for(k=1;k<=d;k++)
E[i][j]+=D1[i][k]*M[k][j];
}
}
for(i=1;i<=d;i++)
{
for(j=1;j<=d;j++)
{
if (i==j)
E[i][j]=-1;
}
}
R[1]=B1[1]*100;
R[2]=B1[2]*100;
R[3]=B1[3]*100;
printf("\n\tx\tR1\tC1\ty\tR2\tC2\tz\tR3\tC3\n\n");
for(j=1;j<=n;j++)
{
for (k=1;k<=d;k++)
{
if (R[k]<0)
R1[k]=-R[k];
else
R1[k]=R[k];
}
m=R1[1];
c=1;
for(i=2;i<=d;i++)
{
if(m<R1[i])
{
m=R1[i];
c=i;
}
}
printf("\t%d\t%d\t \t%d\t%d\t \t%d\t%d\t \n",X[1],R[1],X[2],R[2],X[3],R[3]);
X[c]=R[c];
for(k=1;k<=d;k++)
C[k]=E[k][c]*X[c];
printf("\t \t \t%d\t \t \t%d\t \t \t%d\n",C[1],C[2],C[3]);
for(l=1;l<=d;l++)
R[l]=R[l]+C[l];
}
getch();
return 0;
}
5. DIFERENCIAS FINITAS
i. DIFERENCIAS FINITAS DE AVANCE “DELTA”
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<iostream>
void main()
{int i,j,k;
float y[50][50];
clrscr();
gotoxy(20,1);
cout<<("****** DIFERENCIAS FINITAS ******");
cout<<("\n\n");
gotoxy(28,3);
cout<<("\n\n\n");
printf("inserte # de terminos: ");scanf("%d",&k);
for(i=0;i<k;i++)
{
printf("Y(%d)=",i);scanf("%f",&y[i][0]);
}
for(j=0;j<k-1;j++)
{
for(i=0;i<k-j;i++)
{
y[i][j+1]=y[i+1][j]-y[i][j];
}
}
clrscr();
for(i=0;i<k;i++)
printf(" D %d",i);
printf("\n");
for(j=0;j<k;j++)
{
printf("\n");printf("Y(%d) ",j);
for(i=0;i<k-j;i++)
{
printf("%.3f ",y[j][i]);
}
}
getch();
}
6. INTERPOLACION PILINOMICA
i. NEWTON – GRAGORY, HACIA ADELANTE
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{ int i,j,n,u;
float Y[50][50],D[50],x[50];
float xo;
float R,F,P,K;
char sw;
clrscr();
gotoxy(22,2);cprintf("Interpolacion por newton gregori De Avance");
gotoxy(25,13);cprintf("numero de datos:");cscanf("%d",&n);
clrscr();
cprintf("Entrando datos (x,y)");
gotoxy(27,9);cprintf("[ X , Y ]");
for(i=1;i<=n;i++)
{ gotoxy(30,10+i);cscanf("%f",&x[i]);
gotoxy(40,10+i);cscanf("%f",&Y[i][1]);
}clrscr();
for(j=1;j<=n-1;j++)
{ for(i=1;i<=n-j;i++)
{ Y[i][j+1]=Y[i+1][j]-Y[i][j];
} }
gotoxy(25,5);cprintf("Tabla de las diferencias finitas");
for(j=1;j<=n;j++)
{ gotoxy(2,6+j);
for(i=1;i<=(n-j+1);i++)
{ cprintf("%.3f ",Y[j][i]);
} }
do
{ for(i=1;i<=n;i++)
D[i]=Y[1][i];
gotoxy(6,20);printf("Entre valor a interpolar");
gotoxy(10,21);scanf("%f",&xo);
K=(xo-x[1])/(x[2]-x[1]);
R=D[1]; for(i=2;i<n;i++)
{ P=1;F=1;
for(u=1;u<i;u++)
{ P=P*(K-(u-1)); F=F*u;
}
R=R+(P/F*D[i]);
}
gotoxy(34,20);printf("El valor de la interpolacion es");
gotoxy(44,21);printf("F(%.3f) = %f",xo,R);
gotoxy(4,23);printf("Presione <Esc> para salir...>");
sw=getch();
gotoxy(4,23);printf(" ");
}
while(sw!=27);
}
ii. NEWTON – GREGORY, HACIA ATRÁS
#include<stdio.h>
#include<math.h>
#include<conio.h>
void llenar(int x1,int y1,int x2,int y2)
{ int i,j; for(i=x1;i<=x2;i++)
{ for(j=y1;j<=y2;j++)
{ gotoxy(i,j);cprintf("%c",219);
}}}
void main()
{ int i,j,n,u;
float Y[50][50],D[50],x[50];
float xo; float R,F,P,K; char sw;
clrscr();
gotoxy(22,3);cprintf("Interpolacion por newton gregori de retroceso");
gotoxy(25,13);cprintf("introducir datos:");cscanf("%d",&n);
clrscr();
gotoxy(27,7);cprintf("Entrando datos (x,y)");
gotoxy(27,9);cprintf("[ X , Y ]");
for(i=1;i<=n;i++)
{ gotoxy(30,10+i);cscanf("%f",&x[i]);
gotoxy(40,10+i);cscanf("%f",&Y[i][1]);
}
for(j=1;j<=n-1;j++)
{ for(i=1;i<=n-j;i++)
{ Y[i][j+1]=Y[i+1][j]-Y[i][j];
}}
gotoxy(25,5);cprintf("Tabla de las diferencias finitas");
for(j=1;j<=n;j++)
{ gotoxy(2,6+j); for(i=1;i<=(n-j+1);i++)
{ cprintf("%.3f ",Y[j][i]);
}}
do

{ for(i=1;i<=n;i++) D[i]=Y[n+1-i][i];
gotoxy(6,20);printf("Entre valor a interpolar"); gotoxy(10,21);scanf("%f",&xo);
K=(xo-x[n])/(x[2]-x[1]);R=D[1];
for(i=2;i<=n;i++)
{ P=1;F=1; for(u=1;u<i;u++)
{ P=P*(K+(u-1));
F=F*u;
}
R=R+(P/F*D[i]);
}
gotoxy(34,20);printf("El valor de la interpolacion es");
gotoxy(44,21);printf("F(%.3f) = %f",xo,R);
gotoxy(4,23);printf("Presione <Esc> para salir...>");
sw=getch(); gotoxy(4,23);printf(" ");
}
while(sw!=27);
}
iii. POLINOMIO DE GAUSS DE AVANCE
#include<stdio.h>
#include<math.h>
#include<conio.h>
void llenar(int x1,int y1,int x2,int y2)
{
int i,j;
for(i=x1;i<=x2;i++)
{
for(j=y1;j<=y2;j++)
{
gotoxy(i,j);cprintf("%c",219);
}
}
}

void cuadro(int x1,int y1,int x2,int y2)


{
int i;
for(i=x1;i<x2;i++)
{
gotoxy(i,y1);cprintf("%c",196);
gotoxy(i,y2);cprintf("%c",196);
}
for(i=y1;i<y2;i++)
{
gotoxy(x1,i);cprintf("%c",179);
gotoxy(x2,i);cprintf("%c",179);
}
gotoxy(x1,y1);cprintf("%c",218);
gotoxy(x1,y2);cprintf("%c",192);
gotoxy(x2,y1);cprintf("%c",191);
gotoxy(x2,y2);cprintf("%c",217);
}
void color(int x,int y)
{
textcolor(x);
textbackground(y);
}
void main()
{
int i,j,n,u,sw;
float Y[50][50],D[50],x[50];
float xo,c;
float R,F,P,K;
color(7,0);
clrscr();
gotoxy(24,3);printf("INTERPOLACION POR GAUSS DE AVANCE");
gotoxy(25,11);cprintf("Introducir datos:");
cscanf("%d",&n);
clrscr();
gotoxy(27,7);cprintf("Entrando datos (x,y)");
gotoxy(27,9);cprintf("[ X , Y ]");color(7,0);
for(i=1;i<=n;i++)
{
gotoxy(30,10+i);scanf("%f",&x[i]);
gotoxy(40,10+i);scanf("%f",&Y[i][1]);
}
for(j=1;j<=n-1;j++)
{
for(i=1;i<=n-j;i++)
{
Y[i][j+1]=Y[i+1][j]-Y[i][j];
}
}
gotoxy(25,5);cprintf("LA TABLA SERA:");
for(j=1;j<=n;j++)
{
gotoxy(2,6+j);
for(i=1;i<=(n-j+1);i++)
{
cprintf("%.3f",Y[j][i]);
}
}
do
{
c=1;
for(i=1;i<=n;i++)
{
if ((i%2)==0)
c++;
D[n+1-i]=Y[c][n+1-i];
}
gotoxy(6,20);printf("Entre valor a interpolar");
gotoxy(10,21);scanf("%f",&xo);
K=(xo-x[c])/(x[2]-x[1]);
sw=0;
R=D[1];
for(i=2;i<=n;i++)
{
P=1;F=1;
for(u=1;u<i;u++)
{
F=F*u;
if (sw<=2)
{
P=P*(K-(u-1));
sw++;
}
else P=P*(K+(2-u));
}
R=R+(P/F*D[i]);
}
gotoxy(34,20);printf("El valor de la interpolacion es");
gotoxy(44,21);printf("F(%.3f) = %f",xo,R);
gotoxy(4,23);printf("Presione <esc> para salir...>");
} while(getch()!=27);
}
iv. POLINOMIO DE GAUSS DE RETROCESO
#include<stdio.h>
#include<math.h>
#include<conio.h>
void llenar(int x1,int y1,int x2,int y2)
{
int i,j;
for(i=x1;i<=x2;i++)
{
for(j=y1;j<=y2;j++)
{
gotoxy(i,j);cprintf("%c",219);
}
}
}
void color(int x,int y)
{
textcolor(x);
textbackground(y);
}
void main()
{
int i,j,n,u,sw;
float Y[50][50],D[50],x[50];
float xo,c;
float R,F,P,K;
clrscr();
gotoxy(23,5);printf("INTERPOLACION POR GAUSS [RETROCESO]");
gotoxy(25,11);printf("Cuantos Datos introducira:");
scanf("%d",&n);
clrscr();
gotoxy(27,7);cprintf("Entrando datos (x,y)");
gotoxy(27,9);cprintf("[ X , Y ]");
for(i=1;i<=n;i++)
{
gotoxy(30,10+i);scanf("%f",&x[i]);
gotoxy(40,10+i);scanf("%f",&Y[i][1]);
}
clrscr();
for(j=1;j<=n-1;j++)
{
for(i=1;i<=n-j;i++)
{
Y[i][j+1]=Y[i+1][j]-Y[i][j];
}
}
gotoxy(25,5);cprintf("Tabla de las diferencias finitas");
for(j=1;j<=n;j++)
{
gotoxy(2,6+j);
for(i=1;i<=(n-j+1);i++)
{
cprintf("%.3f ",Y[j][i]);
}
}
do
{
gotoxy(4,23);printf(" ");
c=1;
for(i=1;i<=n;i++)
{
if ((i%2)!=0)
c++;
D[n+1-i]=Y[c-1][n+1-i];
}
gotoxy(6,20);printf("Entre valor a interpolar");
gotoxy(10,21);scanf("%f",&xo);
K=(xo-x[c-1])/(x[2]-x[1]);
sw=0;
R=D[1];
for(i=2;i<n;i++)
{
P=1;F=1;
for(u=1;u<i;u++)
{
F=F*u;
if (sw<=2)
{
P=P*(K+(u-1));
sw++;
}
else P=P*(K-(2-u));
}
R=R+(P/F*D[i]);
}
gotoxy(34,20);printf("El valor de la interpolacion es");
gotoxy(44,21);printf("F(%.3f) = %f",xo,R);
gotoxy(4,23);printf("Presione <Esc> para salir...>");
}
while(getch()!=27);
}
v. FORMULA DE STIRLING
#include<stdio.h>
#include<conio.h>
#include<math.h>
void Ingresos();
int dif();
int ecua();
double val(double n);
int comb(float a, float b);
float pr(float A[10][10],int m);
int tam();
int potencia();
int Derivada();
float Y[10],Dif[10][10],A[10][10],M[10][10],DY[10];
float V[10],X[10],C[10],h;
int n;
double sob[10];
double der[10];
float ent;
void main()
{
int sele,i,j,k,m,g;
clrscr();
textbackground(7);
textcolor(8);
clrscr();
printf("\n\n\n\n\n\n\t\t INTERPOLACION MEDIANTE FORMULA DE STIRLING\n\n\n");
printf("\n\n\t\t\t\tDeseas continuar?\n\n\n\t1. Si.\n\n\n\t2. Salir.\n\n\n");
scanf("%d",&sele);
if(sele==1)
{
clrscr();
for (i=0;i<n;i++) for (j=0;j<n;j++) M[i][j]=0;
for (i=0;i<10;i++) {sob[i]=0;DY[i]=0;V[i]=0;}
Ingresos();
tam();
M[0][0]=1;
ent=X[(int)n/2]/h;
m=0;
g=0;
for (i=1;i<=potencia();i++)
{
if ((i%2)==0)
{
for (k=0;k<10;k++) V[k]=0;
comb(m,i);
for(k=0;k<n;k++) V[k]=M[i][k];
comb(m+1,i);
for(k=0;k<n;k++) V[k]=V[k]+M[i][k];
for(k=0;k<n;k++) M[i][k]=V[k];
m=m+1;
}
else
{
comb (g,i);
g=g+1;
}
}
DY[0]=Y[(int) n/2];
i=(int) n/2;
k=(int) n/2;
for (j=1;j<=n;j++)
{
if ((j%2)==0)
{
i=i-1;
DY[j]=Dif[i][j]/(2*val(j));
}
else
{
DY[j]=(Dif[k][j]+Dif[k-1][j])/(2*val(j));k=k-1;
}
}
ecua();
Derivada();
getch();
}
}
void Ingresos()
{
int i,j;
gotoxy(20,1);printf("****** METODO DE STIRLING ******");
printf("\n\n\n\n\tCuantos datos son:\tn = ");
scanf("%d",&n);
printf("\n\n\tIngresar en forma ordenada X[i]:\n\n\n");
for(i=0;i<n;i++)
{
printf("\t\tX[%d] = ",i);
scanf("%f",&X[i]);
}
printf("\n\n\tIngresar en forma ordenada Y[i]\n\n");
for (i=0;i<n;i++)
{
printf("\t\tY[%d]= ",i);
scanf("%f",&Y[i]);
}
dif();
}
int dif()
{
int i,j;
for (i=0;i<10;i++) for(j=0;j<10;j++) Dif[i][j]=0;
for (i=0;i<n;i++) Dif[i][0]=Y[i];
for (j=1;j<n;j++) for (i=0;i<n-j;i++) Dif[i][j]=Dif[i+1][j-1]-Dif[i][j-1];
return(0);
}
float pr(float A[10][10],int m)
{
int i,j,k;
for (i=0;i<m;i++)
{
for (j=0;j<10;j++) M[m][j]=0;
for(j=0;j<10;j++)
for (k=0;k<10;k++)
M[m][j+k]=M[m][j+k]+A[i][j]*A[i+1][k];
for(j=0;j<10;j++) A[i+1][j]=M[m][j];
}
for(j=0;j<10;j++) M[m][j]=A[m-1][j];
return(0);
}
int comb(float a, float b)
{
int i,j;
for (i=0;i<10;i++) for (j=0;j<10;j++) A[i][j]=0;
for (i=0;i<b;i++)
{
A[i][0]=a-i-ent;;
A[i][1]=1/h;
}
pr(A,b);
return(0);
}
double val(double n)
{
if(n==0) return 1;
else return n*val(n-1);
}
int potencia()
{
int j,i,m=0,l=-1;
for(j=0;j<n;j++)
{
l=l+1;
for(i=0;i<n;i++) if (Dif[i][j]==0) m=m+1;
if (m==n) j=n;
m=0;
}
return(l-1);
}
int tam()
{
int i,j;
for (j=0;j<n;j++) C[j]=X[j];
for (j=0;j<n-1;j++) C[j]=C[j+1]-C[j];
h=C[(int) n/2];
return(0);
}
int ecua()
{
int op,i,j,x,y;
float val;
clrscr();
printf("la tabla de diferencias es:\n");
for(y=0;y<=n;y++)
{
for(x=0;x<=potencia();x++)
{
if (y<(n-x))
{ gotoxy(x*10+1,4+2*y+x);
printf("%10f",Dif[y][x]);
}}
printf("\n");
}

for (i=0;i<n;i++) for (j=0;j<n;j++) M[i][j]=M[i][j]*DY[i];


printf("\n\tEl grado de tu mayor exponente es: %d\n\n ",potencia());
printf("\tTu polinomio tiene la siguiente forma:\n\n");
for (j=0;j<n;j++) for (i=0;i<=potencia();i++) sob[j]=sob[j]+ M[i][j];
printf("\tP(x) = ");
for (i=0;i<=potencia();i++)
{
if (sob[i]!=0)
{
if (i!=potencia()) printf (" %5.2f x^%d + ",sob[i],i);
else printf ("%5.2f x^%d ",sob[i],i);
}
}
{
printf("\n\tElige el punto para evaluar X = ");
scanf("%f",&val);
printf("\n\n\tP(%5.2f) = %5.2f ",val, poly(val,potencia(),sob));
return(0);
}
}
int Derivada()
{
int i;
float val;
for(i=1;i<n-1;i++) der[i-1]=(i*sob[i]);
printf("\n\n\tLa derivada de tu polinomio es:");
printf("\n\n\tP'(x) = ");
for (i=0;i<potencia();i++)
{
if (der[i]!=0)
{
if (i!=potencia()-1) printf (" %5.2f x^%d + ",der[i],i);
else printf ("%5.2f x^%d ",der[i],i);
}
}
printf("\n\n\tIngresa el punto en que evaluaras tu derivada\n\n\tx0 = ");
scanf("%f",&val);
printf("\n\tP'(%5.2f) = %5.2f ",val, poly(val,potencia()-1,der));
return(0);
}
vi. FORMULA DE BESSEL
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,j,n,p;
float X[50],Y[50][50],Val,K,Pol,Pol1,H,R;
float a,b,c,d,e,u,v,w,x,y,z;
clrscr();
gotoxy(20,1);printf("****** INTERPOLACION DE BESSEL ******");
for(i=1;i<=50;i++)
for(j=1;j<=50;j++) Y[i][j]=0;
printf("\n\n\tIntroduzca el numero de muestras, K : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
Y[i][j]=0;
}
}
printf("\n\tIntroduzca los valores de X:\n");
for(i=1;i<=n;i++)
{
printf("X[%d]\t",i);
scanf("%f",&X[i]);
}
printf("\n\tIntroduzca los valores de Y:\n");
for(i=1;i<=n;i++)
{
printf("Y[%d]\t",i);
scanf("%f",&Y[1][i]);
}
printf("Ingrese el valor de Xo:\t ");
scanf("%f",&Val);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
Y[i+1][j]=Y[i][j+1]-Y[i][j];
}
if(n%2==0) p=n/2;
else p=(n+1)/2;
clrscr();
printf("\n\t\tLa tabla de diferencias finitas es:");
printf("\nK");
for(i=-p+1;i<=n-p;i++) printf("%10d",i);
printf("\nX[0]");
for(i=1;i<=n;i++)
printf("%10.5f",X[i]);
printf("\n");
for(i=1;i<=n;i++)
{
printf("Y[%d]",i-1);
for(j=1;j<=n-i+1;j++)
printf("%10.5f",Y[i][j]);
printf("\n");
}
H=X[2]-X[1] ;
a=(Y[5][p-2]+Y[5][p-1])/48;
b=Y[4][p-1]/6-2*a;
c=(Y[3][p-1]+Y[3][p])/4-Y[4][p-1]/4-a;
d=Y[2][p]-(Y[3][p-1]+Y[3][p])/4+Y[4][p-1]/12+2*a;
e=(Y[1][p]+Y[1][p+1]-Y[2][p])/2; K=(Val-
X[p])/H;
R=X[p];
u=a/pow(H,4);
v=b/pow(H,3)-4*a*R/pow(H,4);
w=c/pow(H,2)-3*b*R/pow(H,3)+6*a*pow(R,2)/pow(H,4);
x=d/H-2*R*c/pow(H,2)+3*b*pow(R,2)/pow(H,3)-4*a*pow(R,3)/pow(H,4);
y=e-d*R/H+c*pow(R/H,2)-b*pow(R/H,3)+a*pow(R/H,4);
Pol=a*pow(K,4)+b*pow(K,3)+c*pow(K,2)+d*K+e;
Pol1= (4*a*pow(K,3)+3*b*pow(K,2)+2*c*K+d)/H;
printf("\n\t\tFORMULA DE BESSEL");
printf("\n\nY(x) = %3.2f*X^4 + %3.2f*X^3 + %3.2f*X^2 + %3.2f*X +
%3.2f",u,v,w,x,y);
printf("\n\nY(k) = %3.2f*K^4 + %3.2f*K^3 + %3.2f*K^2 + %3.2f*K +
%3.2f",a,b,c,d,e);
printf("\n\nY(%3.1f) = %3.2f",Val,Pol);
printf("\n\nY'(x) = %3.2f*X^3 + %3.2f*X^2 + %3.2f*X + %3.2f",4*u,3*v,2*w,x);
printf("\n\nY'(k) = %3.2f*K^3 + %3.2f*K^2 + %3.2f*K + %3.2f",4*a,3*b,2*c,d);
printf("\n\nY'(%3.1f) = %3.2f",Val,Pol1);
getch();
}
7. DIFERENCIACION NUMERICA
i. FORMULA DE GAUSS DE AVANCE
DE PRIMER ORDEN
#include<stdio.h>
#include<conio.h>
int n;
double x[10],fx[10];
double xd,dp;
void lectura()
{ int i, Respuesta;
clrscr();
printf("Introduzca el numero de Muestras :");
scanf("%d",&n);
for(i=0; i<=n; i++)
{ printf(" X(%d) = ",i);
scanf("%lf",&x[i]);
printf(" Y(%d) = ",i);
scanf("%lf",&fx[i]);
}
printf(" Ingrese el valor Xo para evaluar la derivada: ");
scanf("%lf",&xd);
}
double derivando()
{int i,j,k;
double p,p1,s;
dp=0;
for(i=0; i<=n; i++)
{
p=1;
for(j=0; j<=n; j++)
if(i != j) p=p*(x[i]-x[j]);
s=0;
for(k=0; k<=n; k++)
{
if (i !=k)
{
p1=1;
for(j=0; j<=n; j++)
if( !( (j==i) || (j==k) ) ) p1=p1*(xd-x[j]);
s=s+p1;
}
}
dp=dp+fx[i]/p*s;
}
return(0);
}
void main()
{ lectura(); derivando();
printf(" Evluando, Xo = %12.2f D/DX(F(Xo)) = %10.4f\n",xd,dp);getch();
}
10.8.2. FORMULA DE STIRLING
#include<stdio.h>
#include<conio.h>
#include<math.h>
void Ingresos();
int dif();
int ecua();
double val(double n);
int comb(float a, float b);
float pr(float A[10][10],int m);
int tam();
int potencia();
int Derivada();
float Y[10],Dif[10][10],A[10][10],M[10][10];
float DY[10],V[10],X[10],C[10],h;
int n;
double sob[10];
double der[10];
float ent;
#include"titulo.h"
void main()
{
int sele,i,j,k,m,g;
clrscr();
textbackground(3);
textcolor(8);
Titulo2("INTERPOLACION MEDIANTE FORMULA DE STIRLING");
{
for (i=0;i<n;i++) for (j=0;j<n;j++) M[i][j]=0;
for (i=0;i<10;i++) {sob[i]=0;DY[i]=0;V[i]=0;}
Ingresos();
tam();
M[0][0]=1;
ent=X[(int)n/2]/h;
m=0;
g=0;
for (i=1;i<=potencia();i++)
{
if ((i%2)==0)
{
for (k=0;k<10;k++) V[k]=0;
comb(m,i);
for(k=0;k<n;k++) V[k]=M[i][k];
comb(m+1,i);
for(k=0;k<n;k++) V[k]=V[k]+M[i][k];
for(k=0;k<n;k++) M[i][k]=V[k];
m=m+1;
}
else
{
comb (g,i);
g=g+1;
}
}

DY[0]=Y[(int) n/2];
i=(int) n/2;
k=(int) n/2;
for (j=1;j<=n;j++)
{
if ((j%2)==0)
{
i=i-1;
DY[j]=Dif[i][j]/(2*val(j));
}
else
{
DY[j]=(Dif[k][j]+Dif[k-1][j])/(2*val(j));k=k-1;
}
}
ecua();
Derivada();
getch();
}
}
void Ingresos()
{
int i,j;
printf("Numero de datos son: n = ");
scanf("%d",&n);
printf("\n\nIngresar X[i]:\n\n\n");
for(i=0;i<n;i++)
{
printf("\tX[%d] = ",i);
scanf("%f",&X[i]);
}
printf("\n\n\tIngresar Y[i]\n\n");
for (i=0;i<n;i++)
{
printf("\tY[%d]= ",i);
scanf("%f",&Y[i]);
}
dif();
}
int dif()
{
int i,j;
for (i=0;i<10;i++) for(j=0;j<10;j++) Dif[i][j]=0;
for (i=0;i<n;i++) Dif[i][0]=Y[i];
for (j=1;j<n;j++) for (i=0;i<n-j;i++) Dif[i][j]=Dif[i+1][j-1]-Dif[i][j-1];
return(0);}

float pr(float A[10][10],int m)


{
int i,j,k;
for (i=0;i<m;i++)
{
for (j=0;j<10;j++) M[m][j]=0;
for(j=0;j<10;j++)for (k=0;k<10;k++) M[m][j+k]=M[m][j+k]+A[i][j]*A[i+1][k];
for(j=0;j<10;j++) A[i+1][j]=M[m][j];
}
for(j=0;j<10;j++) M[m][j]=A[m-1][j];
return(0);
}
int comb(float a, float b)
{
int i,j;
for (i=0;i<10;i++) for (j=0;j<10;j++) A[i][j]=0;
for (i=0;i<b;i++)
{
A[i][0]=a-i-ent;;
A[i][1]=1/h;
}
pr(A,b);
return(0);
}
double val(double n)
{
if(n==0) return 1;
else return n*val(n-1);
}
int potencia()
{
int j,i,m=0,l=-1;
for(j=0;j<n;j++)
{
l=l+1;
for(i=0;i<n;i++) if (Dif[i][j]==0) m=m+1;
if (m==n) j=n;
m=0;
}
return(l-1);
}
int tam()
{
int i,j;
for (j=0;j<n;j++) C[j]=X[j];
for (j=0;j<n-1;j++) C[j]=C[j+1]-C[j];
h=C[(int) n/2];
return(0);
}
int ecua()
{
int op,i,j,x,y;
float val;
lrscr();
printf("la tabla de diferencias es:\n");
for(y=0;y<=n;y++)
{
for(x=0;x<=potencia();x++)
{
if (y<(n-x))
{
gotoxy(x*10+1,4+2*y+x);
printf("%10f",Dif[y][x]);
}
}
}

for (i=0;i<n;i++) for (j=0;j<n;j++) M[i][j]=M[i][j]*DY[i];


printf("\n\tEl grado del polinomio es: %d\n\n ",potencia());
printf("\tTu polinomio tiene la siguiente forma:\n\n");
for (j=0;j<n;j++) for (i=0;i<=potencia();i++) sob[j]=sob[j]+ M[i][j];
printf("\tP(x) = ");
for (i=0;i<=potencia();i++)
{
if (sob[i]!=0)
{
if (i!=potencia()) printf (" %5.2f x^%d + ",sob[i],i);
else printf ("%5.2f x^%d ",sob[i],i);
}
}
{
printf("\nElige el punto para evaluar X = ");
scanf("%f",&val);
printf("\n\nP(%5.2f) = %5.2f ",val, poly(val,potencia(),sob));
return(0);
}
}
int Derivada()
{
int i;
float val;
for(i=1;i<n-1;i++) der[i-1]=(i*sob[i]);
printf("\n\nLa derivada de tu polinomio es:");
printf("\n\n\tP'(x) = ");
for (i=0;i<potencia();i++)
{
if (der[i]!=0)
{
if (i!=potencia()-1) printf (" %5.2f x^%d + ",der[i],i);
else printf ("%5.2f x^%d ",der[i],i);
}
}
printf("\n\nx0 = ");
scanf("%f",&val);
printf("\n\tP'(%5.2f) = %5.2f ",val, poly(val,potencia()-1,der));
return(0);
}
8. INTEGRACION NUMERICA
i. CASO CONTINUO
SUMA DE RECTANGULOS
#include<conio.h>
#include<stdio.h>
#include<math.h>
void Leer_Datos();int Diferencias();double fact(double n);
int Equidistancia();float C[10],X[10],Y[10],Dif[10][10],DY[10];
float Ini,h;int n;void RECTANGULOS();
void main()
{ int i;float A=0;
Leer_Datos();
Equidistancia();
for (i=0;i<n;i++) A=A+Y[i];
printf(" area aproximada es %10.3f",h*A);
getch();
}
void Leer_Datos()
{ clrscr();
int i,j;
printf("Ingrese el numero de datos\n");scanf("%d",&n);
printf("Ingrese los valores de X[i]\n");
for(i=0;i<n;i++)
{ printf("\tX[%d]= ",i); scanf("%f",&X[i]);
}
printf("Ingrese los valores de Y[i]\n");
for (i=0;i<n;i++)
{ printf("\tY[%d]= ",i); scanf("%f",&Y[i]);
}
Diferencias();
}
int Diferencias()
{ int i,j;
for (i=0;i<10;i++) for(j=0;j<10;j++) Dif[i][j]=0;
for (i=0;i<n;i++) Dif[i][0]=Y[i];
for (j=1;j<n;j++) for (i=0;i<n-j;i++) Dif[i][j]=Dif[i+1][j-1]-Dif[i][j-1];
return(0);
}
double fact(double n)
{ if(n==0) return 1;
else return n*fact(n-1);
}

int Equidistancia()
{
int i,j;
for (j=0;j<n;j++) C[j]=X[j];
for (j=0;j<n-1;j++) C[j]=C[j+1]-C[j];
h=C[(int) n/2];
return(0);
}
10.9.1. SUMA DE TRAPECIOS
#include "conio.h"
#include "fstream.h"
#include "math.h"
float f(float x)
{
return exp(-x*x)/sqrt(2*3.141592);
}
void main()
{
float fa,fb,a,b,h,x,I,n;
clrscr();
cout<<"\tMETODO DEL TRAPECIO\n";
cout<<"\n\tIngrese a = "; cin>>a;
cout<<"\tIngrese b = "; cin>>b;
cout<<"\tIngrese n = "; cin>>n;
h=(b-a)/n;
x=a+h;I=0;
do{
I=I+f(x);
x=x+h;
}
while (x<b);
fa=f(a);fb=f(b);
I=h*(fa+2*I+fb)/2;
cout<<"\n\tIntegral I = "<<I;
getch();
}
10.9.2. METODO DE SIMPSON
#include "conio.h"
#include "fstream.h"
#include "math.h"
float f(float x)
{
return exp(-x*x)/sqrt(2*3.141592);
}
void main()
{
double n,fx1,fx2,a,b,I,h,x1,x2,fa,fb,I1,I2;
clrscr();
cout<<"\n\tMETODO DE SIMPSON\n";
cout<<"\n\tIngrese a = "; cin>>a;
cout<<"\tIngrese b = "; cin>>b;
cout<<"\tIngrese divisiones n(par) = "; cin>>n;
h=(b-a)/n;
x1=a+h; x2=a+2*h; I1=0; I2=0;
do{
fx1=f(x1);
I1=I1+4*fx1;
x1=x1+2*h;
}
while (x1<b);
do{
fx2=f(x2);
I2=I2+2*fx2;
x2=x2+2*h;
}
while (x2<b);
fa=f(a); fb=f(b);
I=h*(fa+I1+I2+fb)/3;
cout<<"\n\tIntegral I = "<<I;
getch();
}
CASO DISCRETO: FORMULA DE NEWTON – COTES
SIMPSON 1/3
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<math.h>
int Q,W,N;float A, B , Iv, Ic, R, C,H,D,E;
void main(void)
{clrscr();
gotoxy(18,1);
cout<<("********** METODO DE 1/3 SIMPSON *************");
cout<<("\n\n");gotoxy(25,3);cout<<("\n\n\n");
cout<<("introduzca el valor del limite inferior: ");cin>>A;
cout<<("introduzca el valor del limite superior: ");cin>>B;
cout<<("introduzca el valor verdadero de la integral: ");cin>>Iv;
cout<<("introduzca el valor de N requerido: ");cin>>N;clrscr();
gotoxy(12,4);cout<<("********** RESULTADO **********");
gotoxy(10,6);cout<<("N");gotoxy(20,6);cout<<(" H ");
gotoxy(30,6);cout<<(" Ic ");gotoxy(40,6);cout<<("Error ");
if ((N%2)== 0)
{
Q=1;
W=2;
H=((B-A)/N);
C= pow(A,3)- 2*pow(A,2) + A + 2 ;//ECUACION EN FUNCION DE "A"
do
{D=(A+(Q*H));
if(D==B)
{E= pow(D,3) - 2*pow(D,2) + D + 2 ;//ECUACION EN FUNCION DE "D"
C=C+E;
}
else
{if ((W%2)==0)
{E= pow(D,3) - 2*pow(D,2) + D + 2 ;//ECUACION EN FUNCION DE "D"
C=C+(4*E);
}else{E=1/(2+D);C=C+(2*E);}}
Q=Q+1;
W=W+1;
} while(D<B);
Ic=(H/3)*C;
R=Iv-Ic;
gotoxy(10,8);cout<<N;
gotoxy(20,8);cout<<H;
gotoxy(28,8);cout<<Ic;
gotoxy(40,8);cout<<R;
}
else
{
gotoxy(7,9);cout<<("ERROR EL METODO SIRVE PARA MULTIPLOS DE 2");
}
getch();
}
SIMPSON 3/8
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<math.h>
int Q,N;
float A, B ,i, Iv, Ic, R, C, D,E,H;
main()
{clrscr();gotoxy(18,1);
cout<<("********** METODO DE 3/8 SIMPSON *************");
cout<<("\n\n");gotoxy(23,3);cout<<("\n\n\n");
cout<<("introduzca el valor del limite inferior: ");cin>>A;
cout<<("introduzca el valor del limite superior: ");cin>>B;
cout<<("introduzca el valor verdadero de la integral: ");cin>>Iv;
cout<<("introduzca el valor de N requerido: ");cin>>N;
clrscr();
gotoxy(12,4);cout<<("********** RESULTADO **********");
gotoxy(10,6);cout<<("N");gotoxy(20,6);cout<<(" H ");
gotoxy(30,6);cout<<(" Ic ");gotoxy(40,6);cout<<("Error ");
if ((N%3)==0)
{Q=1;
H=((B-A)/N);
C= 1/sqrt(1-A) ;//ECUACION EN FUNCION DE "A"
do
{D=(A+(Q*H));
if(D==B)
{E= 1/sqrt(1-D) ;//ECUACION EN FUNCION DE "D"
C=C+E;
}
else
{E= E= 1/sqrt(1-D) ;//ECUACION EN FUNCION DE "D"
C=C+(3*E);
}
Q=Q+1;
}
while(D<B);
Ic=((H*3)/8)*C;
R=Iv-Ic;
gotoxy(10,8);cout<<N;
gotoxy(20,8);cout<<H;
gotoxy(28,8);cout<<Ic;
gotoxy(40,8);cout<<R;
}
else
{
gotoxy(7,9);cout<<("ERROR EL METODO SIRVE PARA MULTIPLOS DE 3");
}
getch();
}
CUADRATURA GAUSSIANA

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>
#include<iomanip.h>
#include<stdlib.h>
#include<process.h>
double funcion(double x)
{return(1/(x+2)); //ingrese aqui la funcion
}
void main()
{double W[20],X[10],a,b,alfa,h,s,R,C,RF,W1; int i,j,c,n;
clrscr();
gotoxy(20,1);
cout<<("****** DIFERENCIAS FINITAS ******");
cout<<("\n\n");
gotoxy(24,3);
cout<<("\n\n\n");
cout<<"INTEGRACION NUMERICA\n<<METODO DE CUADRATURA DE GAUSS>>\nLa funcion debe ser
insertada antes de correr el programa.\nPara usar el programa es necesario la tabla
de puntos y pesos de Gauss.\n\n";
cout<<"\n";
cout<<"Ingrese n"<<": ";
cin>>n;
cout<<"Ingrese los puntos de Gauss:\n";
for(i=1;i<=n;i++){
cout<<"X["<<i<<"]: ";
cin>>X[i];}
cout<<"Ingrese los valores de W:\n";
for(i=1;i<=n;i++){
cout<<"W["<<i<<"]: ";
cin>>W[i];}
cout<<"\nIngrese el punto A: ";
cin>>a;
cout<<"Ingrese el punto B: ";
cin>>b;
cout<<"El valor de la integral es:\n";
cout<<"\n n I\n";
s=0;
for(j=1;j<=n;j++){
C=((b-a)*X[j]+a+b)/2;
R=W[j]*funcion(C);
s=s+R;}
RF=((b-a)/2)*s;
printf(" %3d %15.12f\n",n,RF);
getch();}
METODO DE ROMBERG
#include<conio.h>
#include<stdio.h>
#include<math.h>
void Ingresos();
int dif();
int Tam();
float Ini,h,C[50],X[50],Y[50],Dif[50][50],DY[50],V[50],vec[50],RB[50][50];
int n,Fac[10];
void Integra();
int coef(int N);
int caract(int N);
float FaC();
float trapecios(float H, float cr[10],int Lim);
void main()
{ clrscr();
printf("\n\t\t INTEGRACION MEDIANTE ROMBERG");
Integra();
}
void Integra()
{ int i,j,k,m,g;
int Limite;
Ingresos();
Tam();
Limite=coef(n-1);
for (i=0;i<Limite;i++)
{ caract(Fac[i]);
RB[i][0]=trapecios(h*Fac[i],vec,caract(Fac[i]));
}
for(j=1;j<Limite;j++)
{ for (i=0;i<(Limite-j);i++)
{
RB[i][j]=RB[i+1][j-1]+((RB[i+1][j-1]-RB[i][j-1])/(pow(2,2*j)-1));
}
}
printf("\nEl area calculada es I = %10.1f",(2*RB[Limite-2][1]+FaC())/3);
getch();
}
int coef(int N)
{ int j=N;
int i;
if ((N % 2)== 0)
{ for (i=0;i<=N;i++)
{
if ((N%2)==0) Fac[i]=j;
j=j/2;
}
j=0;
for (i=0;i<=N;i++)
{
if (Fac[i]!=0) j=j+1;
}}
else
{clrscr();
printf ("Se necesita mayor cantidad de datos");
}
return(j);
}
int caract(int N)
{ int j=0;
int i=0,lon;
for (i=0;i<10;i++) vec[i]=0;
if (((N % 2)== 0)||(N==1))
{ for (i=0;i<n;i=i+N)
{
vec[j]=Y[i];
j=j+1;
}
lon=j; //nos da el tama¤o del vector vec
}
else
{ clrscr();
printf ("Debes ingresar mas datos ");
}
return(lon);
}
float trapecios(float H, float cr[10],int Lim)
{ int i;
float Sum=0;
float Area=0;
Sum=cr[0]+cr[Lim-1];
for (i=1;i<Lim-1;i++) Sum=Sum+2*cr[i];
Area=(float)(H/2)*Sum;
return(Area);
}
void Ingresos()
{
int i,j;
printf("\n\n\n\n\t\tIngrese k=");
scanf("%d",&n);
printf("\n\t\tIngresar X[i]\n\n");
for(i=0;i<n;i++)
{
printf("\tX[%d] = ",i);
scanf("%f",&X[i]);
}
printf("\n\n\t\tIngresar Y[i]\n\n");
for (i=0;i<n;i++)
{ printf("\tY[%d] = ",i);
scanf("%f",&Y[i]);
}
dif();
}
int dif()
{
int i,j;
for (i=0;i<10;i++) for(j=0;j<10;j++) Dif[i][j]=0;
for (i=0;i<n;i++) Dif[i][0]=Y[i];
for (j=1;j<n;j++) for (i=0;i<n-j;i++) Dif[i][j]=Dif[i+1][j-1]-Dif[i][j-1];
return(0);
}
int Tam()
{
int i,j;
for (j=0;j<n;j++) C[j]=X[j];
for (j=0;j<n-1;j++) C[j]=C[j+1]-C[j];
h=C[(int) n/2];
return(0);
}
float FaC()
{
int i; float Suma=0;
Suma=Y[0]+Y[n-1];
for (i=1;i<n-1;i++)
{
if((i%3)==0) Suma=Suma+2*Y[i];
else Suma=Suma+3*Y[i];
}
Suma=(3*h/8)*Suma;
return Suma;
int Limite,j;
printf("\t\tTu tabla es:\n\n");
for(i=0;i<Limite;i++)
{
for(j=0;j<(Limite-i);j++) printf("%10.3f",RB[i][j]);
printf("\n");
}
}
9. ECUACIONES DIFERENCIALES ORDINARIAS
i. METODO DE EULER
#include "conio.h"
#include "fstream.h"
#include "math.h"
#include "iostream.h"
float Df(float x,float y)
{
return y/x+2*x*y; // Ecuacion Diferencial y'=y/x+2*x*y
}
void main()
{
float fa,a,b,x,y,h,df;
clrscr();
gotoxy(20,1);
cout<<("****** METODO DE EULER ******");
cout<<("\n\n");
gotoxy(28,3);
cout<<("\n\n\n");
cout<<"\n\tIngrese a = ";cin>>a;
cout<<"\tIngrese b = ";cin>>b;
cout<<"\tIngrese f(a) = ";cin>>fa;
cout<<"\tIngrese h = ";cin>>h;
x=a;y=fa;
do{
y=y+h*Df(x,y);
cout<<"\n\tx = "<<x;
cout<<"\t\t\ty = "<<y;
x=x+h;
}
while (x<=b+h);
getch();
}
METODO DE EULER MEJORADO, METODO DE HEUN
#include "conio.h"
#include "fstream.h"
#include "math.h"
double oper(double x,double y,double h)
{
return y*(1+0.5*h*(1/x+2*x) )/(1-(1/(x+h)+2*(x+h))*0.5*h);
}
void main()
{
double fa,a,b,x,y,h,df;
clrscr();
gotoxy(20,1);
cout<<("****** METODO DE EULER MODIFICADO ******");
cout<<("\n\n");
gotoxy(25,3);
cout<<("\n\n\n");
cout<<"\n\tIngrese a = "; cin>>a;
cout<<"\tIngrese b = "; cin>>b;
cout<<"\tIngrese f(a) = "; cin>>fa;
cout<<"\tIngrese h = "; cin>>h;
x=a; y=fa;
do{
y=oper(x,y,h);
x=x+h;
cout<<"\n\tx = "<<x;
cout<<"\t\ty = "<<y;
} while (x<b);
getch();
}
ii. METODO DE TAYLOR
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
// METODO DE TAYLOR PARA RESOLVER ECUACIONES DIFERENCIALES
// DEFINA F DONDE Y^= F(X,Y)
float F (float X,float Y)
{
return Y * Y / X;
}

// INTRODUZCA LA DERIVADA PARCIAL DE F CON RESPECTO A Y


float FY (float X,float Y)
{
return 2 * Y / X;
}

//INTRODUZCA LA DERIVADA PARCIAL DE F CON RESPECTO A X


float FX (float X,float Y)
{
return -Y * Y / (X * X);
}
main()
{
int K,N,I;
float X,Y,H,B;
clrscr();
gotoxy(20,1);
cout<<("****** METODO DE TAYLOR ******");
cout<<("\n\n");
gotoxy(21,3);
cout<<("\n\n\n");
// DEFINA EL NUMERO DE SUNINTERVALOS
printf("INTRODUZCA EL VALOR DE K\nK=");
scanf("%d", &K); N = K;
printf ("INTRODUZCA EL VALOR DE B\nB=");
scanf("%f", &B);
// CONDICIONES INICIALES
printf ("CONDICIONES INICIALES DE X\nX=");
scanf("%f", &X);
printf ("CONDICIONES INICIALES DE Y\n") ;
scanf("%f", &Y);
H=(B-X)/N;
printf("K\tXK\tYK\n");
printf("0\t%f\t%f\n",X, Y);
for(I = 1;I<=N;I++)
{
Y = Y + H * F(X, Y) + .5 * H * H*(FX(X, Y) + F(X, Y) * FY(X, Y));
X = X + H;
printf("%d\t%f\t%f\n",I, X, Y);
}
getch();
}
iii. METODO DE RUNGE – KUTTA DE SEGUNDO ORDEN
#include "conio.h"
#include "fstream.h"
#include "math.h"
double f(double x,double y)
{ return y/x+2*x*y; // Ecuacion Diferencial y'=y/x+2*x*y
}

double K1(double h,double y,double x)


{ return h*f(x,y); // Ecuacion Diferencial // y'=-0.4y+0.2
}

double K2(double h,double y,double x,double k1)


{ return h*f(x+h,y+k1);
}

void main()
{ double fa,a,b,x,y,h,k1,k2;
clrscr();
cout<<"\n\tMETODO DE RUNGE KUTTA (ORDEN 2)\n";
cout<<"\n\tIngrese a = "; cin>>a;
cout<<"\tIngrese b = "; cin>>b;
cout<<"\tIngrese f(a) = "; cin>>fa;
cout<<"\tIngrese h = "; cin>>h;
x=a; y=fa;
do{
k1=K1(h,y,x);
k2=K2(h,y,x,k1);
x=x+h;
y=y+(k1+k2)/2;
cout<<"\n\tk1 = "<<k1;
cout<<"\tk2 = "<<k2;
cout<<"\tx = "<<x;
cout<<"\ty = "<<y;
}
while (x<b);
getch();
}
iv. METODO DE RUNGE - KUTTA DE CUARTO ORDEN
#include<stdio.h>
#include<math.h>
#include<conio.h>
float f(float x,float y)
{
return x*x-y*y*y;
}
main()
{
clrscr();
printf("\t\t###########ECUACIONES DIFERENCIALES ##############\n");
printf("\t\t###############F=f(x,y)=2xy#####################\n");
printf("\n\n\t insertar:\n");
float a,b,h;
int k,N;
printf("\n\ta=");scanf("%f",&a);
printf("\n\tb=");scanf("%f",&b);
printf("\n\tN=");scanf("%d",&N);
float Y[100],X[100];
printf("\n\tx0=");scanf("%f",&X[0]);
printf("\n\ty0=");scanf("%f",&Y[0]);
h=(b-a)/N;
printf("\n\tk\t xk\t yk\t real\n");
printf("\n\t------------------------------\n");
float k1,k2,k3,k4;
for(k=0;k<=N;k++)
{
k1=f(X[k],Y[k]);
k2=f(X[k]+h/2,Y[k]+h*k1/2);
k3=f(X[k]+h/2,Y[k]+h*k2/2);
k4=f(X[k]+h,Y[k]+h*k3);
Y[k+1]=Y[k]+h*(k1+2*k2+2*k3+k4)/6;
X[k+1]=X[k]+h;
printf("\t%d\t%0.4f\t%0.4f\t%0.4f\n",k,X[k],Y[k],exp(X[k]*X[k]-1));

}
getch();

}
v. PREDICTOR CORRECTOR
#include "conio.h"
#include "fstream.h"
#include "math.h"
double f(double x,double y)
{
return y/x+2*x*y;
// Ecuacion Diferencial y'=y/x+2*x*y
}
void main()
{
double fa,a,b,x,y,y1,h,df,yo,error=1e-6;
int n=1;
clrscr();
gotoxy(20,1);
cout<<("****** METODO PREDICTOR CORRECTOR ******");
cout<<("\n\n");
gotoxy(25,3);
cout<<("\n\n\n");
cout<<"\n\tIngrese a = ";cin>>a;
cout<<"\tIngrese b = ";cin>>b;
cout<<"\tIngrese f(a) = ";cin>>fa;
cout<<"\tIngrese h = ";cin>>h;
x=a;y=fa;
do{
//PREDICTOR: EULER
yo=y;
y=y+h*f(x,y);
//CORRECTOR: EULER MODIFICADO
do{
y1=y;
y=yo+0.5*h*( f(x,yo)+f(x+h,y) );
}while( fabs(y-y1)<error);

cout<<"\n\tx = "<<x;
cout<<"\t\t\ty = "<<yo;
// n=n+1;
x=x+h;
}
while (x<=b+h);
getch();
}
10. CONCLUSION.

Podemos decir que en el transcurso de trabajo realizamos un uso muy rico de las distintas librerías que
presenta el programa de Borland C, pero es bueno decir que existen muchas librarías mas que no se
utilizaron en el presente trabajo, también realizamos las sintaxis de muchos programas de manera
ordenada y clara, así cumpliendo con nuestros objetivos previamente planteados podemos concluir que el
documento se realizo de manera satisfactoria, esperando siempre recomendaciones y sugerencias de
muchos lectores, y agradeciendo e antemano todas sus criticas constructivas, también agradecer a la
licenciada V. Zota Uño docente titular de la carrera de Ingeniería Electrónica que un semestre antes nos
dicto la materia de Programación “ETN-307” que fue de grana ayuda para este trabajo, así concluyo que
el trabajo se lo realizó de manera satisfactoria

También podría gustarte