Title: UNIDAD 3 T
1UNIDAD 3 TÉCNICAS DE DISEÑO DETALLADO
3.1 DISEÑO ALGORITMICO 3.1.1 ELEMENTOS Y REGLAS
DE LA REPRESENTACION GRAFICA DE LOS
ALGORITMOS 3.1.2 IMPLEMENTACION DE ALGORITMOS
SECUENCIALES
2- DIAGRAMAS DE FLUJO
- Un diagrama de Flujo (Flowchart) es una de las
técnicas de representación de algoritmos más
antigua y a la vez más utilizada, aunque su
empleo ha disminuido considerablemente, sobre
todo desde la aparición de lenguajes de
programación estructurados. - Un diagrama de flujo es un diagrama que utiliza
los símbolos (cajas) estándar mostrados a
continuación y que tiene los pasos del algoritmo
escritos en esas cajas unidas por flechas,
denominadas líneas de flujo, que indican la
secuencia en que se deben ejecutar.
3SIMBOLOS FUNCION
Terminal (representa el comienzo, ltlt inicio gtgt, y el fin, ltlt fin gtgt, de un programa).
Entrada/Salida (cualquier tipo de introducción de datos en la memoria desde los periféricos, ltlt entrada gtgt, o registro de la información procesada en un periférico, ltlt salida gtgt.
Proceso (cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria)
Decisión (indica operaciones lógicas o de comparación entre datos -normalmente dos- )
Conector (sirve para enlazar dos partes cualesquiera de un ordinograma a través de un conector en la salida y otro conector en la entrada).
Indicador de dirección o línea de flujo (indica el sentido de ejecución de las operaciones).
Línea conectora (sirve de unión entre dos símbolos).
Llamada a subrutina o a un proceso predeterminado
Impresora (se utiliza en ocasiones en lugar del símbolo de E/S).
4- DIAGRAMAS DE NASSI-SCHNEIDERMAN (N-S)
- El diagrama N-S - también conocido como diagrama
de Chapín - es como un diagrama de flujo en el
que se omiten las flechas de unión 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.
5Nombre del algoritmo
ltacción 1gt
ltacción 2gt
ltacción 3gt
fin
63.1.2 IMPLEMENTACION DE ALGORITMOS SECUENCIALES
Los algoritmos secuénciales son algoritmos de
búsqueda que mantienen una solución única. Para
hayar esta solución agregan o eliminan
características iterativamente hasta satisfacer
un criterio de detención. Hay dos tipos de
algoritmos secuénciales, los que van hacia
adelante que empiezan con el conjunto vacío y van
agregando elementos hasta encontrar la solución,
y los que van hacia atrás que comienzan con todas
las características posibles y van eliminando una
a una hasta obtener lo esperado. Estos
algoritmos son subóptimos, pues tienen la
desventaja de que las características descartadas
en el método de búsqueda hacia atrás no pueden
volver a seleccionarse, y las agregadas en el
método de búsqueda hacia adelante no pueden ser
descartadas posteriormente. Sin amebargo esto se
puede solucionar haciendo que los valores
"floten" en el conjunto que controla tanto la
inclusión como la exclusión de las
características.
7Dos algoritmos de éste tipo son el SFFS
(Sequential forward floating selection) que
incluye nuevas características por medio de un
procedimiento secuencial hacia adelante, seguido
por una serie de exclusiones condicionales de la
peor característica en el nuevo subconjunto de
características seleccionadas. El algoritmo
análogo, pero con búsqueda hacia atrás, se
denomina SBFS (Sequential backward floating
selection). Ambos métodos son mucho más rápidos
que el de ramificación y acotamiento, además no
requieren que se satisfaga la condición de
monotonicidad. Su eficiencia computacional
permite el uso de métodos de búsqueda flotante
hasta dimensión 100, en contraste con
ramificación y acotamiento cuya utilidad se
limita a dimensiones de menos de 20. Actualmente
estos algoritmos pueden ser optimizados mediante
algoritmos genéticos.