Está en la página 1de 5

algoritmo

Introducion

En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas,


un algoritmo (del griego y latín, dixit algorithmusy este a su vez del matemático persa Al-
Juarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
finitas que permite realizar una actividad mediante pasos sucesivos que no generen
dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada,
siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los
algoritmos son el objeto de estudio de la algoritmia.

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas.


Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un
aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos
ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el
algoritmo de la división para calcular el cociente de dos números, el algoritmo de
Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de
Gauss para resolver un sistema de ecuaciones lineales.

Desarrollo
En general, no existe ningún consenso definitivo en cuanto a la definición formal de
algoritmo. Muchos autores los señalan como listas de instrucciones para resolver
un cálculo o un problema abstracto, es decir, que un número finito de pasos convierten los
datos de un problema (entrada) en una solución (salida).1 2 3 4 5 6 Sin embargo cabe notar
que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en
particular. Por ejemplo, una versión modificada de lacriba de Eratóstenes que nunca
termine de calcular números primos no deja de ser un algoritmo.7

A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos
utilizando modelos matemáticos. Esto fue realizado por Alonzo Church en 1936 con el
concepto de "calculabilidad efectiva" basada en su cálculo lambda y por Alan
Turing basándose en la máquina de Turing. Los dos enfoques son equivalentes, en el
sentido en que se pueden resolver exactamente los mismos problemas con ambos
enfoques.8 9 Sin embargo, estos modelos están sujetos a un tipo particular de datos como
son números, símbolos o gráficas mientras que, en general, los algoritmos funcionan
sobre una vasta cantidad de estructuras de datos.31 En general, la parte común en todas
las definiciones se puede resumir en las siguientes tres propiedades siempre y cuando no
consideremos algoritmos paralelos:

Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–,


definiendo así una secuencia de estados "computacionales" por cada entrada
válida (la entrada son los datos que se le suministran al algoritmo antes de
comenzar).
Estado abstracto. Cada estado computacional puede ser descrito formalmente
utilizando una estructura de primer orden y cada algoritmo es independiente de su
implementación (los algoritmos son objetos abstractos) de manera que en un
algoritmo las estructuras de primer orden son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda
completamente determinada por una descripción fija y finita; es decir, entre cada
estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y
limitada de términos del estado actual.

En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde


cada paso se pueda describir sin ambigüedad y sin hacer referencia a una
computadora en particular, y además tiene un límite fijo en cuanto a la
cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia
definición abarca tanto a algoritmos prácticos como aquellos que solo
funcionan en teoría, por ejemplo el método de Newton y la eliminación de
Gauss-Jordan funcionan, al menos en principio, con números de precisión
infinita; sin embargo no es posible programar la precisión infinita en una
computadora, y no por ello dejan de ser algoritmos.10 En particular es posible
considerar una cuarta propiedad que puede ser usada para validar la tesis de
Church-Turing de que toda función calculable se puede programar en una
máquina de Turing (o equivalentemente, en un lenguaje de programación
suficientemente general)

conclusion
En ocasiones los algoritmos son susceptibles de nunca terminar, por ejemplo, cuando
entran a un bucle infinito. Cuando esto ocurre, el algoritmo nunca devuelve ningún valor
de salida, y podemos decir que la función queda indefinida para ese valor de entrada. Por
esta razón se considera que los algoritmos son funciones parciales, es decir, no
necesariamente definidas en todo su dominio de definición.

Cuando una función puede ser calculada por medios algorítmicos, sin importar la cantidad
de memoria que ocupe o el tiempo que se tarde, se dice que dicha función es computable.
No todas las funciones entre secuencias datos son computables. El problema de la
parada es un ejemplo.

Introducción diagramas de flujo


 Diagramas de flujo son la representación del algoritmo o proceso. se utiliza en disciplinas
como programación, economía, procesos industriales y psicología cognitiva.

en lenguaje unificado de modelado (uml), un diagrama de actividades representa los flujos


de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. un
diagrama de actividades m el diagrama de flujo o diagrama de actividades es
la representación gráficauestra el flujo de control general.

en sysml el diagrama ha sido extendido para indicar flujos entre pasos que mueven
elementos físicos (p.ej., gasolina) o energía (p.ej., presión). los cambios adicionales
permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.

estos diagramas utilizan símbolos con significados definidos que representan los pasos
del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los
puntos de inicio y de fin de proceso.

Desarrollo
Un diagrama de flujo presenta generalmente un único punto de inicio y un único punto de
cierre, aunque puede tener más, siempre que cumpla con la lógica requerida.

Las siguientes son acciones previas a la realización del diagrama de flujo:

 Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben


estar presentes el autor o responsable del proceso, los autores o responsables del
proceso anterior y posterior y de otros procesos interrelacionados, así como las
terceras partes interesadas.
 Definir qué se espera obtener del diagrama de flujo.
 Identificar quién lo empleará y cómo.
 Establecer el nivel de detalle requerido.
 Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

 Establecer el alcance del proceso a describir. De esta manera quedará fijado el


comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del
proceso previo y el final la entrada al proceso siguiente.
 Identificar y listar las principales actividades/subprocesos que están incluidos en el
proceso a describir y su orden cronológico.
 Si el nivel de detalle definido incluye actividades menores, listarlas también.
 Identificar y listar los puntos de decisión.
 Construir el diagrama respetando la secuencia cronológica y asignando los
correspondientes símbolos.
 Asignar un título al diagrama y verificar que esté completo y describa con exactitud
el proceso elegido.

Tipos de diagramas de flujo


 Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba
hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la
información que se considere necesaria, según su propósito.
 Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de
izquierda a derecha.
 Formato panorámico: El proceso entero está representado en una sola carta y
puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que
facilita su comprensión, aun para personas no familiarizadas. Registra no solo en
línea vertical, sino también horizontal, distintas acciones simultáneas y la participación
de más de un puesto o departamento que el formato vertical no registra.
 Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona
sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es
eminentemente descriptivo, mientras que los utilizados son fundamentalmente
representativos.

conclusion
La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado
para documentar gráficamente un proceso como un flujo de pasos sucesivo y alternativos,
el "proceso de diagrama de flujo", fue expuesto por Frank Gilbreth, en la Sociedad
Americana de Ingenieros Mecánicos (ASME), en 1921, bajo el enunciado de "Proceso de
Gráficas-Primeros pasos para encontrar el mejor modo". Estas herramientas de Gilbreth
rápidamente encontraron sitio en los programas de ingeniería industrial.

Al principio de los 30, un ingeniero industrial, Allan H. Mogensen comenzó la formación de


personas de negocios en Lake Placid, Nueva York, incluyendo el uso del diagrama de
flujo. Art Spinanger, asistente a las clases de Mogesen, utilizó las herramientas en su
trabajo en Procter & Gamble, donde desarrolló su “Programa Metódico de Cambios por
Etapas”. Otro asistente al grupo de graduados en 1944, Ben S. Graham, director de
ingeniería de Formcraft Standard Register Corporation, adaptó la gráfica de flujo de
procesos al tratamiento de la información en su empresa. Y desarrolló la gráfica del
proceso de múltiples flujos en múltiples pantallas, documentos, y sus relaciones. En 1947,
ASME adoptó un conjunto de símbolos derivados de la obra original de Gilbreth como
Norma ASME para los gráficos de procesos (preparada Mishad, Ramsan y Raiaan).

También podría gustarte