Algoritmos ALGORITMO Definicin Es un conjunto de pasos





























- Slides: 29
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 generar estar indicarbien un el Debe operaciones Debe funciones estar tener libre u con Debe ser. . . estructurado mismo orden resultado de para terminar demínimo errores. en algún operaciones un de para siempre realización su fácil quede 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 que para realizar el realizan instrucciones quede algoritmolas (datos operaciones deben sery loscon los entrada) 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 Entrada ingresar, cuales tener un orden sirven lógico, de conforma el fin de auxiliar y cuales se evitar van a generar. en el inconsistencias resultado. Definición de variables y constantes 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 el. Supongamos diario local y mirar que si ve la película anunciada. deseamos ir al cine a ver. Sila la ve anunciada mira tercera película deen Laqué cine la hacen y se va a verla. Guerra delas Galaxias, Si no la ve procedemos? 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 creanla Si. Los se requiere hallar No debemos omitir el aparalaresolver resolución del velocidad dede un automóvil, contexto nuestros problemas. es necesario, definir si la algoritmos. Siempre que sea posible Es importante que juntoen distancia debe ser Es necesario establecer seguiremos al algoritmo, metros, etc y ely lo quekilómetros, se necesita personalmente los pasos describamos claramente tiempo estará dado en dónde se debe comenzar. de algoritmo para el nuestro problema que éste segundos u horas, ya nos que comprobar que son resolver. lapermite velocidad puede 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 depermite diseño dividir el problema descendente donde seen pequeñas partes, a las realiza un refinamiento cuales se les solución sucesivo, queda permite por luego se darleseparado, una organización a integran las soluciones las instrucciones, en para resolver el problema forma de módulos o principal. bloques. Divide y vencerás
ALGORITMO: Técnicas de Representación Es una técnica quepermite Está permite representar el algoritmo gráficamenteunlas lenguaje mediante operaciones estructurado, y más estructuras van a facilitando que 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 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 dar continuidad Permite una símbolos de un sentido Indica la establecer realización de al diagrama si la página condición único relacional pueden ser ó operaciones de salida o área de trabajo esta horizontales lógica que puede o verticales. tomar a un llena, el círculo se un valor. Estas de verdadero no pueden o utiliza como un estándar conector dispositivo entrecruzarse falso, de este ysímbolo cada una se dentro(el demonitor la misma o de ellas deducen debe tener 2 flujos un página, el otro símbolo impresor. ) único alternativos símbolo de de ejecución. partida se define 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. Múltiple Simple Compuesta Anidada Si No No No Si No Condición Si No Condición Val 1 Condición Val 2 Si Si Condición Val 3 Otro Caso condición Si condición entonces Val 1: Si condición entonces Instrucciones Val 2: Instrucciones Si entonces si condición no Instrucciones si. Val 3: no Instrucciones Si condición entonces Instrucciones si no Otros: Instrucciones Fin Caso
DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo Para Ciclo Mientras Hasta v=valini, v=valfinal, incremento Instrucciones Condición Instrucciones Si No No . . Para v=valini, v=valfinal, inc. . Instrucciones Repita Mientras Fin Para que condición. Instrucciones . . Hasta que condición Fin Mientras. . variable v: . . valini: valor inicial. . valfinal: valor final inc: incremento
ALGORITMO: Fases de Diseño Algoritmo 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 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. . 5 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 para Dar diferentes de se Al lo datos anterior Dar diferentes datos entrada considerar todos corroborar que puede ycomprobar si el el de entrada al programa los posibleses casos, aún loso algoritmo plasmado algoritmo correcto de ocualquier 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 los espacio almacenarse deamemoria enque un almacena un dato que elementos que almacena espacio un de se dato memoria 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 realizar requiere o varía algoritmos siemprepara su contenido parasu almacenar contenidoun (valor). . valor. alguna operación sobre (valor). 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%20 HERRAMIENTAS