Algoritmos en manufactura avanzada

  • 5,344 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
5,344
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
28
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ALGORITMOS
    MANUFACTURA AVANZADA
  • 2. LENGUAJE
    El lenguaje en su forma mas general se define como una serie de símbolos que sirven para trasmitir una o mas ideas o mensajes entre dos entidades diferentes.
    La transmisión de ideas se conoce como comunicación, pero antes que exista la comunicación primero hay que tener en cuenta que esta “transmisión de ideas” debe cumplir con dos reglas fundamentales:
    Las ideas deben ir en un solo sentido a la vez.
    Deben existir 4 elementos: Emisor, Receptor, Medio de comunicación y Mensaje.
  • 3. Lenguajes de Programación
    Los lenguajes de programación se pueden clasificar en:
    Lenguaje de máquina: Ese es el lenguaje del PC. Todas las instrucciones se expresan como combinaciones de 1’s y 0’s.
    Lenguaje de Bajo Nivel: Conocido como ensamblador es un punto intermedio entre el lenguaje del ser humano y el del PC. Las instrucciones son códigos alfabéticos que se rigen por normas nemotécnicas específicas.
    Lenguajes de Alto Nivel: Las instrucciones de estos lenguajes son palabras similares al lenguaje humano. Algunos de ellos son: C++, BASIC, PASCAL, COBOL, FORTRAN, ETC.
  • 4. ALGORITMO
    Se sabe que la palabra algoritmo se dio en honor del matemático persa del siglo IX, Khowarizmi. Con éste término se hace referencia a un conjunto de reglas, ordenadas de forma lógica, para desarrollar un cálculo o para solucionar un problema, ya sea de forma manual o utilizando una máquina.
  • 5. Características de un algoritmo
    Un algoritmo debe tener al menos las siguientes características:
    Ser Preciso: Esto significa que las operaciones o pasos del algoritmo deben desarrollarse en un orden estricto, ya que el desarrollo de cada paso debe obedecer a un orden lógico.
    Ser Definido. Ya que en el área de programación, el algoritmo se desarrolla como paso fundamental para crear un programa, es necesario tener en cuenta que el computador solo hará las tareas programadas y con los datos suministrados; es decir, no puede improvisar y tampoco se inventará o adivinará el dato que necesite para realizar un proceso. Por eso, el algoritmo debe estar plenamente definido; esto es, que cuantas veces se ejecute, el resultado depende estrictamente de los datos suministrados. Si se ejecuta con un mismo conjunto de datos de entrada, el resultado será siempre el mismo.
  • 6. Características de un algoritmo
    Ser finito: Esta característica implica que el número de pasos de un algoritmo, por grande y complicado que sea el problema que soluciona, debe ser limitado. Todo algoritmo, sin importar el número de pasos que incluya, debe llegar a un final. Para hacer evidente esta característica, en la representación de un algoritmo siempre se incluyen los pasos inicio y fin.
    Presentación Formal: Para que el algoritmo sea entendido por cualquier persona interesada es necesario que se exprese en alguna de las formas comúnmente aceptadas; pues, si se describe de cualquier forma puede no ser muy útil ya que solo lo entenderá quien lo diseñó. Las formas de presentación de algoritmos son: el pseudocódigo, diagrama de flujo y diagramas de Nassi/Schneiderman, entre otras.
  • 7. Características de un algoritmo
    Corrección: el algoritmo debe ser correcto, es decir debe satisfacer la necesidad o solucionar el problema para el cual fue diseñado. Para garantizar que el algoritmo logre el objetivo, es necesario ponerlo a prueba; a esto se le llama verificación o prueba de escritorio.
    Eficiencia: hablar de eficiencia o complejidad de un algoritmo es evaluar los recursos de cómputo que requiere para almacenar datos y para ejecutar operaciones frente al beneficio que ofrece. En cuanto menos recursos requiere será más eficiente el algoritmo.
  • 8. TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
    Diagrama de flujo
    Pseudocódigo
    Diagrama estructurado (nassi-schneiderman)
  • 9. Diagrama de Flujo
    Un diagrama de flujo es la representación gráfica de un algoritmo.
    También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en un procesador para producir resultados.
    Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en máquina o PC), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos.
  • 10. Diagrama de Flujo
    DESVENTAJAS
    No se elaboran con base en los principios de la programación estructurada, ilustran el flujo del programa, pero no su estructura, requiere de un espacio considerable y cuenta con demasiadas ramificaciones.
  • 11. Los símbolos
    Indica el inicio y el final de nuestro diagrama de flujo.
    Indica la entrada y salida de datos.
    Símbolo de proceso y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación aritmética.
    Símbolo de decisión indica la realización de una comparación de valores.
    Se utiliza para representar los subprogramas.
    Conector dentro de página. Representa la continuidad del diagrama dentro de la misma página.
    Conector fuera de pagina. Representa la continuidad del diagrama en otra pagina.
  • 12. Los símbolos
    Indica la salida de información por la Impresora.
    Indica la salida de información en la pantalla o monitor.
    Líneas de flujo o dirección. Indican la secuencia en que se realizan las operaciones.
  • 13. Recomendaciones para el diseño de Diagramas de Flujo
    Se deben se usar solamente líneas de flujo horizontales y/o verticales.
    Se debe evitar el cruce de líneas utilizando los conectores.
    Se deben usar conectores solo cuando sea necesario.
    No deben quedar líneas de flujo sin conectar.
    Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.
    Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
  • 14. Pseudocódigo
    Mezcla de lenguaje de programación que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa.
    Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por un procesador.
    En esencial, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos.
    Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado.
    El pseudocódigo utiliza palabras que indican el proceso a realizar.
  • 15. Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo
    • Ocupa menos espacio en una hoja de papel
    • 16. Permite representar en forma fácil operaciones repetitivas complejas
    • 17. Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación.
    • 18. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
  • Representación
    El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como start, begin, end, stop, if-then-else, while, repeat-until….etc
    Secuencia
    Inicio
    acción1
    acción2
    acción n
    Fin
  • 19. CUERPO DEL PROGRAMA
    LÍNEAS CONECTORAS
    TOP-DOWN LEFT-RIGHT
  • 20. COMENTARIOS
  • 21. CONECTORES CAMBIO DE PÁGINA
  • 22. ERRORES COMUNES
  • 23. ERRORES COMUNES
  • 24. ERRORES COMUNES
  • 25. EJEMPLOS DE ALGORITMOS
  • 26. DIAGRAMAS DE FLUJO
    Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayoría o minoría de edad según sea el caso para un nombre específico.
  • 27. INICIO
    ‘Nombre:’
    nom
    ‘Edad:’
    ed
    Ed>=18
    nom,’Eres menor de edad’
    nom,’Eres mayor de edad’
    FIN
  • 28. Pseudocódigo
    Se requiere preguntar dos valores, y a continuación ofrecer un menú con las operaciones básicas (+, -, *, /). Después de presentar el resultado se ofrecerá la posibilidad de una nueva operación.
  • 29. Pseudocódigo
    Real : X, Y, RESPUESTA
    Entero : OPCION
    Carácter : OP
    Inicio
    Repetir
    escribir(‘Primer valor : ’ )
    leer(X)
    escribir(‘Segundo valor : ‘)
    leer(Y)
    escribir(‘1) Suma ‘)
    escribir(‘2) Resta ‘)
    escribir(‘3) Multiplicación ‘)
    escribir(‘4) División ‘)
    escribir(‘Qué operación deseas realizar ? : ‘)
    leer(OPCION)
    casos OPCION de
    1 : RESULTADO
    X+Y
    2 : RESULTADO
    X-Y
    3 : RESULTADO
    X*Y
    4 : si Y=0 entonces
    escribir(‘ Error ‘)
    RESULTADO 0
    en caso contrario
    RESULTADO X/Y
    escribir (‘Resultado :‘,RESULTADO)
    escribir(‘Deseas otro cálculo : [S/N] ‘)
    leer(OP)
    Hasta que RES = ‘N’
    Fin
  • 30. MÁQUINAS DE ESTADO FINITO
  • 31. Máquinas de Estados Finitos
    Las máquinas de estado finito (SFM) son sistemas digitales donde las salidas dependen de las entradas y de los estados previos almacenados.
    De manera mas clara, una máquina de estados finitos, es una forma gráfica de expresar un proceso secuencial.
  • 32. Ejemplo
    Retiro en un cajero.
    Insertar la tarjeta.
    Digitar la clave.
    Digitar el monto.
    Retirar el dinero.
    Si no se sigue este estricto proceso no se puede llegar al punto 4 y obtener el dinero.
  • 33. Al siguiente estado
    X/R
    X: Entrada que provoca una transición.
    R: Salida.
    http://www.youtube.com/watch?v=5AzRuYnCuhE&feature=related
    ESTADO
    Del estado previo
    Representación
    Las máquinas de estado finito están conformadas por entradas, salidas, estados y transiciones, que se representan de la siguiente manera:
  • 34. EJEMPLO
    Encender un LED con un pulsador
  • 35. Otro ejemplo
    Un hombre desea cruzar un río con un León, una bolsa de Trigo y una Vaca. El problema es que sólo puede cruzar él y dos de los elementos si permitir que la vaca devore el trigo o que el león devore a la vaca. Para resolver el problema hay que seguir una secuencia estricta.
  • 36. Para el ejemplo del hombre
    Los estados se definen en cada una de las situaciones.
    El estado inicial es cuando está con todos los elementos a un lado del río (Lado A).
    El hombre pasa al lado B del río con la vaca.
    Se devuelve al lado A solo.
    Pasa al lado B con el león.
    Se devuelve al lado A con la vaca.
    Pasa al lado B con el trigo.
    Se devuelve al lado A solo.
    Pasa al lado B con la vaca.
  • 37. La Representación.
    H-B
    H-A
    H-A
    HLTV-E
    LT-HV
    HLT-V
    T-HLV
    HTV-L
    V-HTL
    HV-TL
    E-HVTL
    HT-LV
    LV-HT
    TV-HL
    H-B
    H-B
    ERROR
    H-B
    ERROR
    H-B
    H-B
    H-A
    ERROR
    H-B
  • 38. EJEMPLO (Clave electrónica)
    CLAVE (UUDR)
  • 39. DISEÑO
    Diseñar un circuito que controle el siguiente sistema.
    ON
    M
    SD
    SI
  • 40. DISEÑO (Explicación)
    El sistema se activa una vez se hunde el botón “ON”.
    El motor empieza a girar a la derecha hasta que la placa negra llega al sensor “SD”.
    Cuando llega al sensor “SD”, la polaridad del motor se invierte y la placa avanza hacia el lado izquierdo.
    Cuando llega al sensor “SI” el motor se detiene.
  • 41. PASOS
    Se identifican las entradas y las salidas.
    Entradas:
    Botón START: BS.
    Sensor Derecha: SD.
    Sensor Izquiereda: SI.
    Salidas:
    X: Entrada al puente “H”.
    Y: Entrada al puente “H”.
  • 42. PASOS
    Descripción del problema (seudo código).
    Inicialmente el motor se encuentra apagado, en un estado de reposo donde el BS está desactivado, el sensor SI está activado y el SD está desactivado. Esta es la posición inicial o estado de repos del sistema.
    Cuando se da un START (BS=1) y el SI está activado, el motor se enciende ala derecha (XY=01), hasta que el sensor SI se activa.
    En ese momento el motor se activa a la izquierda (XY=10), hasta que el sensor derecha se active.
    Una vez el sensor SI se activa el sistema queda en espera para ser activado nuevamente (XY=00).
  • 43. La máquina de estados
    CÓDIGO= BS SI SD / XY
    110/01
    110/01
    00
    01
    000/01
    010/00
    010/01
    100/01
    REPOSO
    DERECHA
    IZQUIERDA
    001/10
    010/10
    10
    000/10
  • 44. Tabla de estados