Algoritmo
Generalidades
Definicion: Un algoritmo es un conjunto secuencial de operaciones algebraicas y lógicas para obtener la solución de un problema. Generalmente, se dispone de varios algoritmos para resolver un problema particular, mediante una serie de datos preciso, definidos y finitos.
La resolución de un problema exige el diseño de un algoritmo que resuelva el problema propuesto.
Los pasos para la resolución de un problema son:
Los pasos para la resolución de un problema son:
1. Diseño de algoritmo, que describe la secuencia ordenada de pasos que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa de lenguaje de programación adecuado. (Fase decodificación.)
3. Ejecución y validación del programa por la computadora.
Para llegar a la realización de un programa es necesario el diseño previo de algoritmo, de modo quesin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como dela computadora que lo ejecuta.
La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
Simbología (para ver la simbología de click en en link) Simbología
Características de los Algoritmos:
Las características fundamentales que debe cumplir todo algoritmo son:
Las características fundamentales que debe cumplir todo algoritmo son:
- Un algoritmo debe ser preciso e indicar el orden de realización de cada paso
- Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
- Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
Un lenguaje de programación es tan solo un medio para expresar un algoritmo y una computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de programación como la computadora son los mediospara obtener un fin: conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente.
Se puede ahora empezar con el proceso de desarrollar programas para una computadora. Un programa es simplemente un conjunto de instrucciones para la computadora particular, en conjunto se les llamaSoftware.
Aproximaciones
La mayor parte de las técnicas tiene la característica de posser errores. aunque la perfección es una meta digna de alabarse, es difícil, si no imposible, alcanzarla. Sin embargo, sus distribuciónes aleatorias se agrupa muy próxima alradedor de la predicción.
En algunos conceptos básicos de los Métodos Numéricos podemos encontrar los siguentes: Cifra Significativa, Precisión, Exactitud, Incertidumbre Y Sesgo. Que forman parte a las aproximasiones y predicciones numéricas adecuadas.
Cifras significativas: Cuando se emplea un número en un cálculo, debe haber seguridad de que pueda usarse con confianza. El concepto de cifras significativas tiene dos implicaciones importantes en el estudio de los métodos numéricos.
1.- Los métodos numéricos obtienen resultados aproximados. Por lo tanto, se debe desarrollar criterios para especificar qué tan precisos son los resultados obtenidos.
2.- Aunque ciertos números representan número específicos, no se pueden expresar exactamente con un número finito de cifras.
Por lo que podemos tener un Algoritmos De Aproximación
Dado un problema completo, es probable que no sepamos resolverlo de manera precisa y completa utilizando un algoritmo polimico en tiempo. Para este tipo de problemas, los algoritmos que no conducen a una solución óptima se llaman algoritmos de aproximación. Sin embargo, resulta parcialmente interesante que estos garanticen una cota en el margen de imprecisión.
Exactitud y Precisión: La exactitud se refiere a que tan cercano está el valor calculado o medido del valor verdadero. La precisión se refiere a qué tan cercano está un valor individual medido o calculado respecto a los otros

CODIGO:
Pseudocodigo
Datos entrada: intervalo, numero iteraciones, función
Datos salida: intervalos con raíz, raíces
Codigo Matlab/Octave
Se debe crear un arrchivo .m llamado busquedaincremental y copiar y pegar el siguiente codigo
function busquedaincremental
f=input('ingrese la funcion: ','s');
a=input('ingrese el valor inferior del intervalo: ');
b=input('ingrese el valor superior del intervalo: ');
f=inline(f);
n=input('defina el numero de iteraciones deseadas: ');
fprintf('\n Intervalos con raiz \n a b \n')
paso=(b-a)/n;
x0=a;
x1=a+paso;
l=1;
r=1;
raiz=0;
ni=0;
for i=1:n
if f(x0)==0
raiz(r)=x0;
r=r+1;
else if f(x0)*f(x1)<0
fprintf(' %2.4f %2.4f \n',x0,x1)
intervalo(l,1)=x0;
intervalo(l,2)=x1;
l=l+1;
ni=ni+1;
end
end
x0=x1;
x1=x1+paso;
end
if f(x0)==0
raiz(r)=x0;
end
if ni==0
fprintf('No se detectaron intervalos con cambio de signo que indiquen la existencia de una raiz\n')
end
if raiz~=0
fprintf('%1.10f es raiz\n',raiz)
end
end

CODIGO:
Datos de entrada:
Opción 1
Intervalo grande
numero de iteraciones
Opción 2
Un punto de inicio
un delta
numero de iteraciones
|
Pseudocodigo
Datos entrada: intervalo, numero iteraciones, función
Datos salida: intervalos con raíz, raíces
paso=(b-a)/n
x0=a
x1=a+paso
l=1
r=1
raiz=0
ni=0
para i=1 hasta n
si f(x0)=0
raiz(r)=x0
r=r+1
sino si f(x0)*f(x1)<0
intervalo(l,1)=x0
intervalo(l,2)=x1
l=l+1
ni=ni+1
fin si
x0=x1
x1=x1+paso
fin para
si f(x0)=0
raiz(r)=x0
fin si
if ni=0
Escriba 'No se detectaron intervalos con cambio de signo que indiquen la existencia de una raiz’
Fin si
si raiz~=0
escriba ‘raiz es raiz'
fin si
Codigo Matlab/Octave
Se debe crear un arrchivo .m llamado busquedaincremental y copiar y pegar el siguiente codigo
function busquedaincremental
f=input('ingrese la funcion: ','s');
a=input('ingrese el valor inferior del intervalo: ');
b=input('ingrese el valor superior del intervalo: ');
f=inline(f);
n=input('defina el numero de iteraciones deseadas: ');
fprintf('\n Intervalos con raiz \n a b \n')
paso=(b-a)/n;
x0=a;
x1=a+paso;
l=1;
r=1;
raiz=0;
ni=0;
for i=1:n
if f(x0)==0
raiz(r)=x0;
r=r+1;
else if f(x0)*f(x1)<0
fprintf(' %2.4f %2.4f \n',x0,x1)
intervalo(l,1)=x0;
intervalo(l,2)=x1;
l=l+1;
ni=ni+1;
end
end
x0=x1;
x1=x1+paso;
end
if f(x0)==0
raiz(r)=x0;
end
if ni==0
fprintf('No se detectaron intervalos con cambio de signo que indiquen la existencia de una raiz\n')
end
if raiz~=0
fprintf('%1.10f es raiz\n',raiz)
end
end
Comentarios
Publicar un comentario