0% encontró este documento útil (0 votos)
12 vistas6 páginas

Algoritmos y Diagramas de Flujo Explicados

Cargado por

veronicamtzhdz8
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas6 páginas

Algoritmos y Diagramas de Flujo Explicados

Cargado por

veronicamtzhdz8
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

DEFINICIÓN DE ALGORITMOS Y DIAGRAMAS DE FLUJO.

En su libro Fundamentos de programación, Luis Joyanes Aguilar, define al algoritmo como un método
para resolver un problema.

Joyanes Aguilar, hace un señalamiento histórico con respecto a Niklaus Wirth, inventor de Pascal,
Modula-2 y Oberon, profesor quien tituló uno de sus más famosos libros, Algoritmos+Estructuras de
datos=Programas, señalandonos que sólo se puede llegar a realizar un buen programa con el
diseño de un algoritmo y una correcta estructura de datos.

La resolución de un problema exige el diseño de un algoritmo que resuelva el mismo. La propuesta


para la resolución de un problema es la siguiente:

Figura 1. Resolución de un problema.

Los pasos para la resolución de un problema son:

1.- Diseño del algoritmo, describe la secuencia ordenada de pasos, sin ambigüedades, 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 en un lenguaje de programación adecuado. (Fase de
codificación).
3.- Ejecución y validación del programa por computadora.

Para llegar a la resolución de un problema es necesario el diseño previo de un algoritmo, de modo


que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de
la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje
diferente de programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será
siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, la receta de un platillo de
cocina se puede expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos
para la elaboración, del mismo se realizarán sin importar el idioma del cocinero.

En la ciencia de la computación y en la programación, los algoritmos son más importantes que los
lenguajes de programación o las computadoras. Un lenguaje de programación es tan sólo un medio
para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo. Tanto el
lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el
algoritmo se ejecute y se efectúe el proceso correspondiente.
Dada la importancia del algoritmo en la ciencia de la computación, un aspecto importante será el
diseño de algoritmos.

Joyanes Aguilar, enfatiza que el diseño de la mayoría de los algoritmos requiere creatividad y
conocimientos profundos de la técnica de programación. En esencia, la solución de un
problema se puede expresar mediante un algoritmo.

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 número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. Por ejemplo, en el
cálculo de la edad de una persona, conociendo su año de nacimiento, la definición del algoritmo
quedaría de la siguiente manera:

Entrada: la edad de la persona, información del año de nacimiento y el actual.

Proceso: realizar la diferencia del año actual menos el año de nacimiento.

Salida: visualización del resultado generado. Es decir, el resultado es la edad.

Escritura de Algoritmos

Se emplea un lenguaje natural describiendo paso a paso el algoritmo en cuestión.

En la realización del algoritmo aplicar sus tres características: preciso, definido y finito.

Ejercicio: Diseñar algoritmo para conocer si el promedio de un alumno es aprobatorio o no teniendo


como referencia que alumno cursa 5 materias y además que el promedio mínimo aprobatorio es 7.0.
Representación gráfica de los algoritmos

Para la representación gráfica del algoritmo debe emplearse un método que sea independiente del
lenguaje de programación elegido.

Joyanes Aguilar señala que para conseguir este objetivo se precisa que el algoritmo sea representado
gráfica o numéricamente, de modo que las sucesivas acciones no dependan de la sintaxis de ningún
lenguaje de programación, sino que la descripción se emplee para su transportación en un programa.

Los métodos usuales para representar un algoritmo son:

1.- Diagrama de flujo.


2.- Diagrama N-S (Nassi-Schneiderman).
3.- Lenguaje de especificación de algoritmos: pseudocódigo.
4.- Lenguaje español, inglés.
5.- Fórmulas.

El método 4 y 5 no son fáciles de programar. Un algoritmo no puede ser representado por una simple
fórmula.

Diagrama de flujo

También conocido como flowchart es una técnica de programación de representación de algoritmos


antigüa y muy utilizada.

