ALGORITMOS

ALGORITMOS

 

¿Qué son?

Un algoritmo consiste en una lista ordenada de operaciones que tienen el propósito de buscar la solución a un problema en matemática, informática y disciplinas afines.

Para las ciencias de la matemática y de la computación, un algoritmo es una lista que, dado un estado inicial y una entrada, propone pasos sucesivos para arribar a un estado final obteniendo una solución. Sin embargo, el algoritmo no es excluyente de las ciencias duras o matemáticas. También en la vida cotidiana se emplean este tipo de operatorias casi sin notarlo: por ejemplo, en los instructivos o manuales de usuario que incluyen ejemplos de resolución de problemas técnicos.

REPRESENTACION DE UN ALGORITMO

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

La descripción de un algoritmo usualmente se hace en tres niveles:

1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.

2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.

3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.

También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos. 

Los algoritmos pueden ser creados de dos formas:

1) Seudocódigo.- Es un conjunto pequeño y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea.

2) Diagrama de flujo.- Es la representación de la secuencia, a través de símbolos, de la tarea que se va a realizar.

DIAGRAMA DE FLUJO

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación gráfica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.

Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.

El diagrama de flujo representa la forma más tradicional y duradera para especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales.

Para realizar los diagramas de flujo utilizamos distintas figuras geométricas  en forma de caja de texto, que sirven para distinguir el tipo de tareas que se ejecutan, las flechas indican el flujo del proceso y se valen de determinada simbología específica para facilitar su comprensión.

Figuras de Diagramas de Flujo

Elaboración del Diagrama de Flujo

El diagrama de flujo debe ser realizado por un equipo de trabajo en el que las distintas personas aporten, en conjunto, una perspectiva completa del proceso, por lo que con frecuencia este equipo será multifuncional y multijerárquico.

·         Determinar el proceso a diagramar.

·         Definir el grado de detalle. El diagrama de flujo del proceso puede mostrar a grandes rasgos la información sobre el flujo general de actividades pricipales, o ser desarrollado de modo que se incluyan todas las actividades y los puntos de decisión. Un diagrama de flujo detallado dará la oportunidad de llevar realizar un análisis más exhaustivo del proceso.

·         Identificar la secuencia de pasos del proceso. Situándolos en el orden en que son llevados a cabo.

·         Construir el diagrama de flujo. Para ello se utilizan determinados símbolos. Cada organización puede definir su propio grupo de símbolos. En la figura anterior se mostraba un conjunto de símbolos habitualmente utilizados. Al respecto cabe decir que en la figura “Conector de proceso” es frecuentemente utilizado un círculo como símbolo. Para la elaboración de un diagrama de flujo, los símbolos estándar han sido normalizados, entro otros, el American National Standars Institute (ANSI).

·          Revisar el diagrama de flujo del proceso

 A continuación se presenta un ejemplo de diagrama de flujo de proceso.

 

Ejemplo de Diagrama de Flujo de Proceso

 

TIPOS DE ALGORITMOS

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

·         Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier.

Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

·          Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio.

Variables: Son todos aquellos valores que pueden o no cambiar en el transcurso de un algoritmo. Usualmente son introducidas como datos. Existen variables simples y variables suscritas (arreglos). Todas las variables se componen de dos partes esenciales: Nombre y Valor.

El nombre es quien identifica la variable en todo el transcurso del algoritmo, y son un conjunto de caracteres, letras y números. Dicho nombre debe ser mnemotécnico, es decir, que con solo leer el nombre de la variable se pueda entender o determinar con facilidad lo que ella significa o contiene. Como ejemplo podemos decir la Variable VrHr significa a simple vista Valor de la Hora; pero si fuese X o HH, estos nombres pueden significar muchas cosas o, a la vez, no significar nada.

El valor es la cantidad que una variable representa o tiene asociada en un momento determinado. Se debe tener en cuenta que una variable también puede tener asociado un valor lógico como falso o verdadero.

Constantes: Son todos aquellos valores que no cambian en el transcurso de un algoritmo y son introducidos en el momento de utilizarse.

CARACTERÍSTICAS DE LOS ALGORITMOS

