Diagrama N-S
Diagramas Nassi-Shneiderman (Diagramas N-S)
Tambien denominados diagramas de cajas o tambien diagramas Chapin (en referencia a quien los perfeccionó), se basan en la representación de las distintas instrucciones en forma de cajas, dentro de las cuales se describen las acciones. Al igual que los diagramas de flujo, tienen la posibilidad derepresentar la estructura del proceso de forma más o menos detallada.
En programación de computadores un diagrama Nassi-Shneiderman (o NSD por sus siglas en inglés) es una representación gráfica que muestra el diseño de un programa estructurado.
Fue desarrollado en 1972 por Isaac Nassi yBen Shneiderman, este diagrama también es conocido como estructograma, ya que sirven para representar laestructura de los programas.
Basado en un diseño top-down (de lo complejo a lo simple ó divide y vencerás), el problema que resolver es dividido en subproblemas cada vez más pequeños - y simples - hasta que solo queden instrucciones simples y construcciones para el control de flujo. El diagrama Nassi-Shneiderman refleja la descomposición del problema en una forma simple usando cajas anidadas pararepresentar cada uno de los subproblemas. Para mantener una consistencia con los fundamentos de la programación estructurada, los diagramas Nassi-Shneiderman no tienen representación para las instrucciones GOTO.
Los diagramas Nassi-Shneiderman se utilizan muy raramente en las tareas de programación formal. Su nivel de abstracción es muy cercano al código de la programación estructurada y ciertasmodificaciones requieren que todo el diagrama sea redibujado.
Los diagramas Nassi-Shneiderman son (la mayoría de las veces) isomórficos(pretende captar la idea de tener la misma estructura) con los diagramas de flujo. Todo lo que se puede representar con un diagrama Nassi-Shneiderman se puede representar con un diagrama de flujo. Las únicas excepciones se dan en las instrucciones GOTO, break y continue.Los simbolos que utilizan son los siguientes:
Instrucciones Alternativas
Instrucciones Alternativas
Acción
Acción
Instrucciones Repetitivas
Instrucciones Repetitivas
Ejemplo:
Algoritmo que escribe cierto mensaje dependiendo que número introduzca el usuario:
Algoritmo para conversión a letras de cantidades numéricas
Ejemplo: Conversión a letras de cantidades numéricas
Programaque convierte una cantidad numérica en su equivalente en letras, en la forma en que sería útil, por ejemplo, para escribir un cheque. Es una versión mejorada del ejemplo de uso de switch, presentado anteriormente, pero con menos restricciones y, en general, un mejor funcionamiento. Se permiten cantidades de hasta 9 dígitos, aunque la ampliación a más dígitos es bastante simple.
El programasolicita al usuario la cantidad en cuestión y le devuelve el equivalente. Existen algunas excepciones que no fueron consideradas para no complicar demasiado el ejemplo.
No se mostrará el desarrollo completo de la metodología estudiada, sino tan solo la descomposición en funciones del problema general, el algoritmo resultante y el código equivalente en el lenguaje de programación C.
Descomposición enFunciones
El problema de la conversión a letras puede simplificarse si se tratan por separado las siguientes tareas más simples, las cuales se implementarán posteriormente como funciones en C:
* obtener_digitos
Parámetros:
cant (cantidad que se está convirtiendo)
Valor de retorno:
número de dígitos en la cantidad
Descripción: Determina el número de dígitos en la cantidad aconvertir y lo retorna
* obtener_digito_izq
Parámetros:
cant (cantidad que se está convirtiendo)
digs (número de dígitos en la cantidad)
Valor de retorno:
dígito de más a la izquierda en la cantidad
Descripción: Obtiene el dígito de más a la izquierda de la cantidad pasada como parámetro y lo retorna
* quitar_digito_izq
Parámetros:
cant (cantidad que se está...
Regístrate para leer el documento completo.