Algoritmos y diagramas de flujo (Unidad IV)

¿Que es un Algoritmo?

Es un conjunto de instrucciones definidas, ordenadas y acotadas para resolver un problema, realizar un cálculo o desarrollar una tarea. Es decir, un algoritmo es un procedimiento paso a paso para conseguir un fin. A partir de un estado e información iniciales, se siguen una serie de pasos ordenados para llegar a la solución de una situación. 


Pasos y normas para su elaboración

Para la realización de un algoritmo es necesario realizar una secuencia de pasos para llegar a cumplir con la resolución de un problema dado. Para ello, definiremos los siguientes pasos:

-Análisis previo del Problema: Se debe realizar un análisis del funcionamiento del problema antes que se realice cualquier algoritmo.

-Definición de Requerimientos: Los problemas a solucionar, esto es, por ejemplo, el sumar dos números, multiplicar dos matrices, ordenar una lista de números, generar un reporte, etc.

-Identificación de los Módulos: La identificación de los módulos es tan importante como la identificación correcta de los requerimientos, esto porque la correcta identificación de los módulos simplifica considerablemente la realización de los algoritmos que darán solución a los requerimientos identificados en el paso anterior.

-Realización de los Algoritmos: El algoritmo deberá cumplir con las características que se indicaron para posteriormente implementarse en un lenguaje de programación comprensible por una computadora.

-Implementación de los Algoritmos: La implementación de los algoritmos se debe realizar en un lenguaje de programación para que una computadora pueda comprender las instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado esperado.

Todo algoritmo consta además de tres partes.

-Entrada: en la entrada o input del algoritmo será donde se introduzcan todos aquellos datos que el algoritmo necesite para operar.

-Procesamiento: con lo recibido en la entrada o input, el algoritmo realizará una serie de cálculos lógicos para resolver el problema.

-Salida: los resultados obtenidos en el procesamiento se mostrarán en la salida o output del algoritmo.

Para hacer un algoritmo hay que tener en cuenta sus características: secuenciales, se procesan uno después del otro; precisos, deben ser objetivos al resolver el problema; ordenados, deben ser leídos y ejecutados de forma precisa; finitos, deben tener un número determinado de pasos; concretos, deben mostrar un resultado al problema resuelto; y definidos, ante los mismos inputs siempre deben obtenerse los mismos outputs.

 Ventajas y desventajas.

-Ventajas:

1. Los algoritmos son la esencia de la informática, son uno de los centros de interés de muchas, si no todas, de las áreas del campo de la informática.

2. Puedes trabajar en orden.

3. Te redacta en orden paso a paso lo que hay que hacer.

4. Ayuda a resolver más fácil y rápido los problemas.

5. Disminuye sensiblemente el riesgo de errores.

6. Favorece el obtener el máximo de información.

-Desventajas:

1. Hay textos que desarrollan los algoritmos, mediante diversos tipos de programas, por ejemplo: el lenguaje de programación C++, pero para comprender las letras deben poseer al menos un año de experiencia en ese lenguaje de programación de alto y bajo nivel.

2. Muchos algoritmos interesantes llevan implícitos complicados métodos de organización de los datos utilizados en el calendo.

3. Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son fáciles de implementan una vez que se ha descompuesto el programa, sin embargo, en la mayor parte de los casos, existen unos pocos algoritmos cuya elección es crítica porque su ejecución ocupara la mayoría de los recursos del sistema.

4. La elección del mayor algoritmo para una tarea particular puede ser un proceso muy complicado y con frecuencia conllevara un análisis matemático sofisticado.

5. Actualmente se está estudiando en la informática, como seleccionar el algoritmo que conduzca a la mejor implementación pues para la mayoría de los problemas existen varios algoritmos diferentes.

Diagramas de Flujo:

Es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. 

Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. 


Simbología

Los diagramas de flujo usan formas especiales para representar diferentes tipos de acciones o pasos en un proceso. Las líneas y flechas muestran la secuencia de los pasos y las relaciones entre ellos. Estos son conocidos como símbolos de diagrama de flujo.


Símbolo de Inicio / Final

