Logo Studenta

tecnicas y Diseño estructurado de algoritmos

¡Este material tiene más páginas!

Vista previa del material en texto

DISEÑO ESTRUCTURADO DE ALGORITMOS
UNIDAD IV. TÉCNICAS DE DISEÑO 
4.1 Top down
4.2 Bottom up
4.3 Wanter
4.1 Top Down
Técnica para diseñar que consiste en tomar el problema en forma
inicial como una cuestión global y descomponerlo sucesivamente en problemas más pequeños y por lo tanto, de solución más sencilla.
La descomposición del problema original (y de las etapas subsecuentes),
puede detenerse cuando los problemas resultantes alcanzan un nivel de detalle
que el programador o analista pueden implementar fácilmente.
Objetivos básicos del Top-Down
· Simplificación del problema y de los subprogramas de cada descomposición.
· Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.
· El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento.
Ejemplo de un diseño descendente (top-down ) de un control de almacén :
4.2 Bottom up
El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato.
Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. 
Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha limite para la integración total del sistema. 
En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran.
	
Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicación de esfuerzos para accesar el software y mas aun al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen.
4.3 Warnier Orr
 
Es una técnica que utiliza una representación semejante a la de cuadros
sinópticos para mostrar el funcionamiento y organización de los elementos que conforman el algoritmo.
 Los diagramas Warnier Orr son útiles porque son compatibles con las
técnicas de programación estructurada ; y además, son fáciles de
desarrollar. Los diagramas Warnier Orr son fáciles de leer y modificar y
no tienen que completarse antes de ser útiles. Se van desarrollando
hacia otras salidas del sistema. 
Básicamente, utiliza una notación de llaves para organizar los módulos y se
auxilia en la siguiente simbología para indicar operaciones de control.
 
 Símbolo Significado
 +
 OR (uno, otro o varios)
 XOR (uno u otro, solo uno)
 
 (x,y) puede hacerse tantas veces desde x hasta y
 
Nota : Los diagramas Warnier Orr se leen de izquierda a derecha y de arriba hacia abajo.
 
 Ejemplo de un diagrama de Warnier Orr, de un control de almacén 
 (0,n) = De cero veces a n veces
 (1,n) = De una vez a n veces
UNIDAD V. TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
5.1 Diagrama de flujo
5.2 Pseudocodigo
5.3 Diagrama estructurado (nassi-schneiderman)
Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:
· Diagrama de Flujo
· Pseuducodigo
5.1 Diagrama de Flujo
Un diagrama de flujo es la representación gráfica de un algoritmo. 
También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados.
Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. 
DESVENTAJAS
No se elaboran con base en los principios de la programación
estructurada, ilustran el flujo del programa, pero no su estructura,
requiere de un espacio considerable y cuenta con demasiadas
ramificaciones.
Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).
	SÍMBOLO					DESCRIPCIÓN
						Indica el inicio y el final de nuestro 
						diagrama de flujo. 													
					
Indica la entrada y salida de datos.
						
Símbolo de proceso y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación aritmética.	
Símbolo de decisión indica la realización de una comparación de valores.
Se utiliza para representar los subprogramas.
						Conector dentro de pagina. Representa 						la continuidad del diagrama dentro de la 						misma página.
						Conector fuera de pagina. Representa la 						continuidad del diagrama en otra pagina.
						Indica la salida de información por la 						Impresora.
Indica la salida de información en la pantalla o 
						monitor.
			 Líneas de flujo o dirección. Indican la 
secuencia en que se realizan las operaciones.
Recomendaciones para el diseño de Diagramas de Flujo
· Se deben se usar solamente líneas de flujo horizontales y/o verticales.
· Se debe evitar el cruce de líneas utilizando los conectores.
· Se deben usar conectores solo cuando sea necesario.
· No deben quedar líneas de flujo son conectar.
· Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.
· Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
Ejemplo:
Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de
mayoría o minoría de edad según sea el caso para un nombre específico.
5.2 Pseudocódigo
Mezcla de lenguaje de programación que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. 
Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.
En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. 
El pseudocodigo utiliza palabras que indican el proceso a realizar.
Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo
· Ocupa menos espacio en una hoja de papel
· Permite representar en forma fácil operaciones repetitivas complejas
· Es muy fácil pasar de pseudocodigo a un programa en algún lenguaje de programación.
· Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
El pseudocódigo utiliza para representar las acciones sucesivas palabras
reservadas en inglés (similares a sus homónimos en los lenguajes de
programación), tales como star,begin, end, stop, if-then-else, while,
repeat-until….etc
 Secuencia
 Inicio
 acción1
 acción2
 acción n 
 Fin
