¿QUE ES EL DIAGRAMA DE CAJAS (NASSI - SCHNEIDERMAN)?
El diagrama estructurado N-S es una técnica hibrida (una mezcla) entre Diagramas de Flujo y Pseudocódigo.
Esta técnica, también conocida como Diagrama de
Chapín, utiliza una serie de cajas, similar a los diagramas de flujos,
pero no requiere la utilización de flechas, debido a que su flujo
siempre es descendente.
REPRESENTACION DE UNA ESTRUCTURA
CONDICIONAL EN N - S
Ejemplo: Se desea calcular el salario neto
semanal de un trabajador en función del número de horas trabajadas y la tasa
de impuestos.
Cuenta con un conjunto limitado de símbolos para representar los
pasos del algoritmo, por ello se apoya en expresiones del lenguaje
natural; sin embargo, dado que el lenguaje natural es muy extenso y se
presta para la ambigüedad, solo se utiliza un conjunto de palabras, a
las que se denomina palabras reservadas. Las palabras reservadas más
utilizadas son:
- Inicio Fin Leer Escribir
- Mientras Repita Hasta Para
- Incrementar Decrementar Hacer Función
- Entero Real Caracter Cadena
- Lógico Retornar
Características de un buen diagrama Nassi-Schneiderman:
• En la primera caja debe ir el nombre o título del algoritmo, en el recuadro siguiente debe ir la palabra Inicio.
• La última instrucción de un Diagrama NS debe ser el recuadro Fin.
• Todas las declaraciones de variables, funciones deben estar especificadas bajo el recuadro que contiene la palabra Inicio.
• Las estructuras de selección y cíclicas deben estar lo más clara posible
• El diseño debe caer en una hoja, a excepción de la utilización de funciones, las cuales pueden estar en otra hoja, debido a que se consideran un algoritmo diferente.
Desventajas de los diagramas NS:
Desventajas.• En algoritmos extensos su diseño es muy difícil de comprender.
• La mantención ó modificación de este tipo de diagramas es tediosa.
• Requiere de hojas muy extensas para ser escrito, debido a que carece de conectores que permitan su conexión con otras hojas.
- Deben estar completos y ser muy claros, con el fin de que se
entiendan.
Ejemplo: Se desea calcular el salario neto semanal de un trabajador en función del número de horas trabajadas y la tasa de impuestos.
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:
- Comando normal: Cuando usted asigna un valor a una variable, como c = a + b ó voto = "Juánita Pérez". Por favor, note que el signo igual (=) es usado para asignación, si usted desea comparar algo, úselo dos veces, == . Usted podría también no asignar un valor a una variable y sólo describir una acción, como "agregue azúcar al té".
- Comando leer: Úselo cuando necesite que el usuario ingrese algo como un número o un texto. Estos comandos asignan el valor que el usuario ingresa a una variable. Por ejemplo, Leer x (Read x en inglés), luego de su ejecución la variable x contendrá el valor entregado por el usuario.
- Comando escribir: Simplemente muestra el valor de una variable en pantalla al usuario.
Iteraciones
A veces se necesita repetir ciertas acciones, para esto existen las iteraciones o loops y existen dos tipos distintos de ellas:
- Mientras hacer: Hace y repite ciertas operaciones mientras una condición es verdadera, si en algún momento es falsa, avanzará a la próxima operación. Siempre revisa la condición antes de ejecutar las operaciones en su interior.
Un ejemplo no muy ambientalista puede ser: Mientras hayan árboles en el bosque, cortar uno, llevarlo al aserradero. Esto sería representado de la siguiente forma:
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.
- Hacer Mientras: Es similar a mientras hacer, pero la condición es revisada después que las operaciones interiores son realizadas. De esta forma iterará mientras la condición sea verdadera.
Imagine por un momento que usted vuela a una isla tropical, usted ya se
encuentra a bordo del avión y empieza a buscar su asiento, esta
situación se puede representar con el siguiente algoritmo:
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. Una decisión tiene dos lados, un lado verdadero
que será ejecutado sólo si la condición se cumple,
y otro lado falso.
Simbología utilizada en Técnica Nassi-Schneiderman
|
|
Símbolo
|
Descripción
|
Título del Algoritmo
|
|
Indica el inicio de un algoritmo.
|
|
|
Indica el Fin de un algoritmo.
|
|
Declaración de Variables.
|
|
Indica la entrada de información
|
|
Indica la salida de información
|
|
Indica un proceso, una ejecución de una línea de código, que puede ser una asignación.
|
|
Estructura de Decisión.
|
|
Estructura de Decisión Múltiple
|
|
Estructura Cíclica de Ciclo Desde-Hasta
|
|
Estructura Cíclica de Ciclo Hacer - Mientras
|
|
Estructura cíclica de Repetir - Hasta
| |
VIDEOS SOBRE EJEMPLOS DIAGRAMAS NS PARA APRENDER
