Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Logica autómata y funcional, Apuntes de Lógica

Es de una materia de lógica y funcional el cual solo son descripciones

Tipo: Apuntes

2020/2021

Subido el 24/04/2021

ellys-alberto-granadillo-quijano
ellys-alberto-granadillo-quijano 🇲🇽

1 documento

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
©TecNM mayo 2016 Página | 1
TECNOLÓGICO NACIONAL DE MÉXICO
Secretaría Académica, de Investigación e Innovación
Dirección de Docencia e Innovación Educativa
1. Datos Generales de la asignatura
Nombre de la asignatura:
Clave de la asignatura:
SATCA1:
Carrera:
Programación Lógica y Funcional.
SCC - 1019
2 - 2 - 4
Ingeniería en Sistemas Computacionales.
2. Presentación
Caracterización de la asignatura
El desarrollo de sistemas basados en computadora y la búsqueda de soluciones para problemas de
procesamiento de información s
La asignatura de Programación Lógica y Funcional aporta al perfil del Ingeniero en Sistemas
Computacionales la capacidad de desarrollar habilidades para la generación de soluciones
automatizadas basadas en lenguajes de inteligencia artificial, considerando el entorno y la aplicación
de diversas técnicas, herramientas y conocimientos.
Los programas para computadora actualmente son fundamentales en muchas áreas del ser humano,
debido a que se usan para resolver diversos problemas en la ciencia, la industria y los negocios. Para
cubrir estas necesidades, se han desarrollado lenguajes de programación dentro de la inteligencia
artificial. El Ingeniero en Sistemas Computacionales contribuirá, aplicando estos conocimientos para
la solución de problemas a través de la programación lógica y funcional, con una conciencia ética y de
respeto al medio ambiente.
La Programación Lógica y Funcional, es una asignatura que requiere tener conocimientos esenciales
acerca de lenguajes de programación estructurados y orientados a objetos así como el conocimiento
de las asignaturas de Lenguajes y Autómatas 1 y 2.
Esta asignatura aporta al perfil de la carrera de Ingeniería en Sistemas Computacionales los siguientes
elementos:
Implementa aplicaciones computacionales para solucionar problemas de diversos contextos,
integrando diferentes tecnologías, plataformas o dispositivos
Coordina y participa en equipos multidisciplinarios para la aplicación de soluciones innovadoras
en diferentes contextos
Diseña, implementa y administra bases de datos optimizando los recursos disponibles, conforme a
las normas vigentes de manejo y seguridad de la información
Desarrolla y administra software para apoyar la productividad y competitividad de las
organizaciones cumpliendo con estándares de calidad
Intención didáctica
La inteligencia artificial incluye varios campos de desarrollo tales como: la robótica, usada
principalmente en el campo industrial; comprensión de lenguajes y traducción; visión en máquinas que

1 Sistema de Asignación y Transferencia de Créditos Académicos
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Logica autómata y funcional y más Apuntes en PDF de Lógica solo en Docsity!

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

1. Datos Generales de la asignatura Nombre de la asignatura:

Clave de la asignatura:

SATCA 1 :

Carrera:

Programación Lógica y Funcional.

SCC - 1019

2 - 2 - 4

Ingeniería en Sistemas Computacionales.

2. Presentación Caracterización de la asignatura El desarrollo de sistemas basados en computadora y la búsqueda de soluciones para problemas de procesamiento de información s

La asignatura de Programación Lógica y Funcional aporta al perfil del Ingeniero en Sistemas Computacionales la capacidad de desarrollar habilidades para la generación de soluciones automatizadas basadas en lenguajes de inteligencia artificial, considerando el entorno y la aplicación de diversas técnicas, herramientas y conocimientos.

Los programas para computadora actualmente son fundamentales en muchas áreas del ser humano, debido a que se usan para resolver diversos problemas en la ciencia, la industria y los negocios. Para cubrir estas necesidades, se han desarrollado lenguajes de programación dentro de la inteligencia artificial. El Ingeniero en Sistemas Computacionales contribuirá, aplicando estos conocimientos para la solución de problemas a través de la programación lógica y funcional, con una conciencia ética y de respeto al medio ambiente.