Entrada: todo algoritmo debe tener cero (0) o más elementos de entrada. Como valores, cantidades, condiciones, etc.

Proceso: cálculos necesarios para encontrar la solución del problema.

Salida: todo algoritmo produce uno o más elementos como resultado.

Finito: todo algoritmo tiene un número fijo de pasos.

Hay algoritmos para los cuales el número de pasos es fijo o tiene un máximo estipulado. (se necesita controlar el número de pasos - contador)

Hay algoritmos para los cuales el número máximo de pasos está relacionado con los datos y se puede calcular a priori o predecirlos.

Hay otros algoritmos que el número máximo de pasos está relacionado con los datos pero no podemos predecir el número de pasos.

Precisión: cada paso del algoritmo debe definirse con exactitud, sin ambigüedades.

Validez: el algoritmo debe ser exitoso y producir resultados esperados. Si el número de pasos está condicionado a un dato y este no se da, el proceso nunca terminaría y diremos por tanto que el algoritmo es no-válido.

Ejemplos De Algoritmos:

Cambiar una llanta: Juan recibe la siguiente información: “su automóvil tiene una llanta pinchada”.

Juan se dirige al parqueadero con el objeto de cambiar la llanta pinchada. Entonces,

debe revisar llantas (subproceso)

si están bien, devolverse

sino asegurar vehículo

colocar gato y aflojar pernos

reemplazar llanta

asegurar llanta

guardar herramienta

Directorio telefónico: supongamos que Juan encontró una llanta pinchada y no sabe repararla. Busca un directorio telefónico para consultar el número telefónico de un amigo y pedirle instrucciones. Entonces,

busca primer apellido

busca primer nombre

busca segundo apellido

etc.

ALGORITMO EXPRESADO EN PSEUDOCODIGO

Definición

Mucho se habla del pseudocódigo en las carreras de Analista de Sistemas y Programación. Pero no existe mucha bibliografía al respecto.

Comencemos aclarando que no es una forma de programación. Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a los programadores la estructura del programa que van a realizar, de forma de tener una idea bien clara de lo que se necesita programar.
Digamos que el pseudo código es una forma de diagramar un algoritmo para resolver un determinado problema, sin atenerse a ningún lenguaje de programación en especial.

Utilización en la práctica

En el trabajo de un analista de sistemas, una de las partes más trabajosas es la de determinar qué es lo que necesitan de un sistema los usuarios finales. Se dedican muchas horas a hacer un relevamiento de los datos que serán necesarios, los tipos de procesamientos, las salidas, etc. Y debe existir una realimentación entre el diseño y el usuario, para garantizar que el sistema cumpla con los requisitos del usuario.

Supongamos que tenemos un sistema para una empresa que utiliza una interfaz gráfica en Visual Basic, algunas aplicaciones específicas en C, y páginas PHP para trabajo vía Internet. Seguramente que crear un diagrama específico para cada lenguaje sería una tarea tediosa.
Gracias a esta herramienta, podemos reunir a todos los programadores, dar las pautas de trabajo, y mediante el pseudo código, cada programador sabrá lo que hace el sistema, y podrá escribir el código correspondiente.
Incluso dos programadores que dominen el mismo lenguaje pueden tener metodologías de trabajo distintas. Un problema puede ser resuelto de muchas maneras, cada una más o menos eficiente que la otra, pero todas cumplen con el objetivo.

 https://www.monografias.com/trabajos40/pseudo-codigo/Image223.jpg

El pseudo código elimina estas diferencias, dando libertad a los programadores para que puedan ajustarse a su metodología de trabajo.

Generalmente, este código se escribe con la participación de todos los programadores. Esto representa la ventaja de que muchas opiniones ayudan a elegir la mejor entre todas, logrando una solución efectiva y eficaz al problema planteado.

 

Web grafía

 https://html.rincondelvago.com/algoritmos_5.html

https://www.aiteco.com/que-es-un-diagrama-de-flujo/
https://algoritmos021415.blogspot.com/2012/04/representacion-de-un-algoritmo.html https://www.definicionabc.com/ciencia/algoritmo.php#ixzz3YqWYs5KF

Archivo en word para descarga:

ALGORITMOS.docx (63036)