1. Rober Kowalski
    1. Algoritmo = Lógica + Control
      1. Lógica
        1. Especificación del problema
          1. Cálculo de predicados de primer orden.
          2. Programación Lógica
          3. Cálculo λ
          4. Programación Funcional
      2. Control
        1. Busqueda de la solución.
  2. Programación Imperativa
    1. El problema a resolver es: "El qué"
      1. Conocidos como lenguajes algoritmicos, el programa especifica como se calcu- lan los resultados.
  3. Programación Declarativa
    1. El programador especifica que debe computarse
      1. Características
        1. Un programa es una sucesión dedefiniciones
        2. La principal estructura de control es recursión
        3. No existen ciclos ni operación de asignación
        4. El programa especifica que se debe calcular.
        5. El como (resolver es irrelevante
      2. Aspectos importantes
        1. La prog. declarativa no depende del lenguaje en particular
        2. Un programa declarativo es por lo general mas corto y legible.
        3. Los programas son elegantes matematicamente. Lo cual implica que es fácil verificar si cumple su especificación.
    2. Programación Lógica
      1. Se basa en fragmentos de la lógica de predicados, ó lógica de primer orden.
        1. Los programas constan de definición de predicados
        2. En lugar de programar una funcion de N argu- mentos, se programa un predicado de N+1 argumentos.
        3. Los fundamentos de programación lógica se sirven basicamente de la lógica de primer orden.
    3. Programación funcional
      1. Se basa en el concepto de función matemática y su definición mediante ecuaciones (generalmente) recursivas que constituyen al programa.