You are on page 1of 8

Que es un algoritmo: En una definicin propia deducimos que un algoritmo es una secuencia de pasos lgicos y ordenados con las

cuales le damos solucin a un problema determinado. Un ejemplo de este seria cuando vamos hacer un huevo frito hacemos una serie de pasos en los cuales necesitamos cacerola, aceite, el huevo y la sal para poder hacer nuestro huevo frito pero con una serie de pasos lgicos. Que es un algoritmo es: Un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos son el objeto de estudio de la algoritmia. En general, no existe ningn consenso definitivo en cuanto a la definicin formal de algoritmo. Muchos autores los sealan como listas de instrucciones para resolver un problema abstracto, es decir, que un nmero finito de pasos convierten los datos de un problema (entrada) en una solucin (salida).Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. Por ejemplo, una versin modificada de la criba de Eratstenes que nunca termine de calcular nmeros primos no deja de ser un algoritmo. Que es un algoritmo: Un algoritmo es una serie de operaciones detalladas y no ambiguas. En otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas. El lenguaje informtico es aquel por medio del cual dicho algoritmo se codifica a un sistema comprensible por el ordenador o computadora. Que es un algoritmo:
Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. La palabra "algoritmo" deriva del nombre latinizado del gran matemtico rabe Mohamed Ibn Moussa Al Kow Rizmi, el cual escribi sobre entre los aos 800 y 825 su obra Quitab Al Jabr Al Mugabala, donde se recoga el sistema de numeracin hind y el concepto del cero. Fue Fibonacci, el que tradujo su obra al

latn y la inici con las palabras: Algoritmi dicit El lenguaje algortmico es aquel por medio del cual se realiza un anlisis previo del problema a resolver y encontrar un mtodo que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el que deben efectuarse, se le denomina algoritmo.

Caractersticas bsicas de un algoritmo.

1. Finitos: Un algoritmo siempre debe terminar despus de un nmero finito de pasos 2. Eficientes: Deben ocupar la mnima memoria y minimizar el tiempo de 3. 4.

5. 6.

7.

ejecucin. Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fcilmente. Modificables: Estarn diseados de modo que sus posteriores modificaciones sean fciles de realizar, incluso por programadores diferentes a sus propios autores. Modulares: La filosofa utilizada para su diseo debe favorecer la divisin del problema en mdulos pequeos. nico punto de entrada, nico punto de salida: A los algoritmos y a los mdulos que lo integran se entra por un slo punto, inicio, y se sale por un slo punto tambin, fin. Manejable: Hacerlo de uso fcil para el usuario y no confuso.

Fases para desarrollar un algoritmo.


1. Fase de Anlisis: consiste en el estudio detallado del problema con el fin de

2.

3. 4. 5.

obtener una serie de documentos (especificacin) en los cuales quedan totalmente definido el proceso a seguir en la automatizacin Diseo: consiste en la realizacin del algoritmo que resuelve el problema de acuerdo a la especificacin dada en la fase anterior. El algoritmo se representa mediante pseudocdigo. Codificacin: consiste en la traduccin del algoritmo a un programa escrito en un lenguaje de programacin Compilacin/Interpretacin: consiste en obtener el programa ejecutable objeto a partir del programa fuente. Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de l.

Ejemplos de Algoritmos.

Cambiar la rueda pinchada de un coche: 1. Buscar herramientas, rueda de repuesto y tringulo de sealizacin 2. Ubicar el tringulo en el lugar adecuado (triangulo cono) 3. Ir al lugar de la rueda averiada 4. Sacar las tuercas 5. Colocar el gato 6. Levantar el coche 7. Sacar la rueda 8. Colocar la rueda de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN Atole de Maicena 1 sobre de maicena 1 raja de canela1 l de leche (1/2litro) 4 cucharadas de azcar 1 olla de metal ALGORITMO 1.-Encender la estufa. 2.-Colocar una olla y agregar la leche despus ponerla a hervir. 3.-En un recipiente pequeo agregar un poco de leche para disolver la maicena 4.-Una vez disuelta agregar la maicena a la olla. 5.-Agregar una raja de canela .6.-Agregar azcar. 7.-Con una cuchara disolver el atole para que no se pegue. 8.-Dejar hervir por 15 minutos aproximadamente. SALIDA Ver televisin 1. Encender la televisin 2. buscar canal programa favorito 3. Dar volumen dependiendo entorno. 4. acostarse sobre el sof o lugar donde poder observar la TV Fin

Hacer una llamada

1. 2. 3. 4. 5. 6. 7. 8. 9.

Sacar la agenda telefnica coger el telfono colocarlo en la oreja derecha que quede entre oreja y cerca de la boca marcar al destino que va a llamar hablar con el destino que ah llamado despedirse con el destino que ah llamado colgar el telfono y dejarlo donde estaba tomar la agenda y dejarla donde la tomo fin Tcnicas de diseo para plantear un algoritmo. Top-Down

Tambin conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solucin al problema. Consiste en efectuar una relacin entre las etapas de la estructuracin de forma que una etapa jerrquica y su inmediato inferior se relacionen mediante entradas y salidas de informacin. Este diseo consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. El diseo Top-Down fue promovido en la dcada de 1970 por el investigador de IBM Harlan Mills y Nickaus Wirth. Mills desarroll conceptos de programacin estructurada para utilizarlos y probarlos en un proyecto de 1969 que tena como objetivo automatizar algunos procedimientos del peridico New York Times. El desarrollo de este proyecto hizo que se dispersara y se ampliara la idea de hacer los programas con esta filosofa de trabajo al resto de los desarrolladores de IBM, as como al resto de la industria del software. Por su parte, Nicklaus Wirth, desarroll entre otros lenguajes, el lenguaje de programacin Pascal, escribi un artculo muy importante acerca del Desarrollo de programas por medio de refinamiento de pasos. Esta idea de disear programas permaneci como principal corriente de desarrollo hasta fines de la dcada de 1980, cuando fue desplazada por la programacin orientada a objetos, sin embargo contina siendo una muy importante ayuda para el desarrollo de los mtodos en los la programacin orientada a objetos.

