Diferencia entre revisiones de «Algoritmo»

Contenido eliminado Contenido añadido
Sin resumen de edición
m Revertido a la revisión 29745709 hecha por Diegusjaimes. (TW)
Línea 1:
[[Archivo:LampFlowchart-es.svg|thumb|Los [[diagramas de flujo]] sirven para representar algoritmos de manera gráfica.]]
En [[matemáticas]], [[ciencias de la computación]] y disciplinas relacionadas, un '''algoritmo''' (del latín, ''dixit algorithmus'' y Conjuntoéste a su vez del matemático persa [[Al Juarismi]]<ref>[http://www.lanacion.com.ar/nota.asp?nota_id=1171506&pid=&toi=]</ref>) es una lista bien definida, ordenada y finita de instruccionesoperaciones que permite hallar la resoluciónsolución dea un problema. Dado un estado inicial y una pasoentrada, a pasotravés de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la '''algoritmia'''.
persa [[Al Juarismi]]<ref>[http://www.lanacion.com.ar/nota.asp?nota_id=1171506&pid=&toi=]</ref>) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la '''algoritmia'''.
 
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su [[patrón]]. También existen ejemplos de índole matemática, como el algoritmo de la [[división]] para calcular el cociente de dos números, el [[algoritmo de Euclides]] para calcular el [[máximo común divisor]] de dos [[Números enteros|enteros]] positivos, o el [[eliminación de Gauss-Jordan|método de Gauss]] para resolver un [[Sistema lineal de ecuaciones]].
Línea 36 ⟶ 35:
== Algoritmos y funciones ==
{{AP|Teoría de la computabilidad}}
Formalmente, un algoritmo calcula a una función. Como cualquier conjunto finito es numerable, y cualquier conjunto no numerable se puede expresar en términos del conjunto de los números naturales (infinito, pero numerable, de hecho no existe otro conjunto más grande que sea también numerable), en esencia, todo algoritmo calcula a funciones definidas en los numeros naturales. En este punto, una función está parcial o totalmente definida. Una función es parcial cuando hay números naturales que no pertenecen a su dominio (es decir, hay números naturales sobre los que no está definida la función), y una función es total en caso contrario.
 
Si una función es parcial, el algoritmo que lo calcula solo devolverá un resultado (es decir gasta un tiempo de cálculo finito) para los valores en los que la función está definida, no devolviendo resultado (el tiempo de cálculo es infinito) para el resto de valores. Si un algoritmo que calcula a una función parcial devolviera un resultado para los valores no definidos de la función, entonces no calcularía a esa función sino a otra. Del mismo modo, un algoritmo que calcula a una función total siempre devuelve un resultado para todo valor, y que al igual que las funciones parciales, éste debe coincidir exactamente con el valor que devuelve la función a la que calcula; y reiterativamente, en caso contrario, no calcularía a esa función sino a otra. Así, todo algoritmo (secuencia de pasos finita, ordenada y definida) calcula a una función definida sobre los números naturales, sea cuál sea ésta su naturaleza.