El símbolo de terminación marca el punto inicial o final del sistema. Por lo general, contiene la palabra "Inicio" o "Fin".


Símbolo de Acción o Proceso

Un rectangulo solo puede representar un solo paso dentro de un processo ("agregar dos tazas de harina"), o un subproceso completo ("hacer pan") dentro de un proceso más grande.


Símbolo del Documento Impreso


Un documento o informe impreso.


Símbolo de Multidocumento


Representa multidocumento en el proceso.


Símbolo de Decisión o Ramificación


Un punto de decisión o ramificación. Las líneas que representan diferentes decisiones surgen de diferentes puntos del diamante.


Símbolo de Entrada / Salida


Representa el material o la información que entra o sale del sistema, como una orden del cliente (entrada) o un producto (salida).


Símbolo de Entrada Manual


Representa un paso en el que se pide al usuario que introduzca la información manualmente.


Símbolo de Preparación


Representa un ajuste a otro paso en el proceso.


Símbolo del Conector


Indica que el flujo continúa donde se ha colocado un símbolo identico (que contiene la misma letra).


O Símbolo


Indica que el flujo del proceso continúa en más de dos ramas.


Símbolo de Fusión


Indica un paso en el que dos o más sub-listas o subprocesos se convierten en uno.


Símbolo de Intercalar



Indica un paso que ordena información en un formato estándar.


Símbolo de Ordenar


Indica un paso que organiza una lista de elementos en una secuencia o establece según algunos criterios predeterminados.

Símbolo de Proceso Predefinido


Indica una secuencia de acciones que realizan una tarea específica incrustada dentro de un proceso más grande. Esta secuencia de acciones podría describirse con más detalle en un diagrama de flujo separado.


Símbolo del Operación Manual


Indica una secuencia de comandos que continuarán repitiéndose hasta que se detenga manualmente.


Símbolo de Límite de Bucle


Indica el punto en el que debe detenerse un bucle.


Símbolo de Retardo


Indica un retraso en el proceso.


Almacenamiento de Datos o Símbolo de Datos Almacenados

Indica un paso donde se almacenan los datos.



Símbolo de la Base de Datos


Indica una lista de información con una estructura estándar que permite buscar y ordenar.


Símbolo de Almacenamiento Interno

Indica que la información se almacenó en la memoria durante un programa, utilizado en diagramas de flujo de diseño de software.


Símbolo de Visualización


Indica un paso que muestra información.



Conector Fuera de Página



Indica que el proceso continúa fuera de la página.

Pasos y reglas para su elaboración.

1. Los diagramas de flujo se escriben de arriba abajo y de izquierda a derecha.

2. Todo símbolo (excepto las líneas de flujo) llevará en su interior información que indique su función exacta y unívoca.

3. Un elemento del diagrama no puede tener más de una salida si no es un elemento de decisión. Existen excepciones que veremos en su debido momento.

4. Las líneas de flujo no pueden cruzarse.

Definición y uso en los diagramas de flujo de: 

Contadores:

Un contador es una variable (casi siempre de tipo entero) cuyo valor se incrementa o decrementa en cada repetición de un bucle. 

El contador suele usarse de este modo:

Primero se inicializa antes de que comience el bucle. Es decir, se le da un valor inicial.

Acumuladores

Las variables acumuladoras tienen la misión de almacenar resultados sucesivos, es decir, de acumular resultados, de ahí su nombre.

Las variables acumuladores también debe ser inicializadas.

Ciclos repetitivos:

Cada ciclo que se repita la estructura repetitiva, la variable suma se incrementa con el contenido ingresado en la variable valor. Este es un seguimiento del diagrama planteado. Los números que toma la variable valor dependerá de qué cifras cargue el operador durante la ejecución del programa.

Condicionales:

Permite decidir por cuál alternativa seguirá el flujo del programa dependiendo del resultado de la evaluación de una condición. Para establecer condiciones complejas se utilizan los operadores relacionales y lógicos.




Comentarios

Entradas más populares de este blog

Sistema de conversiones numéricas (Unidad III)

El computador electrónico (Unidad II)

Manejadores de bases de datos computarizada (Unidad V)