Ejercicio: De la siguiente lista de actividades, cul crees que est orientada al diseo Top-down?

1) Empezar con los detalles 2) Empezar con el problema en general 3) Considerar el problema general y los detalles al mismo tiempo El diseo top-down automticamente produce mdulos en un algoritmo. Recordemos que los mdulos son grupos de instrucciones que desarrollan funciones especficas. Supongamos que queremos escribir un algoritmo que imprima facturas, en primer lugar vamos a identificar esa tarea en la primera iteracin den diseo top-down. El paso calcular el monto total de la factura lo podemos redefinir como.

Lo que nos ayuda a definir los mdulos de nuestro algoritmo en: Mdulo 1. Obtener detalles del cliente Mdulo 2. Obtener detalles de todas las ordenes de ese cliente Mdulo 3. Calcular el monto total de las facturas del cliente Mdulo 4. Agregar el 5% de inters a las facturas de hace 1 mes Mdulo 5. Agregar el 10% de inters a las facturas anteriores a 1 mes Mdulo 6. Sumar el monto de las facturas con el total de los intereses Mdulo 7. Imprimir el monto total

La utilizacin de la tcnica de diseo Top-Down tiene los siguientes objetivos bsicos:

Simplificacin del problema y de los subprogramas de cada descomposicin. 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.

Bottom up. El diseo ascendente se refiere a la identificacin de aquellos procesos que necesitan computarizarse conforme 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 se hace 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 lmite 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, ste padece de ciertas limitaciones por haber tomado un enfoque ascendente. Una de ellas es la duplicacin de esfuerzos para accesar el software y ms an al introducir los datos. Otro es que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el ms serio inconveniente del enfoque ascendente, es que los objetivos globales de la organizacin no fueron considerados y en consecuencia no se satisfacen. Sobra decir que esta tcnica de diseo es la menos usada por sus mltiples inconvenientes. La diferencia del tipo de diseo ascendente y descendente solo se puede dar a la hora de la programacin. Porque en el momento de dibujar la estructura del problema, en las dos formas el diseo queda igual, solamente que los mdulos son enumerados en forma diferente, pero esto se hace pensando ya en como se va a comenzar a programar. En el diseo ascendente primero se programan los mdulos que se encuentran mas abajo de la estructura, hasta llegar al primer modulo dibujado. Tomando un ejemplo del diseo descendente la estructura quedara como sigue : Ejercicio: Realiza el diseo ascendente para la gestin del control de un hotel utilizando la siguiente informacin :

pagos a empleados (nombre, puesto, sueldo, horas extra) prestamos externos (cliente, prstamo, aval, plazo) libro de reservaciones(nombre, departamento, entrada, salida) mantenimiento (rea, daos, total)

Warnier Orr Los diagramas de Warnier/Orr (tambin conocidos como construccin lgica de programas/construccin lgica de sistemas) fueron desarrollados inicialmente en Francia por Jean Dominique Warnier y en los Estados Unidos por Kenneth Orr. Este mtodo ayuda al diseo de estructuras de programas identificando la salida y resultado del procedimiento, y entonces trabaja hacia atrs para determinar los pasos y combinaciones de entrada necesarios para producirlos. Los sencillos mtodos grficos usados en los diagramas de Warnier/Orr hacen evidentes los niveles en un sistema y ms claros los movimientos de los datos en dichos niveles. ELEMENTOS BASICOS Los diagramas de Warnier/Orr muestran los procesos y la secuencia en que se realizan. Cada proceso se define de una manera jerrquica ; es decir, consta de conjuntos de subprocesos que lo definen, en cada nivel, el proceso se muestra en una llave que agrupa a sus componentes. Puesto que un proceso puede tener muchos subprocesos distintos, un diagrama de Warnier/Orr usa un conjunto de llaves para mostrar cada nivel del sistema. USO DE DIAGRAMAS DE WARNIER/ORR la capacidad de mostrar la relacin entre procesos y pasos de un proceso no es exclusiva de los diagramas de Warnier/Orr, as como tampoco lo es el uso de la iteracin, seleccin de alternativas o el tratamiento de casos individuales. Tanto los diagramas de flujo estructurado y los mtodos del espaol estructurado logran eso tambin. Sin embargo, el enfoque que se usa para desarrollar las definiciones de un sistema por medio de estos diagramas es distinto y se adapta y se adaptan bien a los que se usan en el diseo de sistemas lgicos.Para desarrollar un diagrama de Warnier/Orr , el analista trabaja hacia atrs, empezando con la salida del sistema y usando un anlisis orientado hacia la salida. En el papel el desarrollo se mueve de izquierda a derecha. En primer lugar, se definen la salida o resultados esperados del procedimiento. En el nivel siguiente, mostrado mediante la inclusin por medio de una llave, se definen los pasos necesarios para producir la salida. A su vez, cada paso se define un poco mas. Las llaves adicionales agrupan los procesos requeridos para producir el resultado en el siguiente nivel.Los diagramas de Warnier/Orr ofrecen a los expertos en sistemas algunas ventajas distintivas. Son simples en apariencia y fciles de entender. Aun as, son poderosas herramientas de diseo. Tienen la ventaja de mostrar agrupaciones de procesos y los datos que deben

transferirse de nivel a nivel. Adems, la secuencia del trabajo hacia atrs garantiza que el sistema estar orientado hacia el resultado.

You might also like