La Programación Lógica y Funcional, es una asignatura que requiere tener conocimientos esenciales acerca de lenguajes de programación estructurados y orientados a objetos así como el conocimiento de las asignaturas de Lenguajes y Autómatas 1 y 2. Esta asignatura aporta al perfil de la carrera de Ingeniería en Sistemas Computacionales los siguientes elementos:  Implementa aplicaciones computacionales para solucionar problemas de diversos contextos, integrando diferentes tecnologías, plataformas o dispositivos  Coordina y participa en equipos multidisciplinarios para la aplicación de soluciones innovadoras en diferentes contextos  Diseña, implementa y administra bases de datos optimizando los recursos disponibles, conforme a las normas vigentes de manejo y seguridad de la información  Desarrolla y administra software para apoyar la productividad y competitividad de las organizaciones cumpliendo con estándares de calidad

Intención didáctica La inteligencia artificial incluye varios campos de desarrollo tales como: la robótica, usada principalmente en el campo industrial; comprensión de lenguajes y traducción; visión en máquinas que

(^1) Sistema de Asignación y Transferencia de Créditos Académicos

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

distinguen formas y que se usan en líneas de ensamblaje; reconocimiento de palabras y aprendizaje de máquinas; sistemas computacionales expertos, etc.

El temario está organizado en cuatro unidades y con una estructura lógica. En la primera unidad se inicia con un acercamiento a los diferentes estilos de programación y una comparación entre ellos, con la idea de que el estudiante desarrolle una visión de conjunto de los lenguajes de alto nivel y sirva como marco de referencia a la metodología de los lenguajes de inteligencia artificial, como lo son la programación lógica y funcional.

La unidad dos integra la programación funcional, haciendo énfasis, al uso de nuevas metodologías para que las actividades del estudiante vayan más allá de la intuición y reflexión. Proporciona nuevas habilidades, distintas a las desarrolladas en los paradigmas convencionales de la programación.

Para las unidades tres y cuatro, se realizarán prácticas en los lenguajes simbólicos y lógicos, implementando algoritmos de juegos para aplicar los conceptos aprendidos en cada tema. Se recomienda el desarrollo de un sistema experto básico para la unidad cuatro; en la presentación de cada sistema es conveniente que el estudiante viva la aplicación del mismo en el aula, con sus exigencias y responda con profesionalismo y responsabilidad.

3. Participantes en el diseño y seguimiento curricular del programa

Lugar y fecha de elaboración o revisión

Participantes Evento

Instituto Tecnológico de Saltillo del 5 al 9 de octubre de 2009.

Representantes de los Institutos Tecnológicos de:

Alvarado, Arandas, Campeche, Celaya, Centla, Cerro Azul, Champotón, Ciudad Acuña, Ciudad Cuauhtémoc, Ciudad Juárez, Ciudad Madero, Ciudad Valles, Coatzacoalcos, Cocula, Colima, Comitán, Durango, El Istmo, Huetamo, La Laguna, La Paz, Lázaro Cárdenas, Lerdo, Libres, Linares, Macuspana, Matamoros, Mérida, Mexicali, Morelia, Nuevo Laredo, Nuevo León, Occidente del Estado de Hidalgo, Ocotlán, Orizaba, Oriente del Estado de Hidalgo, Parral, Piedras Negras, Pinotepa, Saltillo, San Luis Potosí, Sur de Guanajuato, Sur del Estado de Yucatán, Tapachula, Tepexi de

Reunión Nacional de Diseño e Innovación Curricular para el Desarrollo y Formación de Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería en Geociencias.

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

Nuevo León, Oaxaca, Oriente del Estado de México, Oriente del Estado de Hidalgo, Pachuca, Piedras Negras, Progreso, Puerto Vallarta, Purhepecha, Tacámbaro, Tehuacán, Tepexi de Rodríguez, Tepic, Teposcolula, Teziutlán, Tierra Blanca, Tijuana, Tlaxiaco, Toluca, Tuxtepec, Uruapan, Valladolid, Veracruz, Villahermosa, Zacatecas, Zacatecas Norte, Zacatepec, Zapopan, Zitácuaro y Zongólica.

