Nassi-Schneiderman
CURSO
Fundamentos de Programacin
DOCENTE
Luis Amaro Villanueva Tapia
ALUMNO
Leandro Andr Ramos Valdz
TACNA PER
2015
NDICE
Introduccin
2
Diagrama N-S: Definicin y
Descripcin
3
Simbologa utilizada en Tcnica
NassiSchneiderman
.. 4
Comandos.
. 5
Iteraciones
.. 6
Decisiones
.. 7
Ejemplos..
8
Conclusin
.9
Bibliografa
10
INTRODUCCIN
Para dar comienzo a sta monografa hay
que tener en claro la definicin de
ALGORITMO y
sus funciones.
Definiciones:
Un conjunto de pasos calculables para alcanzar
un objetivo deseado.
Un procedimiento (un conjunto finito de
instrucciones bien definidas) para realizar
alguna tarea, la cual, dado un estado inicial, va
a terminar en un estado final definido.
Informalmente, el concepto de un algoritmo es
comparado a menudo con una receta como ejemplo,
sin embargo muchos algoritmos son mucho ms
complejos. Los algoritmos a menudo tienen pasos
que se repiten (iteraciones) o requieren decisiones
(tanto lgicas como de comparacin).
El concepto de algoritmo se origin como un medio
de grabar los procedimientos para resolver
problemas matemticos como encontrar el mnimo
comn divisor de dos nmeros o multiplicar dos
nmeros. El concepto fue formalizado en 1936 a
travs de de las mquinas de Alan Turing y los
clculos lambda de Alonzo Church, los cuales a su
vez se volvieron las bases de la ciencia informtica.
Diagrama N-S: Definicin
y Descripcin
El diagrama N-S de Nassi-Schneiderman,
tambin conocido como diagrama de Chapin, es
como un diagrama de flujo en el que se omiten las
flechas de unin y las cajas son contiguas. Las
acciones sucesivas se escriben en cajas sucesivas,
y, como en los diagramas de flujo, se pueden
escribir diferentes acciones en una caja. .
Desarrollados en 1972 por Isaac Nassi y Ben
Schneiderman, estos diagramas tambin son
conocidos como estructogramas debido a que
muestran las estructuras de un programa.
Es una tcnica hibrida (una mezcla) entre
Diagramas de Flujo y Pseudocdigo.
Utiliza una serie de cajas, similar a los diagramas de
flujos, pero no requiere la utilizacin de flechas,
debido a que su flujo siempre es descendente.
Todo lo que se puede representar con un diagrama
Nassi-Schneiderman se puede representar con un
diagrama de flujo. Las nicas excepciones se dan en
las instrucciones GOTO, break y continue.
Ejemplo de diagrama de Nassi-Schneiderman (N-S)
Simbologa utilizada en Tcnica
Nassi-Schneiderman
Ttulo del Algoritmo.
Indica el Inicio de un
Algoritmo.
Indica el Fin de un
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
Estructura Cclica de Ciclo
Estructura Cclica de
Ciclo
Estructura
Cclica de
COMANDOS
Es slo eso, un comando. Hay tres tipos de
ellos, todos representados por un rectngulo con
una expresin en su interior:
Comando normal: Cuando usted asigna un
valor a una variable, como c = a + b voto =
"Juanita Prez". Por favor, note que el signo
igual (=) es usado para asignacin, si usted
desea comparar algo, selo dos veces, ==.
Usted podra tambin no asignar un valor a una
variable y slo describir una accin, como
"agregue azcar al t".
Comando leer: selo cuando necesite que el
usuario ingrese algo como un nmero o un
texto. Estos comandos asignan el valor que el
usuario ingresa a una variable. Por ejemplo,
Leer x (Read x en ingls), luego de su ejecucin
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 y existen dos tipos distintos de
ellas:
Mientras hacer: Hace y repite ciertas
operaciones mientras una condicin es verdadera, si
en algn momento es falsa, avanzar a la prxima
operacin. Siempre revisa la condicin 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 sera
representado de la siguiente forma:
Como puede apreciar esta iteracin contiene solo dos
comandos normales, puede sin embargo, contener cualquier
operacin sin limitaciones de combinacin o cantidad.
Hacer Mientras: Es similar a mientras hacer, pero la
condicin es revisada despus que las operaciones
interiores son realizadas. De esta forma iterar
mientras la condicin sea verdadera. Imagine por un
momento que usted vuela a una isla tropical, usted ya se
encuentra a bordo del avin y empieza a buscar su
asiento, esta situacin se puede representar con el
siguiente algoritmo:
Primero usted lee el nmero de su asiento en su ticket,
despus se mueve y lee el nmero del asiento que tiene en
frente, luego repite esta accin mientras no encuentre el
asiento que le corresponde.
DECISIONES
Si existen dos (o ms) formas de hacer
algo, o hablando de forma ms general,
usted necesita estar seguro que una cierta
condicin se cumple para tomar diferentes
acciones de acuerdo a esto, usted puede usar
una decisin. De la misma manera que las
iteraciones, usted puede agregar operaciones
de cualquier tipo en su interior, pero una
decisin tiene dos lados, un lado verdadero
que ser ejecutado slo si la condicin se
cumple, y otro lado falso.
EJEMPLOS
1. Disear un algoritmo para calcular el rea y el permetro de un
rectngulo
Anlisis del problema
Para desarrollar este problema es necesario
conocer las frmulas para obtener tanto el
rea como el permetro de un rectngulo.
Sea b = base y h = altura, las frmulas a
utilizar son:
Area = b * h
INICIO
Entero: b,h,a,p
Leer b,h
a= b*h
p= 2(b+h)
Escribir "rea. A
Escribir permetro , p
FIN
Permetro = 2 * (b + h)
Datos de entrada: b y h (base y altura)
Datos de salida: rea y permetro
Procesos: rea = b * h
Permetro = 2 * (b + h)
2. Dados dos nmeros cul es
mayor? y cul es menor?
Definicin del problema
Identificar el mayor y menor de
dos nmeros
Anlisis del problema
Datos de entrada: num1, num2
Datos salida: mayor, menor
Proceso: comparacin
3. La serie Fibonacci comienza con los nmeros: 0, 1, 1, 2, 3, 5, 8, 13, 21,...
Se requiere un algoritmo para generar los primeros 10 nmeros.
Definicin del problema
Generar los 10 primeros nmeros de la serie Fibonacci
Anlisis del problema
La serie Fibonacci se genera a partir de dos
valores iniciales que son el 0 y el 1, que al
sumarse dan como resultado 1. El siguiente
nmero se obtiene sumando el ltimo
nmero obtenido con el anterior, en este
caso 1 + 1 = 2, luego ser 2 + 1 = 3 y as
sucesivamente.
Datos de entrada: ninguno
Datos de salida: serie fibonacci
Procesos:
a=0
b=1
f=a+b
CONCLUSIN
El diagrama Nassi-Schneiderman es una tcnica para la
especificacin de algoritmos que combina la descripcin
textual del pseudocdigo con la representacin grfica del
diagrama de flujo.
Caractersticas de un buen diagrama NassiSchneiderman:
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
10
utilizacin de funciones, las cuales pueden estar en otra
hoja, debido a que se consideran un algoritmo diferente.
Ventajas:
Adopta la filosofa de la programacin estructurada,
que utiliza un
enfoque descendente.
Utiliza un nmero limitado de smbolos de tal forma
que el diagrama de flujo ocupa menos espacio.
Puede leerse con cierta
finalidad.
Desventajas de los diagramas NS:
En algoritmos extensos su diseo es muy difcil de
comprender.
La mantencin modificacin de este tipo de
diagramas es tediosa.
Requiere de hojas muy extensas para ser escrito,
debido a que carece de conectores que permitan su
conexin con otras hojas.
BIBLIOGRAFA
11
http://www.monografias.com/trabajos19/al
goritmos/algoritmos.shtml#algor
http://colabora.inacap.cl/sitios/merlot/Mate
riales
%20MerlotChile/mlcastro/Negocios/Contab
ilidad/auditoria_computacion_contabilidad
_estadistica/computacion/contenido_multi
media/elementos_de_programacion/4_3.ht
ml
http://es.wikipedia.org/wiki/Diagrama_Nas
si-Shneiderman
http://dcb.fic.unam.mx/users/miguelegc/tu
toriales/tutorialcd/dgrms_flj_psdcdg_3.htm
http://eii.ucv.cl/nessi/help/es/nsd.html
12
http://apuntesg01a12.blogspot.com/2009/
01/diagrama-nassi-schneiderman.html