Diagramas Nassi-Shneiderman


Algoritmos


Definiciones
:
Informalmente, el concepto de un algoritmo es comparado a menudo con una receta como ejemplo, sin embargo muchos algoritmos son mucho mas complejos. Los algoritmos a menudo tienen pasos que se repiten (iteraciones) o requieren decisiones (tanto lógicas como de comparación). En la mayoría de los programas de alto nivel, los algoritmos actuan en patrones complejos, cada uno usando sub-métodos cada vez más pequeños, los cuales en conjunto componen el programa como un todo.

El concepto de algoritmo se originó como un medio de grabar los procedimientos para resolver problemas matemáticos como encontrar el mínimo común divisor de dos números o multiplicar dos numeros. El concepto fue formalizado en 1936 a través de de las máquinas de Alan Turing y los cálculos lambda de Alonzo Church, los cuales a su vez se volvieron las bases de la ciencia informática.

fuente: Wikipedia


Introducción a los NSDs


Un diagrama Nassi-Shneiderman es una representación gráfica de un algoritmo para programación estructurada. Desarrollados en 1972 por Isaac Nassi y Ben Shneiderman, estos diagramas también son conocidos como estructogramas debido a que muestran las estructuras de un programa.

Siguiendo un diseño de arriba a abajo, el problema en cuestión es reducido en subproblemas cada vez menores, hasta que sólo comandos y estructuras de control permanecen. Los diagramas Nassi-Shneiderman reflejan esta descomposición de una forma clara y simple, usando cajas anidadas para representar subproblemas.

fuente: Wikipedia


Comandos


Es sólo eso, un comando. Hay tres tipos de ellos, todos representados por un rectángulo con una expresión en su interior:
asignación

leer variable

escribir variable


Iteraciones


A veces se necesita repetir ciertas acciones, para esto existen las iteraciones o loops y existen dos tipos distintos de ellas:
mientras hacer

Como puede apreciar esta iteración contiene solo dos comandos normales, puede sin embargo, contener cualquier operación sin limitaciones de combinación o cantidad.

mientras hacer

Primero usted lee el número de su asiento en su ticket, después se mueve y lee el número del asiento que tiene en frente, luego repite esta acciones mientras no encuentre el asiento que le corresponde.


Decisiones


Si existen dos (o más) formas de hacer algo, o hablando de forma más general, usted necesita estar seguro que una cierta condición se cumple para tomar diferentes acciones de acuerdo a esto, usted puede usar una decisión. De la misma manera que las iteraciones, usted puede agregar operaciones de cualquier tipo en su interior, pero una decisión tiene dos lados, un lado verdadero que será ejecutado sólo si la condición se cumple, y otro lado falso.

Decisión


Ejemplo


El algoritmo de Euclides es uno de los más antiguos conocidos, dado que apareció en los Elementos de Euclides alrededor de el año 300 A.C. Euclides formuló originalmente el problema geométricamente, como el problema de encontrar una "medida" común para el largo de dos líneas, por lo que este algoritmo procede repitiendo la resta de la línea más corta al otro segmento (lo que es equivalente a encontrar el máximo común divisor de dos enteros). Sin embargo, el algoritmo probablemente no fue descubierto por Euclides y puede que haya sido conocido incluso 200 años antes. Ya era conocido seguramente por Eudoxus de Cnidus (alrededor del 375 A.C.) y Aristóteles (alrededor del 330 A.C.) donde aparece implícito en sus Tópicos, 158b, 29-35.

fuente: Wikipedia

Descripción

El algoritmo original fue descritopor Euclides como un problema geométrico, por lo que se repetía la resta del número menor al mayor en vez de una división de enteros.
El valor escrito al final de acontendrá el máximo común divisor de los dos enteros originales. Este algoritmo puede ser representado por el siguiente diagrama:

euclidean algorithm



última actualización: 2006.06.05