Ejercicio :
 Se requiere preguntar dos valores, y a continuación ofrecer un menú con las
operaciones básicas (+, -, *, /). Después de presentar el resultado se ofrecerá la
posibilidad de una nueva operación.
 
Real : X, Y, RESPUESTA
Entero : OPCION
Carácter : OP
 Inicio
 Repetir
 escribir(‘Primer valor : ’ )
 leer(X)
 escribir(‘Segundo valor : ‘)
 leer(Y)escribir(‘1) Suma ‘)
 escribir(‘2) Resta ‘)
 escribir(‘3) Multiplicación ‘)
 escribir(‘4) División ‘)
 escribir(‘Qué operación deseas realizar ? : ‘)
 leer(OPCION)
 casos OPCION de
 1 : RESULTADO 
 X+Y
 2 : RESULTADO
 X-Y
 3 : RESULTADO
 X*Y
 4 : si Y=0 entonces
 escribir(‘ Error ‘)
 RESULTADO 0
 en caso contrario 
 RESULTADO X/Y
 escribir (‘Resultado :‘,RESULTADO)
 escribir(‘Deseas otro cálculo : [S/N] ‘)
 leer(OP)
 Hasta que RES = ‘N’
 Fin
 
5.3 Diagramas estructurados (Nassi-Schneiderman)
El diagrama estructurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. 
Un enfoque mas estructurado, pero tal vez menos visual, para el
diseño y la documentación en el diagrama Nassi Schneiderman. 
Los diagramas NS tienen tres símbolos principales : el primero es un
cuadro que sirve para representar cualquier proceso en el programa ; el
segundo símbolo es una decisión ; y el tercero es un cuadro dentro de
otro cuadro que se utiliza para indicar que se lleva a cabo una interación
Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la sig. forma:
		
Inicio
Accion1
Accion2
. . .
Fin
Una estructura condicional en N-S se representa de la siguiente manera :
Ventajas
 Adopta la filosofía de la programación estructurada, que utiliza un
enfoque descendente, utiliza un número limitado de símbolos de tal forma
que el diagrama de flujo ocupa menos espacio y puede leerse con cierta
finalidad. 
Desventajas
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.
image4.png
image5.png
image1.png
image2.png
image3.png
DIS
EÑO ESTRUCTURADO DE ALGORITMOS
 
 
 
 
UNIDAD IV. TÉCNICAS DE DISEÑO 
 
 
4.1 Top down
 
4.2 Bottom up
 
4.3 Wanter
 
 
 
4.1 Top Down
 
 
 
Técnica para diseñar que consiste en tomar el problema en forma
 
inicial como una cuestión 
global y descomponerlo sucesivamente en problemas 
más pequeños y por lo tanto, de solución más sencilla.
 
 
La descomposición del problema original (y de las etapas subsecuentes),
 
puede detenerse cuando los problemas resultantes alcanzan un nivel de detalle
 
que el programador o analista pueden implementar fácilmente.
 
 
 
Objetivos básicos del Top
-
Down
 
 
q
 
Simplificación del problema y de los subprogramas de cada descomposición.
 
 
q
 
Las diferentes partes del problema pueden ser programadas de modo 
independiente e incl
uso por diferentes personas.
 
 
q
 
El programa final queda estructurado en forma de bloque o módulos lo que 
hace mas sencilla su lectura y mantenimiento.
 
 
 
 
 
 
 
 
 
 
 
Ejemplo de un diseño descendente (top
-
down ) de un control de almacén :
 
DISEÑO ESTRUCTURADO DE ALGORITMOS 
 
 
 
UNIDAD IV. TÉCNICAS DE DISEÑO 
 
4.1 Top down 
4.2 Bottom up 
4.3 Wanter 
 
 
4.1 Top Down 
 
 
Técnica para diseñar que consiste en tomar el problema en forma 
inicial como una cuestión global y descomponerlo sucesivamente en problemas 
más pequeños y por lo tanto, de solución más sencilla. 
 
La descomposición del problema original (y de las etapas subsecuentes), 
puede detenerse cuando los problemas resultantes alcanzan un nivel de detalle 
que el programador o analista pueden implementar fácilmente. 
 
 
Objetivos básicos del Top-Down 
 
 Simplificación del problema y de los subprogramas de cada descomposición. 
 
 Las diferentes partes del problema pueden ser programadas de modo 
independiente e incluso por diferentes personas. 
 
 El programa final queda estructurado en forma de bloque o módulos lo que 
hace mas sencilla su lectura y mantenimiento. 
 
 
 
 
 
 
 
 
 
 
Ejemplo de un diseño descendente (top-down ) de un control de almacén :

Continuar navegando