Sei sulla pagina 1di 3

Tcnicas de diseo empleadas en construccin de algortmicos Un algoritmo es un procedimiento a seguir, para resolver un problema en trminos de: 1.

Las acciones por ejecutar y el 2. El orden en que dichas acciones deben ejecutarse Un algoritmo nace en respuesta a la aparicin de un determinado problema. Una algoritmo esta compuesto de una serie finita de pasos que convergen en la solucin de un problema, pero adems estos pasos tienen un orden especfico. Entenderemos como problema a cualquier accin o evento que necesite cierto grado de anlisis, desde la simpleza de cepillarse los dientes hasta la complejidad del ensamblado de un automvil. En general, cualquier problema puede ser solucionado utilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolver problemas de computo. Un algoritmo para un programador es una herramienta que le permite resaltar los aspectos ms importantes de una situacin y descartar los menos relevantes. Todo problema de cmputo se puede resolver ejecutando una serie de acciones en un orden especfico. Por ejemplo considere el algoritmo que se elaborara para el problema o situacin de levantarse todas las maanas para ir al trabajo: 1. 2. 3. 4. 5. 6. Salir de la cama quitarse el pijama ducharse vestirse desayunar arrancar el automvil para ir al trabajo o tomar transporte.

Ntese que en el algoritmo anterior se ha llegado a la solucin del problema en 6 pasos, y no se resaltan aspectos como: colocarse los zapatos despus de salir de la cama, o abrir la llave de la regadera antes de ducharse. Estos aspectos han sido descartados, pues no tienen mayor trascendencia, en otras palabras los estamos suponiendo, en cambio existen aspectos que no podemos obviarlos o suponerlos, de lo contrario nuestro algoritmo perdera lgica, un buen programador deber reconocer esos aspectos importantes y tratar de simplificar al mnimo su problema. Es importante recalcar que los pasos de un algoritmo no son conmutativos pues, no dara solucin al mismo problema a tratar. Robustez de un Algoritmo Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problema que queremos resolver, al elaborar un algoritmo no se nos debe escapar ningn detalle que provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un algoritmo robusto, cualquier giro inesperado del problema ser controlado por el algoritmo, es decir, debe ser flexible a cambios. Correctitud de un Algoritmo Es correcto cuando da una solucin al problema a tratar y cumple con todos lo requerimientos especificados tal que cumplamos con los objetivos planteados. Completitud de un Algoritmo Cuando un algoritmo cuenta con todos los recursos para poder llegar a una solucin satisfactoria Eficiencia y Eficacia de un Algoritmo Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo humano. Un algoritmo es eficaz cuando alcanza el objetivo primordial, el anlisis de resolucin del problema se lo realiza prioritariamente. Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posible debemos de manejar estos dos conceptos conjuntamente. Tcnicas de resolucin de algoritmos: Diagramas de Flujo. de Nassi-Scheiderman (N-S). Pseudocdigos. Diagramas

Diagrama de Flujo Es aquel diagrama que utiliza smbolos estndar y en el que cada paso del algoritmo se visualiza dentro del smbolo adecuado y el orden en que los pasos se ejecutan se indica conectndolos con flechas llamadas "lneas de flujo" porque indican el flujo lgico del algoritmo. Es un medio de presentacin visual y grfica del flujo de datos, las operaciones ejecutadas y la secuencia en que se ejecutan dentro del algoritmo. Los diagramas de flujo son fciles de disear porque el flujo lgico algoritmo se muestra en un dibujo (smbolo) en lugar de con palabras. Sin embargo, tienen una limitacin grande: son difciles actualizar y complejos de leer si ocupan varias pginas; cuando se tienen que modificar, resulta difcil por su carcter grfico. Los smbolos utilizados en los diagramas de flujo han sido normalizados por las organizaciones ANSI (American National Institute) y por ISO (International Standard Organization).Algunos los smbolos ms empleados en los diagramas de flujo son los que podemos ver a la derecha en el diagrama: Diagrama de Nassi-Schneiderman (N-S) Este diagrama se denomina as en honor a sus inventores, o tambin N-S, son una herramienta de programacin que favorece la programacin estructurada. Los diagramas N-S constan de una serie de cajas, que comienzan con un primer rectngulo que se va rellenando de arriba-abajo. Al igual que el diagrama de flujo, el diagrama N-S tambin es un medio de presentacin visual y grfica del flujo de datos, las operaciones ejecutadas y la secuencia en que se ejecutan dentro del algoritmo. Son fciles de disear (cuando el problema es pequeo) porque cada operacin se encierra en una caja, las cuales van una consecutiva a otra, emplean tambin palabras para indicar las operaciones. Sin embargo, tienen una limitacin grande: son difciles de entender cuando el problema se vuelve muy complejo, son difciles de actualizar y cuando se tienen que modificar, la labor se vuelve tediosa pues hay que redibujar las cajas que los componen. Ejemplo: Disee un diagrama N-S que lea 3 nmeros, los sume e imprima el resultado:

del de

de

INICIO LEE eN1, eN2, eN3

eSuma = eN1+eN2+eN3 IMPRIME eSuma FIN Pseudocdigo: Se utiliza durante toda la materia, se asemeja al lenguaje de programacin. El Pseudocdigo es un lenguaje de especificacin de algoritmos, de uso fcil y sintaxis similar al lenguaje de programacin a utilizar, que permite al programador concentrarse en las estructuras de control, y olvidarse de la sintaxis del lenguaje a utilizar. Es un lenguaje muy parecido al lenguaje utilizado para escribir programas por computadora, es decir, un lenguaje de pseudo programacin. El Pseudocdigo se concibi para superar las dos principales limitaciones de los lenguajes algortmicos grficos: son lentos de crear y difciles de modificar sin un nuevo dibujo. Por otra parte, el pseudocdigo es ms fcil de utilizar ya que es similar al nuestro, es una mezcla de lenguaje natural y smbolos, trminos y otras caractersticas utilizadas en lenguajes de alto nivel (palabras reservadas).Una vez construido el algoritmo en pseudocdigo, se traduce a un lenguaje que entiende la computadora quedando construido el programa; se utilizar es el Pascal, Versin Turbo Pascal 7.0.

Ejemplo Inicio n1,n2,r=0 ingresar n1 ingresar n2 r=n1+n2 mostrar r fin.