Está en la página 1de 16

NOMBRE DEL PROFESOR

NOMBRE DE LA ASIGNATURA DISEO ESTRUCTURADO DE ALGORITMOS

CARRERA INGENIERA EN SISTEMAS COMPUTACIONALES

FECHA DE ELABORACION 3 DE SEPTIEMBRE DE 2002

ELABORO

No. DE CONTROL

INDICE
INTRODUCCIN...................................................................................03 UNIDAD IV. TCNICAS DE DISEO ...............................................04 4.1 Top down...........................................................................................04 4.2 Bottom up..........................................................................................06 4.3 Warter orr..........................................................................................07 UNIDAD V. TCNICAS PARA LA FORMULACIN DE ALGORITMOS.......................................................................................09 5.1 Diagrama de flujo..............................................................................09 5.2 Pseudocodigo.....................................................................................13 5.3 Diagrama estructurado (nassi-schneiderman)....................................15

INTRODUCCION

El desarrollo de algoritmos es un tema fundamental en el diseo de programas por lo cual el alumno debe tener buenas bases que le sirvan para poder desarrollar de manera fcil y rpida sus programas. Este trabajo servir de apoyo al alumno del Instituto Tecnolgico de Toluca, que lleva la asignatura de Diseo estructurado de Algoritmos . El uso de algoritmos, facilitar desarrollar la capacidad analtica y creadora del alumno, para de esta manera mejorar su destreza en la elaboracin de algoritmos que sirven como base para la codificacin de los diferentes programas que tendr que desarrollar a lo largo de la carrera.

UNIDAD IV. TCNICAS DE DISEO 4.1 Top down 4.2 Bottom up 4.3 Wanter
4.1 Top Down Tcnica para disear que consiste en tomar el problema en forma inicial como una cuestin global y descomponerlo sucesivamente en problemas ms pequeos y por lo tanto, de solucin ms sencilla. La descomposicin 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 fcilmente. Objetivos bsicos del Top-Down

Simplificacin del descomposicin.

problema

de

los

subprogramas

de

cada

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 mdulos lo que hace mas sencilla su lectura y mantenimiento.

Ejemplo de un diseo descendente (top-down ) de un control de almacn :

4.2 Bottom up El diseo ascendente se refiere a la identificacin de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su anlisis como sistema y su codificacin, o bien, la adquisicin de paquetes de software para satisfacer el problema inmediato. Cuando la programacin se realiza internamente y haciendo un enfoque ascendente, es difcil llegar a integrar los subsistemas al grado tal de que el desempeo global, sea fluido. Los problemas de integracin entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programacin alcanza la fecha limite para la integracin 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 duplicacin 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 organizacin no fueron considerados y en consecuencia no se satisfacen.

4.3 Warnier Orr

Es una tcnica que utiliza una representacin semejante a la de cuadros sinpticos para mostrar el funcionamiento y organizacin de los elementos que conforman el algoritmo. Los diagramas Warnier Orr son tiles porque son compatibles con las tcnicas de programacin estructurada ; y adems, son fciles de desarrollar. Los diagramas Warnier Orr son fciles de leer y modificar y no tienen que completarse antes de ser tiles. Se van desarrollando hacia otras salidas del sistema. Bsicamente, utiliza una notacin de llaves para organizar los mdulos y se auxilia en la siguiente simbologa para indicar operaciones de control.

Smbolo +

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 almacn

(0,n) = De cero veces a n veces (1,n) = De una vez a n veces

UNIDAD V. TCNICAS PARA LA FORMULACIN DE ALGORITMOS 5.1 Diagrama de flujo 5.2 Pseudocodigo 5.3 Diagrama estructurado (nassi-schneiderman)
Las dos herramientas utilizadas comnmente para disear algoritmos son: Diagrama de Flujo Pseuducodigo 5.1 Diagrama de Flujo Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante lneas que indican el orden en que se deben ejecutar los procesos. DESVENTAJAS No se elaboran con base en los principios de la programacin estructurada, ilustran el flujo del programa, pero no su estructura, requiere de un espacio considerable y cuenta con demasiadas ramificaciones.

Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin (ANSI). SMBOLO DESCRIPCIN Indica el inicio y el final de nuestro diagrama de flujo. Indica la entrada y salida de datos. Smbolo de proceso y nos indica la asignacin de un valor en la memoria y/o la ejecucin de una operacin aritmtica. Smbolo de decisin indica la realizacin de una comparacin de valores. Se utiliza para representar los subprogramas.

Conector dentro de pagina. Representa la continuidad del diagrama dentro de la misma pgina.

Conector fuera de pagina. Representa la continuidad del diagrama en otra pagina.

Indica la salida de informacin por la Impresora.

Indica la salida de informacin en la pantalla o monitor. Lneas de flujo o direccin. Indican la secuencia en que se realizan las operaciones.

Recomendaciones para el diseo de Diagramas de Flujo


Se deben se usar solamente lneas de flujo horizontales y/o verticales. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo son conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.

Ejemplo: Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayora o minora de edad segn sea el caso para un nombre especfico.

5.2 Pseudocdigo Mezcla de lenguaje de programacin que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. Se considera un primer borrador, dado que el pseudocdigo tiene que traducirse posteriormente a un lenguaje de programacin. Cabe sealar que el pseudocdigo no puede ser ejecutado por una computadora. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin 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 fcil operaciones repetitivas complejas Es muy fcil pasar de pseudocodigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin. El pseudocdigo utiliza para representar las acciones sucesivas palabras reservadas en ingls (similares a sus homnimos en los lenguajes de programacin), tales como star,begin, end, stop, if-then-else, while, repeat-until.etc Secuencia Inicio accin1 accin2 accin n Fin Ejercicio :

Se requiere preguntar dos valores, y a continuacin ofrecer un men con las operaciones bsicas (+, -, *, /). Despus de presentar el resultado se ofrecer la posibilidad de una nueva operacin. Real : X, Y, RESPUESTA Entero : OPCION Carcter : OP Inicio Repetir escribir(Primer valor : ) leer(X) escribir(Segundo valor : ) leer(Y) escribir(1) Suma ) escribir(2) Resta ) escribir(3) Multiplicacin ) escribir(4) Divisin ) escribir(Qu operacin 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 clculo : [S/N] ) leer(OP) Hasta que RES = N Fin 5.3 Diagramas estructurados (Nassi-Schneiderman)

El diagrama estructurado N-S 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. Un enfoque mas estructurado, pero tal vez menos visual, para el diseo y la documentacin en el diagrama Nassi Schneiderman. Los diagramas NS tienen tres smbolos principales : el primero es un cuadro que sirve para representar cualquier proceso en el programa ; el segundo smbolo es una decisin ; y el tercero es un cuadro dentro de otro cuadro que se utiliza para indicar que se lleva a cabo una interacin 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 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 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 funcin del nmero de horas trabajadas y la tasa de impuestos.

También podría gustarte