Un diagrama de flujo, Jayanes Aguilar, lo define como: “un diagrama que utiliza los símbolos (cajas)
estándar mostrados en la tabla 1 y que tiene los pasos de un algoritmo escritos en esas cajas unidas
por flechas, denominadas líneas de flujo, que indican la secuencia en que se debe ejecutar”.
Símbolo Función
Terminal (representa el comienzo, “inicio” y el final, “fin” de un programa.
Puede representar también una parada o interrupción programada que sea
necesario realizar en un programa.)

Entrada/Salida (cualquier tipo de introducción de datos en la memoria desde


los periféricos,
“entrada”, o registro de la información procesada en un periférico, “salida”.)

Proceso (cualquier tipo de operación que pueda originar cambio de valor,


formato o posición de la información almacenada en memoria, operaciones
matemáticas, de transferencia, etc.).

Decisión (indica operaciones lógicas o de comparación entre datos,


normalmente dos, y en
función del resultado de la misma determina cuál de los distintos caminos
NO
alternativos del programa se debe seguir; normalmente tiene dos salidas,
respuestas SÍ o NO, pero puede tener tres o más, según los casos).

Decisión múltiple (en función del resultado de la


comparación se seguirá uno de los diferentes
caminos de acuerdo con dicho resultado.).

Conector (sirve para enlazar dos partes


cualesquiera de un ordinograma a través de un
conector en la salida y otro conector en la entrada.
Se refiere a la conexión en la misma página del
diagrama.
Indicador de dirección o línea de flujo (indica el
sentido de ejecución de las operaciones.).

Línea conectora (sirve de unión entre dos


símbolos).

Conector (conexión entre dos puntos del


ordinograma situado en diferentes páginas.)

Llama subrutina o a un proceso predeterminado


(una subrutina es un módulo independiente del
programa principal, que recibe una entrada
procedente de dicho programa, realiza una tarea
determinada y regresa, al terminar, al programa
principal.)

Pantalla (se utiliza en ocasiones en lugar del


símbolo de entrada/salida).

Impresora (se utiliza en ocasiones en lugar del


símbolo de entrada/salida).

Teclado (se utiliza en ocasiones en lugar del


símbolo de entrada/salida).

Comentarios (se utiliza para añadir comentarios


clasificadores a otros símbolos del diagrama de
flujo. Se pueden dibujar a cualquier lado del
símbolo.).

NOTA: Los símbolos estándar normalizados por ANSI (abreviatura de American National Standars
Institute)

Recuerda que: Cada símbolo visto previamente indica el tipo de operación a ejecutar y el
diagrama de flujo ilustra gráficamente la secuencia en la que se ejecutan las operaciones.
Fase en la resolución de problemas

Joyanes Aguilar, señala que el proceso de resolución de problemas con una computadora conduce a
la escritura de un programa y a su ejecución en la misma. Reconoce que el proceso de diseño de un
programa es un “proceso creativo”, en el cual se puede considerar una serie de fases o pasos
comunes, que generalmente deben seguir los programadores.

Las fases de resolución de un problema con computadora son:

• Análisis del problema.


• Diseño del algoritmo.
• Codificación.
• Compilación y ejecución.
• Verificación.
• Depuración.
• Mantenimiento.
• Documentación.

Constituyen el ciclo de vida del software y las fases o etapas usuales son:
1. Análisis. El problema se analiza teniendo presente la especificación de los requisitos dados por
el cliente de la empresa o por la persona que se encarga del programa.

2. Diseño. Una vez analizado el problema, se diseña una solución que conduzca a un algoritmo
que resuelva el problema.

3. Codificación (implementación). La solución se escribe en la sintaxis del lenguaje de alto nivel


(por ejemplo, C++) y se obtiene un programa.

4. Compilación, ejecución y verificación. El programa se ejecuta, se comprueba rigurosamente y


se eliminan todos los errores que puedan aparecer.

5. Depuración y mantenimiento. El programa se actualiza y modifica cada vez que sea necesario,
de modo que se cumplan todas las necesidades de cambio de sus usuarios.

6. Documentación. Escritura de las diferentes fases del ciclo de vida del software,
específicamente, el análisis, diseño y codificación, unidos a manuales de usuario y de
referencia, así como normas para el mantenimiento.

También podría gustarte