Código de C/Visual C - Algoritmo para el cálculo de la bisección para la búsqueda d

Algoritmo para el cálculo de la bisección para la búsqueda dgráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(7)
Publicado el 19 de Febrero del 2002 por Kevin Almeida
27.013 visualizaciones desde el 19 de Febrero del 2002. Una media de 35 por semana
Este código resuelve el método de la bisección para la busqueda de raices exactas y aproximadas realizado en C.

Versión 1
estrellaestrellaestrellaestrellaestrella(7)

Publicado el 19 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
27.014 visualizaciones desde el 19 de Febrero del 2002. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void Lee_Datos(void);
double Funcion(double X);
 
double a, b, Error;
int Max_Iter;
 
int main(void)
{
double Error_Aprox, Prod;
double Xr, Xn;
int Ciclos = 0;
 
Lee_Datos();
if(Funcion(a)*Funcion(b)>0)
{
	printf("\n No Existe Raiz en el intervalo ???");
}else
{
	Xr=(a+b)/2;
	printf("\n-----------------------------------------");
	Error_Aprox = 1;
	printf("\n Ciclo	a	b	Xn	Error");
	printf("\n-----------------------------------------");
	printf("\n%3d%10.4f%10.4f%10.4f",Ciclos,a,b,Xr);
 
	while (Ciclos<=Max_Iter && Error<Error_Aprox)
	{
		Prod=Funcion(a)*Funcion(b);
		if (Prod==0)
		{
			printf("La raiz es %lf",Xr);
		}else{
			if(Prod<0)
			{
				b=Xr;
			}else{
				a=Xr;
			}
		}
		Xn=(a+b)/2;
		Ciclos+=1;
		Error_Aprox=fabs((Xn-Xr)/Xn);
		printf("\n%3d%10.4f%10.4f%10.4f",Ciclos,a,b,Xn,Error_Aprox);
		Xr=Xn;
	}
	if(Ciclos<Max_Iter)
	{
		printf("\n--------------------------------------");
		printf("\n\n La Raiz de la Ecuacion es => %lf",Xn);
		printf("\n Se encontro en %d Iteraciones",Ciclos);
	}else{
		printf("\n No se encontro raiz en %d Iteraciones",Ciclos);
	}
}
getch();
return 0;
}
 
void Lee_Datos(void)
{
	clrscr();
	printf("\nDar el valor de Xi ..........  ");
	scanf("%lf",&a);
	printf("\nDar el valor de Xf ..........  ");
	scanf("%lf",&b);
	printf("\nCual es el Error Permitido ... ");
	scanf("%lf",&Error);
	printf("\nCual es el Maximo de Ciclos .. ");
	scanf("%d",&Max_Iter);
}
 
double Funcion(double X)
{
	return(pow((1+X),10)-1)/(X*pow((1+X),10))-5;
}



Comentarios sobre la versión: Versión 1 (7)

Ing Rafael Peralta
21 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
LO resuel ve con una exactitud tremenda
Responder
quique
24 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
el programa me salvo la vida, chido
Responder
serge
22 de Febrero del 2006
estrellaestrellaestrellaestrellaestrella
Oye que buen programa es muy exacto...Gracias por compartir
Responder
jonathan espinoza
23 de Abril del 2010
estrellaestrellaestrellaestrellaestrella
Hola, me corre bien pero no se que valores debo ingresar para ver por lo menos que funcione.. sorry la ignorancia.. mi profesor de metodos numericos lleva tres semanas que no va a clases y nos esta dando recien en dos clases lo que serian en tres semans y nos tiene como locos.. ni si quera se que poner para hacer que el programa funcione.

Podrias indicarme brevemente que valores poner como por ejemplo : a) -1 b)5 c.)0.01 d)5 algo asi gracias de antemano
Responder
Karen
18 de Noviembre del 2014
estrellaestrellaestrellaestrellaestrella
Wow! me sirvió de mucha ayuda.
Felicidades :D
Responder
Esteban
13 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
por favor me explican como usarlo?
Responder
juan
24 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
amigo me sale un error en la linea 65
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s107