Instituto Tecnológico de Toluca, del 10 al 13 de febrero de 2014.

Representantes de los Institutos Tecnológicos de:

Cerro Azul, Colima, Lerdo, Toluca y Veracruz.

Reunión de Seguimiento Curricular de los Programas Educativos de Ingenierías, Licenciaturas y Asignaturas Comunes del SNIT.

4. Competencia(s) a desarrollar Competencia(s) específica(s) de la asignatura Conoce los principios lógicos y funcionales de la programación para aplicarlos en la resolución de problemas. 5. Competencias previas Implementa un compilador para un lenguaje específico considerando las etapas del mismo.

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

6. Temario

No. Temas Subtemas

1 Conceptos Fundamentales. 1.1. Diferentes Estilos de programación. 1.2.Analizando diferentes de estilos de programación 1.2.1 Evaluación de expresiones. 1.2.2 Tipos de datos. 1.2.3 Disciplina tipos. 1.2.4 Funciones. 2 Modelo de Programación Funcional. 2.1 Introducción al modelo de programación funcional. 2.1. El tipo de datos. 2.2. Funciones. 2.3. Intervalos. 2.4. Operadores. 2.5. Aplicaciones de las listas. 2.6. Árboles. 2.7. Evaluación perezosa. 3 Programación lógica. 3.1. Repaso de la lógica de primer orden. 3.2. Unificación y resolución. 3.3. Cláusulas de Horn, resolución SLD. 3.4. Programación lógica con cláusulas de Horn. 4 Modelo de programación lógica. 4.1 Introducción al modelo de programación lógica. 4.2. Semántica de los programas lógicos. 4.3. Representación clausada del conocimiento. 4.4. Consulta de una base de cláusulas. 4.5. Espacios de búsqueda. 4.6. Programación lógica con números, listas y árboles. 4.7. Control de búsqueda en programas lógicos 4.8. Manipulación de términos. 4.9 Predicados mitológicos.

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

 Habilidad para buscar y analizar información

proveniente de fuentes diversas.

 Solución de problemas.

 Toma de decisiones.

 Trabajo en equipo.

 Capacidad de aplicar los conocimientos.

 Habilidades de investigación.

 Capacidad de generar nuevas ideas.

 Liderazgo.

 Habilidad para trabajar en forma.

Autónoma.

 Búsqueda del logro.

 Investigar; al menos, un lenguaje de programación representativa diferente al establecido para la materia.  Realizar mapa conceptual de los lenguajes de la programación funcional vistos en la materia.  Aplicar los conceptos de la programación funcional para resolver un problema real.

  1. Programación Lógica.

Competencias Actividades de aprendizaje

Específica(s):

 Conoce las ventajas y desventajas del

paradigma de programación lógica.

 Identifica los elementos de la programación

lógica.

Genéricas:

 Capacidad de análisis y síntesis.

 Capacidad de organizar y planificar.

 Habilidad para buscar y analizar información

proveniente de fuentes diversas.

 Solución de problemas.

 Toma de decisiones.

 Trabajo en equipo.

 Capacidad de aplicar los conocimientos.

 Habilidades de investigación.

 Capacidad de generar nuevas ideas.

 Liderazgo.

 Habilidad para trabajar en forma.

Autónoma.

 Búsqueda del logro.

 Identificar los conceptos básicos de la programación lógica.  Describir las cláusulas de Horn y resolución SLD, para identificar reglas de inferencia lógica y emplearlas en la representación del conocimiento.

  1. Modelo de Programación Lógica.

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

Competencias Actividades de aprendizaje

Específica(s):

 Realiza una aplicación dando solución a un problema del entorno usando el paradigma de la programación lógica.

