DIAGRAMA-ESTRUCTURADO

7
DIAGRAMA ESTRUCTURADO (N-S) DEFINICIÓN: Es una representación gráfica que muestra el diseño de un programa estructurado. Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama es también conocido como Diagrama de Chapin, es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo. 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, Hacer, Función. – Entero, Real, Caracter, Cadena. – Lógico, Retornar. EJEMPLO: Definición del problema Calcular área y perímetro de un rectángulo Diseño de la solución Inicio Entero: b, h, a, p Leer b, h a = b * h p = 2 (b + h) Escribir "área": a Escribir "perímetro": p Fin algoritmo

Transcript of DIAGRAMA-ESTRUCTURADO

DIAGRAMA ESTRUCTURADO (N-S) DEFINICIN:Es una representacin grfica que muestra el diseo de un programa estructurado.Fue desarrollado en 1972 porIsaac NassiyBen Shneiderman.

Este diagrama es tambin conocido comoDiagrama de Chapin, es una tcnica de especificacin de algoritmos que combina ladescripcintextual, propia del pseudocdigo, con la representacin grfica del diagrama de flujo.Cuenta con un conjunto limitado desmbolos 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 ambigedad, solo se utiliza un conjunto de palabras, a las que se denominapalabras reservadas. Las palabras reservadas ms utilizadas son:

Inicio, Fin, Leer, Escribir. Mientras, Repita, Hasta, Para. Incrementar, Hacer, Funcin. Entero, Real, Caracter, Cadena. Lgico, Retornar.

EJEMPLO:Definicin del problemaCalcular rea y permetro de un rectngulo

Diseo de la solucinInicio

Entero: b, h, a, p

Leer b, h

a = b * h

p = 2 (b + h)

Escribir "rea": a

Escribir "permetro": p

Fin algoritmo

CARACTERSTICAS:

En la primera caja debe ir el nombre o ttulo del algoritmo, en el recuadro siguiente debe ir la palabra Inicio. La ltima instruccin 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 seleccin y cclicas deben estar lo ms clara posible El diseo debe caer en una hoja, a excepcin de la utilizacin de funciones, las cuales pueden estar en otra hoja, debido a que se consideran un algoritmo diferente.

SIMBOLOGA:

Simbologa utilizada en Tcnica Nassi-Schneiderman

SmboloDescripcin

Ttulo del Algoritmo

Indica el inicio de un algoritmo.

Indica el Fin de un algoritmo.

Declaracin de Variables.

Indica la entrada de informacin

Indica la salida de informacin

Indica un proceso, una ejecucin de una lnea de cdigo, que puede ser una asignacin.

Estructura de Decisin.

Estructura de Decisin Mltiple

CLASIFICACIN:

1. ESTRUCTURAS DE DECISIN:Las estructuras de decisin o tambin llamadas deseleccinpermiten que el algoritmo tome decisiones y ejecute u omita algunos procesos dependiendo del cumplimiento de una condicin.Se pueden manejar tres tipos de decisiones: simple, doble y mltiple.

1.1. Decisin simple y dobleUna decisin es simple, cuando solo se tiene determinado los pasos a seguir si el resultado de la condicin esverdadero, mientras que si esfalso, la ejecucin del algoritmo contina despus de la estructura condicional.Una decisin cuando se tiene un curso de accin para el caso que el resultado de la comparacin sea verdadero y otro para cuando sea falso.

Ejemplo 1

Se desea un algoritmo para obtener el valor absoluto de un nmeroDefinicin del problemaEncontrar el valor absoluto de un nmeroAnlisis del problemaPara encontrar el valor absoluto del nmero es necesario recordar que para los enteros positivos el valor es el mismo, mientras que para los enteros negativos es necesario cambiarlos de signo.Datos de entrada: nmeroDatos de salida: valor absolutoProceso: nmero = nmero * (-1)Diseo de la solucin

Ejemplo 2

Dados dos nmeros cul es mayor? y cul es menor?Definicin del problemaIdentificar el mayor y menor de dos nmerosAnlisis del problemaDatos de entrada: num1, num2Datos salida: mayor, menorProceso: comparacinDiseo de la solucin

1.2. Decisin mltipleMuchas decisiones deben tomarse, no solo entre dos alternativas, sino de un conjunto mayor. Estos casos bien pueden solucionarse utilizando condicionales dobles anidados; sin embargo, en favor de la claridad del algoritmo y la facilidad para el programador, es mejor utilizar una estructura de decisin mltiple, la cual es fcil de llevar a un lenguaje de programacin, ya que stos incluyen alguna instruccin con este fin.La decisin mltiple determina el valor de una variable y dependiendo de ste sigue un curso de accin. Es importante tener en cuenta que solo se verifica la condicin deigualdadentre la variable y la constante.En diagrama N-S la estructura de seleccin mltiple tiene la forma:

Ejemplo:Una distribuidora de motocicletas tiene unapromocinde fin de ao que consiste en los siguiente. Las motosmarcaHONDA tienen un descuento del 5%, las de marca Yamaha del 8% y las Suzuki el 10%, las de otrasmarcasel 2%Definicin del problemaCalcular el valor del descuento y el valor a pagar por la motocicleta.Anlisis del problemaPorcentaje descuento = 5% para motos HondaPorcentaje descuento = 8% para motos YamahaPorcentaje descuento = 10% para motos SuzukiPorcentaje descuento = 2% para motos otras marcasDatos de entrada: marca, valorDatos de salida: descuento, valor a pagarProceso:descuento = valor * porcentajeValor neto = valor - descuentoDiseo de la solucin

2. ESTRUCTURAS DE REPETICIN:En la solucin de algunos problemas es necesario ejecutar repetidas veces una instruccin o un conjunto de instrucciones. En algunos casos, el nmero de repeticiones se conoce con anterioridad, mientras que en otras depende de clculos o estados de variables que se dan dentro de la solucin del problema.Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen comoestructuras de repeticin, bucles o ciclos.Uncicloconsiste en un grupo deaccionesque se ejecutan repetidas veces dependiendo del cumplimiento de una condicin.