Transcript Algoritmo
Algoritmos ALGORITMO: Definición Es un conjunto de pasos lógicos ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico. ALGORITMO: Nombre El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum. ALGORITMO: Caracteríticas CONCRETO FINITO LEGIBLE Debe realizar las Debe Debe generar estar indicarbien un el Debe operaciones Debe funciones estar tener libre u con Debe ser... mismo estructurado orden resultado de terminar operaciones un demínimo errores. en algún de para siempre realización para su que fácil de se utilización las (Validado) momento que fue de entendimiento. cada siga. paso. recursos. creado. EFICIENTE NO AMBIGUO DEFINIDO PRECISO ALGORITMO: Estructura Corresponden a los Conforma Determinan ella grupo datos requeridos de organización instrucciones de las para realizar el que instrucciones realizan las quede algoritmo (datos operaciones deben sery loscon los entrada) datos datos. realizadas. que son generados (datos de salida) Datos Procesos Estructuras de Control ALGORITMO: Elementos Las instrucciones Es necesario que se van a identificar que estar realizar deben datos se necesitan y bien estructuradas ingresar, cuales tener un orden sirven lógico, de conforma el fin de auxiliar y cuales se evitar van a generar. en inconsistencias el resultado. Definición de variables y constantes Entrada Proceso Estructuras de control Salida Cuerpo del algoritmo ALGORITMO: Quienes pueden hacer un algoritmo? Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural. Sin embargo el programador, diseña el algoritmo conciente de que al realizar cada paso obtendrá la solución de un problema específico. ALGORITMO: Cómo se hace? El no programador haría lo siguiente: Buscar la página de cines en elSupongamos diario local y mirar que si ve la película anunciada. deseamos ir al cine a verSila la ve anunciada mira tercera película deen Laqué cine la hacen y se va a Guerra delas Galaxias, verla. Si noprocedemos? la ve anunciada, ¿cómo espera a los estrenos de lasemana que viene. ALGORITMO: Cómo se hace? El programador sin embargo, lo haría de este otro modo: 1 Buscar la página de cines en el diario local, con fecha de hoy 2 Revisar la cartelera de arriba abajo y de izquierda a derecha, buscando entre los títulos existentes. Si se encuentra el título La Guerra de las Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios 3 4 Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista. ALGORITMO: Otro ejemplo Encender un automóvil 1. Poner la llave. 2. Asegurarse que el cambio esté en neutro. 3. Pisar el el acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). 7. Si el auto no arranca, llamar a la grúa. ALGORITMO: Requisitos Seguir los pasos del Por ejemplo: algoritmo debe sellevarnos algoritmos crean el SiLos se requiere hallar la No debemos omitir aparalaresolver resolución del velocidad de un automóvil, contexto de nuestros problema. problemas. es necesario, definir si la algoritmos. Siempre que sea posible Es importante juntoen distancia debeque ser Es necesario establecer seguiremos al metros, etc y lo algoritmo, que kilómetros, se necesita y personalmente los pasos claramente eldescribamos tiempo estará dado en dónde se debe comenzar. de nuestro que éste algoritmo el problema segundos u horas, ya nos que para comprobar son resolver.que puede lapermite velocidad efectivamente correctos y representarse en Km/h ó conducen efectivamente a mts/seg. la solución esperada. Debe Definirse del problema Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad ALGORITMO: Técnicas de Diseño Top Down Está Es una técnica técnica de permite diseño dividir el problema descendente donde se en pequeñas partes, a las realiza un refinamiento cuales se que les da solución sucesivo, permite por luego se darleseparado, una organización a integran las soluciones las instrucciones, en para el problema formaresolver de módulos o principal. bloques. Divide y vencerás ALGORITMO: Técnicas de Representación Es una técnica Está técnica quepermite permite representar representar el algoritmo gráficamenteunlas lenguaje mediante operaciones estructurado, y más estructuras que van a facilitando su se posterior realizar, mediante una codificación. simbología estándar, con un único punto de inicio y uno de finalización. Diagrama de Flujo Pseudocódigo Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 .. . Instrucción n Fin PSEUDOCÓDIGO:Cómo se Hace? Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc. 1 Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras 2 3 La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc. PSEUDOCÓDIGO:Cómo se Hace? Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Fin: Denota el punto de finalización del algoritmo. DIAGRAMA DE FLUJO: Simbología Lectura Inicio Proceso Captura Fin Permite indicar la Permite indicar la realización Se utiliza para Entrada de datos de el unpunto proceso indicar de desde inicioun ymatemático, finalización dispositivo o una operación de del diagrama estándar asignación DIAGRAMA DE FLUJO: Simbología Conectores Impresión Decisión Flujo Permiten enlazar los Permiten Permitedar establecer continuidad una símbolos de un sentido Indica la realización de al condición diagrama relacional si la página ó único pueden ser operaciones de salida lógica o área que depuede trabajo tomar esta horizontales o verticales. a un un llena, valor de verdadero el círculo se o Estas no pueden falso, utiliza de como esteun símbolo conector se dispositivo estándar entrecruzarse y cada una dentro deducen demonitor la 2misma flujos (el o de ellas debe tener un página, el alternativos otro símbolo de único símbolo impresor.) de partida se defineejecución. como un y un único símbolo de conector a otra página. destino. DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Decisión Decisión Decisión DecisiónMúltiple Simple Compuesta Anidada Si No No No Si No Condición Condición No Condición Si No Condición Val1 Condición Val2 Si Si Condición Val3 Otro Caso condición Si condición entonces Val1: Si condición entonces Instrucciones Si condición entonces Instrucciones Val2: Instrucciones Si entonces si condición no Instrucciones siVal3: no Instrucciones Si condición entonces Instrucciones Instrucciones Instrucciones si no Otros: Instrucciones Instrucciones Fin Caso DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo Ciclo Para Ciclo Ciclo Mientras Hasta v=valini,v=valfinal, incremento Instrucciones Condición Instrucciones Si Condición Instrucciones Si No No .. . . Para v=valini, v=valfinal, inc . . Instrucciones Repita Mientras Fin Para que condición .Instrucciones Instrucciones .. Hasta que condición Fin Mientras .. variable v: .. valini: valor inicial .. valfinal: valor final inc: incremento ALGORITMO: Fases de Diseño Definición del problema Análisis del problema Selección de la mejor alternativa Diagramación Prueba de escritorio ALGORITMO: Definición del Problema Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa. ALGORITMO: Análisis del Problema Los datos de entrada que nos suministran Recursos Fórmulas Proceso Entendido el problema para resolverlo es preciso analizar Área de Trabajo Los datos de salida o resultados que se esperan ALGORITMO: Selección de Alternativa Solución ..1 Solución ..3 Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. La que produce los Solución ..5 Lo importante es Analizado el problema resultados Esperados en el Posiblemente tengamos determinar cuál menor tiempo y al menor varias formas resolverlo es la mejorde alternativa costo Solución ..2 ALGORITMO: Diagramación Dibujar gráficamente la lógica de la alternativa seleccionada Una vez que sabemos cómo resolver el problema Plasmar la solucion mediante el Pseudocódigo ALGORITMO: Prueba de Escritorio Esta prueba consiste en: Es Recomendable Serealizar utiliza parase Dar diferentes de Al lo datos anterior Dar diferentes datos entrada considerar todos corroborar que el puede ycomprobar si el de entrada al programa los posibleses casos, aún loso algoritmo plasmado algoritmo correcto de o cualquier no si hay necesidad enexcepción esperados, para asegurar seguir la secuencia de hacer ajustes herramienta presenta que el programa no indicada (volver al paso anterior) la solución al produzca errores en problema inicialse ejecución cuando hasta presenten estos casos. obtener los resultados ALGORITMO: Conceptos Tipo Constante Variable Dato de Dato Minima parte de la Corresponde al tipo de Corresponde a un información. Corresponde valor que puede a un espacio de memoria que Se refiere a los espacio almacenarse de memoria enque un almacena un dato que elementos que almacena espacio de un se memoria dato que dentro del programa en dentro definido del ylos a programa la cantidad en utilizan en ejecución mantiene ejecución de espacio cambia que requiere o varía algoritmos siemprepara su contenido parasualmacenar contenido (valor).. valor. realizar alguna un (valor). operación sobre estos. ALGORITMO: Tipos de Datos Boleano Real Entero cadena Lógicos Numéricos Caracter Carácter Tipos de Datos ALGORITMO: Operadores >= <= > < = Relacionales != <> + Aritméticos / % ^ No Y && O || Lógicos BIBLIOGRAFIA • Fundamentos de Programación. Algoritmos y Estructuras. Luis Joyanes Aguilar. Editorial Mc Graw Hill. • http://fuxion.tripod.cl/fundamentos.htm#Q UE%20HERRAMIENTAS