Genéricas:

 Capacidad de análisis y síntesis.  Capacidad de organizar y planificar.  Habilidad para buscar y analizar información proveniente de fuentes diversas.  Solución de problemas.  Toma de decisiones.  Trabajo en equipo.  Capacidad de aplicar los conocimientos.  Habilidades de investigación.  Capacidad de generar nuevas ideas.  Liderazgo.  Habilidad para trabajar en forma. Autónoma.  Búsqueda del logro.

 Reconocer los elementos de la semántica de la programación lógica para interpretar el conocimiento y aplicarlo en su representación.  Investigar, al menos, un lenguaje de programación lógica diferente al establecido para la materia.  Realizar mapa conceptual de la programación lógica.  Aplicar la programación lógica para resolver un problema real.

8. Práctica(s)  Elaboración de mapas conceptuales y/o mentales de la programación lógica y funcional.  Desarrollo de programas funcionales con un grado creciente de complejidad, utilizando herramientas de programación funcional, que den solución a problemas reales.  Desarrollo de programas lógicos con un grado creciente de complejidad, utilizando herramientas de programación lógica, que den solución a problemas reales.  Diseñar y construir una base de conocimiento a través de programación funcional.  A partir de una situación real, diseñar y construir una base de conocimiento a través de herramientas de sistemas expertos basado en programación lógica.  Construir un sistema experto a partir de la base de conocimiento creada en programación lógica.

Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa

11. Fuentes de información

Impresas:

  1. Nilsson, n. J. (2001). Inteligencia artificial. Una nueva síntesis. Mc graw hill.
  2. Poole, d., mackworth, a. Y goebel, r. (1998). Computational intelligence (a logical Approach). Oxford university press.
  3. Bratko, i. (1990). Prolog programming for artificial intelligence (2nd ed.). Addison Wesley.
  4. Mitchell, t. M. (1997). Machine learning. Mc graw hill.
  5. Flach, p. (1994). Simply logical (intelligent reasoning by example). John wiley.
  6. Bird, richard. (2000). Introducción a la programación funcional con haskell. Segunda Ed. Prentice hall..
  7. Fokker, jeroen. (1995). Programación funcional. Universidad de utrecht, Departamento de informática.
  8. Julian, p., alpuente, m. (2007). Programación lógica. Teoría y práctica. Pearson Prentice hall.
  9. Hogger, c. (1990). Essentials of logic programming. Clarendon press, oxford.
  10. Bratko. (1991). Prolog programming for artificial intelligence. Segunda edición). Addison wesley.
  11. Sterling & shapiro. (1994). The art de prolog. Mit.
  12. Lucas, p. Y gaag, l.v.d. (1991). Principles of expert systems. Addison–wesley.

Electrónicas:

  1. Garbusi Pablo. Diseño de compiladores. Obtenido de http://www.fing.edu.uy/inco/cursos/compil/teoricos/01_Introduccion.pdf
  2. Ortiz Triviño, Jorge Eduardo. Lenguajes Regulares. Obtenido de http://www.youtube.com/watch?v=2caZNHXsj
  3. Cubur, Alex. Expresion Regular a DFA en JFlap. Obtenido de http://www.youtube.com/watch?v=S6y0Wu_qp6I
  4. Bonelli, Eduardo. Resolución SLD y PROLOG. 2006. Obtenido de http://www- 2.dc.uba.ar/materias/plp/20062C/download/clase10.pdf
  5. Gallardo, José, Gutiérrez, Paco, Ruíz, Blas. Tomado de: Hudak, Paul, Peterson, John, Fasel, Joseph. A gente introduction to Haskell Version 98. 2001. Obtenido de http://www.lcc.uma.es/~blas/pfHaskell/gentle/
  6. Gallardo, José, Gutiérrez, Paco, Ruíz, Blas. Tomado de: Hudak, Paul, Peterson, John, Fasel, Joseph. A gente introduction to Haskell Version 98. 2001. Obtenido de http://www.lcc.uma.es/~blas/pfHaskell/gentle/
  7. Juganaru, Mihaela. Lenguaje PROLOG. 2010. Obtenido de http://ce.azc.uam.mx/profesores/mjm/pub/prolog.pdf
  8. HolaCódigo. Analizador Lexico con JFlex en Java (NetBeans). 2012. Obtenido de http://www.youtube.com/watch?v=w-KfjJdRas