SlideShare una empresa de Scribd logo
1 de 25
Teoría de la
Computación
DOCENTE: ING. GABRIEL LACAYO
E-MAIL: GRLACAYO@FEC.UNI.EDU.NI
Información General
ENCUENTROS POR
SEMANA
3
TORAL DE
SEMANAS
14
INICIO DE CLASES 13/Abril/2015 14 Semanas
FIN DE CLASES 17/Julio/2015
Exámenes 21/07/2015-
31/07/2015
2 Semanas
Convocatorias I 11/08/2015-
14/08/2015
1 Semana
Convocatorias II 17/08/2015-
21/08/2015
1 Semana
Objetivo General
Aprender las bases teóricas para diseñar lenguajes de
programación de tipo procedural y dominar los conceptos
básicos que soportan los procesos de traducción de un
lenguaje fuente a un lenguaje destino.
Adquirir habilidades en el diseño de analizadores lexicales
y sintácticos con ayuda de generadores.
Objetivos Específicos
Conocer, ejercitar y aprender los conceptos básicos de la teoría de
lenguajes formales: conceptos de vocabulario y cadena, operaciones sobre
cadenas; concepto de lenguajes, operaciones sobre lenguajes y clasificación
de los lenguajes.
Aprender el concepto de Autómata Finito Determinista (AFD) y No
deterministas (AFN), principales características y propiedades de los
Autómatas Finitos y sus aplicaciones prácticas, fundamentalmente en el
desarrollo de dispositivos para el reconocimiento de los lenguajes
clasificados como regulares.
Aprender el concepto de Autómata de Pila Determinista y No Determinista,
así como sus principales propiedades, características y aplicación práctica,
sobre todo en el reconocimiento de lenguajes clasificados como libres del
contexto.
Objetivos Específicos
Aprender a definir el léxico, la sintaxis y la semántica de un lenguaje de
programación, así como también a construir y programar los dispositivos
capaces de reconocer si un programa cualquiera escrito en dicho lenguaje esta
correcto desde el punto de vista lexical, sintáctico y semántico.
Formar habilidades en el uso de programas generadores de analizadores
lexicales, analizadores sintácticos y conocer como se realiza la integración de los
mismos en la construcción de programas traductores y/o compiladores.
Unidades Temáticas
I • Introducción
II • Lenguajes y Gramáticas
III • Lenguajes Regulares
IV • Lenguajes Libres de Contexto
V • Análisis Sintáctico
VI • Máquina de Turing
Unidad I: Introducción
En esta unidad se expone la generalidad de la
asignatura, características de los lenguajes, se
introduce la noción de paradigma de programación y
su influencia en el estilo de programación, se
introduce el concepto de compilador e intérprete y
sus diferencias. Se recomienda hacer referencias a
los paradigmas de programación.
Unidad II: Lenguajes y Gramáticas
El contenido de esta unidad pretende que el estudiante aprenda los
conceptos de alfabeto, cadenas, como definir cadenas validad
dentro de un alfabeto, y las deferentes operaciones sobre cadenas,
la definición de un lenguaje desde el punto de vista de la teoría de la
computabilidad y sus diferentes operaciones, introducción a los
lenguajes regulares conceptos y definiciones, así como conceptos
básicos de gramática. Ejercitar en el uso de formación de palabras,
valides de las palabras, ejemplificar con lenguajes actuales y mostrar
algunos ejemplos prácticos.
Unidad III: Lenguajes Regulares
En esta unidad se aborda los Autómatas Finitos Determinista, en su definición
formal matemática, como máquina de estado finito, que representa un modelo
computacional para realizar procesamiento de entrada de datos y producir una
salida, se aborda las expresiones regulares y el AFD equivalente, algunos algoritmos
para programar AFD, y se realizan prácticas en Simuladores, se realizan ejercicios de
aplicación de autómatas a problemas reales. Se aborda la definición formal de
Autómata Finito No Determinista, su definición formal y como se aplica a la
resolución de problemas que no pueden ser abordados por los AFD, y como los AFD
y AFND se pueden expresar en la notación de Gramáticas, como un conjunto de
reglas de formación que definen cadenas de caracteres tanto en los lenguajes
formales o lenguajes naturales, sin entrar en los detalles del significado, solo se
estudia su forma. Se realizan ejercicios prácticos relacionados con los autómatas,
abordar con ejemplos, tanto académicos como prácticos el uso y aplicación de los
autómatas, y como nos ayudan al concepto de gramática.
Unidad IV: Lenguajes Libres de Contexto
En esta unidad se aborda el concepto de árbol de
derivación como una representación del análisis
realizado por las gramáticas en el reconocimiento de
una cadena, Se aborda los autómatas de pila, y
algunos modelos algoritmos que pueden ser
programados, para realizar análisis de gramáticas
básicas.
Unidad V: Análisis Sintáctico
En esta unidad se aborda el Análisis Sintácticos LR, conocidos
como Parser, como un tipo de analizador de gramáticas libre
de contexto, pertenecientes a la familia de analizadores
ascendentes, y como construir el árbol de Derivación,
utilizando las técnicas de análisis por desplazamiento
reducción, LR, LALR (K), además la manera de como se realiza
el tratamiento de errores a nivel básico. En esta unidad nos
apoyamos de los analizadores Lex y Yacc o sus versiones Open
Source Flex y Bison, en un ambiente de desarrollo Linux
preferiblemente, para mostrar la generación de analizadores
léxicos o escáner, y generadores sintácticos respectivamente.
Evaluación
Laboratorios y
Sistemáticos
40%
Examen primer
parcial
30%
Examen segundo
parcial
30%
Nota Final 100%
Examen de Suficiencia
Bibliografía
Textos Autor Año de Edición Título / ISBN
UNIDAD I – II
Básicos
Brooksh Ear, J. Glenn 1999 Teoría de la computación
UNIDAD III-IV
Dean Kelly 1998
Teoría de Autómatas y
Lenguajes Formales
UNIDAD IV- V
Complementario
Francisco Javier Ceballos 1997 Enciclopedia de Lenguaje C
UNIDAD V
Brian W. Kernighan 1995
El entorno de Programación
Unix
UNIDAD VI
John C. Martin 2004
Lenguajes formales y teoría
de la computación
Video “Amar la programación”
Historia de la Computación
Un aspecto importante en el desarrollo de las
computadoras, es sin duda, su aplicación para resolver
problemas científicos y empresariales. Esta aplicación
hubiese resultado muy difícil son la utilización de
procedimientos que permitan resolver estos problemas
mediante una sucesión de pasos claros, concretos y
sencillos, es decir algoritmos. El avance de las matemáticas
permite la utilización de nuevas metodologías para la
representación y manejo de la información.
Tres caminos para la computación
1. Computación Teórica
◦ Autómatas, Funciones Recursivas…..etc
2. Ordenadores Digitales
◦ Nuevas Tecnologías, Nuevos Lenguajes……
3. Intentos de modelizar el cerebro biológico.
◦ Redes Neuronales, Conjunto y Lógica Difusa.
Reflexión
Estilo de Vida
En sociología, un estilo de vida es la manera en que vive una persona (o un
grupo de personas). Esto incluye la forma de las relaciones personales, del
consumo, de la hospitalidad y la forma de vestir. Una forma de vida típicamente
también refleja las actitudes, los valores o la visión del mundo de un individuo. El
término hace referencia a una combinación de unos factores claves intangibles o
tangibles. Los factores tangibles relacionan específicamente con las variables
demográficas, esto es un perfil demográfico individual mientras que los factores
intangibles tratan de los aspectos psicológicos de uno individuo como valores
personales, preferencias y actitud.
Teoría de la computación presentación

Más contenido relacionado

Similar a Teoría de la computación presentación

107 pc 2023-1 Ajustado.pdf
107 pc 2023-1 Ajustado.pdf107 pc 2023-1 Ajustado.pdf
107 pc 2023-1 Ajustado.pdfAisa67
 
B1 desarrollo e implantación de aplicaciones computacionales
B1   desarrollo e implantación de aplicaciones computacionalesB1   desarrollo e implantación de aplicaciones computacionales
B1 desarrollo e implantación de aplicaciones computacionalesmariopino129
 
Aprender a-programar-con-python
Aprender a-programar-con-pythonAprender a-programar-con-python
Aprender a-programar-con-pythonfer zepeda
 
Lenguajes de programación i
Lenguajes de programación   iLenguajes de programación   i
Lenguajes de programación iOmar Robles
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPChelo Vargas
 
Silabo1_2parte
Silabo1_2parteSilabo1_2parte
Silabo1_2parterlalamaf
 
Tutorial sobre estrategias de codificacion para la comprensión de textos
Tutorial sobre estrategias de codificacion para la comprensión de textosTutorial sobre estrategias de codificacion para la comprensión de textos
Tutorial sobre estrategias de codificacion para la comprensión de textosclaudiocastello_1953
 
Syllabus de Expresión Oral
Syllabus de Expresión OralSyllabus de Expresión Oral
Syllabus de Expresión OralManuelLuna64
 

Similar a Teoría de la computación presentación (20)

107 pc 2023-1 Ajustado.pdf
107 pc 2023-1 Ajustado.pdf107 pc 2023-1 Ajustado.pdf
107 pc 2023-1 Ajustado.pdf
 
Medio tic i
Medio tic iMedio tic i
Medio tic i
 
Medio tic ii (1)
Medio tic ii (1)Medio tic ii (1)
Medio tic ii (1)
 
Silabo finaltl 2019 i
Silabo finaltl 2019 iSilabo finaltl 2019 i
Silabo finaltl 2019 i
 
B1 desarrollo e implantación de aplicaciones computacionales
B1   desarrollo e implantación de aplicaciones computacionalesB1   desarrollo e implantación de aplicaciones computacionales
B1 desarrollo e implantación de aplicaciones computacionales
 
Diseño del currículo integrado
Diseño del currículo integradoDiseño del currículo integrado
Diseño del currículo integrado
 
Plurilingüismo
PlurilingüismoPlurilingüismo
Plurilingüismo
 
Task
TaskTask
Task
 
Aprender a-programar-con-python
Aprender a-programar-con-pythonAprender a-programar-con-python
Aprender a-programar-con-python
 
PYTON.pdf
PYTON.pdfPYTON.pdf
PYTON.pdf
 
Carmen hoyos actividad3_curso
Carmen hoyos actividad3_cursoCarmen hoyos actividad3_curso
Carmen hoyos actividad3_curso
 
Lenguajes de programación i
Lenguajes de programación   iLenguajes de programación   i
Lenguajes de programación i
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSP
 
Silabo1_2parte
Silabo1_2parteSilabo1_2parte
Silabo1_2parte
 
Sesiones 11 12 nuevos bilingües
Sesiones 11 12 nuevos bilingüesSesiones 11 12 nuevos bilingües
Sesiones 11 12 nuevos bilingües
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Expresión Oral y Escrita
Expresión Oral y EscritaExpresión Oral y Escrita
Expresión Oral y Escrita
 
Tutorial sobre estrategias de codificacion para la comprensión de textos
Tutorial sobre estrategias de codificacion para la comprensión de textosTutorial sobre estrategias de codificacion para la comprensión de textos
Tutorial sobre estrategias de codificacion para la comprensión de textos
 
Temario Nivel 4 Diplomado de Ingles
Temario Nivel 4 Diplomado de InglesTemario Nivel 4 Diplomado de Ingles
Temario Nivel 4 Diplomado de Ingles
 
Syllabus de Expresión Oral
Syllabus de Expresión OralSyllabus de Expresión Oral
Syllabus de Expresión Oral
 

Más de Gabriel Rafael Lacayo Saballos

Más de Gabriel Rafael Lacayo Saballos (20)

Laboratorio1 2014
Laboratorio1 2014Laboratorio1 2014
Laboratorio1 2014
 
Unidad v cierre convexo
Unidad v cierre convexoUnidad v cierre convexo
Unidad v cierre convexo
 
Unidad iv particionamiento en trapezoide
Unidad iv  particionamiento en trapezoideUnidad iv  particionamiento en trapezoide
Unidad iv particionamiento en trapezoide
 
Unidad iv particionamiento de poligonos monotonos
Unidad iv  particionamiento de poligonos monotonosUnidad iv  particionamiento de poligonos monotonos
Unidad iv particionamiento de poligonos monotonos
 
Laboratorio # 1
Laboratorio # 1Laboratorio # 1
Laboratorio # 1
 
Eventos del ratón en Java
Eventos del ratón en JavaEventos del ratón en Java
Eventos del ratón en Java
 
Primitivos gráficos en java parte 3
Primitivos gráficos en java   parte 3Primitivos gráficos en java   parte 3
Primitivos gráficos en java parte 3
 
Primitivos gráficos en java parte 2
Primitivos gráficos en java   parte 2Primitivos gráficos en java   parte 2
Primitivos gráficos en java parte 2
 
Primitivos gráficos en java - Part 1
Primitivos gráficos en java - Part 1Primitivos gráficos en java - Part 1
Primitivos gráficos en java - Part 1
 
Sentencias de control
Sentencias de controlSentencias de control
Sentencias de control
 
Geometría computacional introducción
Geometría computacional introducciónGeometría computacional introducción
Geometría computacional introducción
 
Factibilidad legal y cronograma
Factibilidad legal y cronogramaFactibilidad legal y cronograma
Factibilidad legal y cronograma
 
Factibilidad Técnica y Económica
Factibilidad Técnica y EconómicaFactibilidad Técnica y Económica
Factibilidad Técnica y Económica
 
Factibilidad operativa
Factibilidad operativaFactibilidad operativa
Factibilidad operativa
 
Analizador Sintáctico de C
Analizador Sintáctico de CAnalizador Sintáctico de C
Analizador Sintáctico de C
 
Simulación de Sistemas Electronicos
Simulación de Sistemas ElectronicosSimulación de Sistemas Electronicos
Simulación de Sistemas Electronicos
 
Simulación de Sistemas de Control
Simulación de Sistemas de ControlSimulación de Sistemas de Control
Simulación de Sistemas de Control
 
Aplicaciones Reales Laplace
Aplicaciones Reales LaplaceAplicaciones Reales Laplace
Aplicaciones Reales Laplace
 
Diagramas causales
Diagramas causalesDiagramas causales
Diagramas causales
 
Caso de estudio recolección basura
Caso de estudio recolección basuraCaso de estudio recolección basura
Caso de estudio recolección basura
 

Teoría de la computación presentación

  • 1. Teoría de la Computación DOCENTE: ING. GABRIEL LACAYO E-MAIL: GRLACAYO@FEC.UNI.EDU.NI
  • 2. Información General ENCUENTROS POR SEMANA 3 TORAL DE SEMANAS 14 INICIO DE CLASES 13/Abril/2015 14 Semanas FIN DE CLASES 17/Julio/2015 Exámenes 21/07/2015- 31/07/2015 2 Semanas Convocatorias I 11/08/2015- 14/08/2015 1 Semana Convocatorias II 17/08/2015- 21/08/2015 1 Semana
  • 3. Objetivo General Aprender las bases teóricas para diseñar lenguajes de programación de tipo procedural y dominar los conceptos básicos que soportan los procesos de traducción de un lenguaje fuente a un lenguaje destino. Adquirir habilidades en el diseño de analizadores lexicales y sintácticos con ayuda de generadores.
  • 4. Objetivos Específicos Conocer, ejercitar y aprender los conceptos básicos de la teoría de lenguajes formales: conceptos de vocabulario y cadena, operaciones sobre cadenas; concepto de lenguajes, operaciones sobre lenguajes y clasificación de los lenguajes. Aprender el concepto de Autómata Finito Determinista (AFD) y No deterministas (AFN), principales características y propiedades de los Autómatas Finitos y sus aplicaciones prácticas, fundamentalmente en el desarrollo de dispositivos para el reconocimiento de los lenguajes clasificados como regulares. Aprender el concepto de Autómata de Pila Determinista y No Determinista, así como sus principales propiedades, características y aplicación práctica, sobre todo en el reconocimiento de lenguajes clasificados como libres del contexto.
  • 5. Objetivos Específicos Aprender a definir el léxico, la sintaxis y la semántica de un lenguaje de programación, así como también a construir y programar los dispositivos capaces de reconocer si un programa cualquiera escrito en dicho lenguaje esta correcto desde el punto de vista lexical, sintáctico y semántico. Formar habilidades en el uso de programas generadores de analizadores lexicales, analizadores sintácticos y conocer como se realiza la integración de los mismos en la construcción de programas traductores y/o compiladores.
  • 6. Unidades Temáticas I • Introducción II • Lenguajes y Gramáticas III • Lenguajes Regulares IV • Lenguajes Libres de Contexto V • Análisis Sintáctico VI • Máquina de Turing
  • 7. Unidad I: Introducción En esta unidad se expone la generalidad de la asignatura, características de los lenguajes, se introduce la noción de paradigma de programación y su influencia en el estilo de programación, se introduce el concepto de compilador e intérprete y sus diferencias. Se recomienda hacer referencias a los paradigmas de programación.
  • 8. Unidad II: Lenguajes y Gramáticas El contenido de esta unidad pretende que el estudiante aprenda los conceptos de alfabeto, cadenas, como definir cadenas validad dentro de un alfabeto, y las deferentes operaciones sobre cadenas, la definición de un lenguaje desde el punto de vista de la teoría de la computabilidad y sus diferentes operaciones, introducción a los lenguajes regulares conceptos y definiciones, así como conceptos básicos de gramática. Ejercitar en el uso de formación de palabras, valides de las palabras, ejemplificar con lenguajes actuales y mostrar algunos ejemplos prácticos.
  • 9. Unidad III: Lenguajes Regulares En esta unidad se aborda los Autómatas Finitos Determinista, en su definición formal matemática, como máquina de estado finito, que representa un modelo computacional para realizar procesamiento de entrada de datos y producir una salida, se aborda las expresiones regulares y el AFD equivalente, algunos algoritmos para programar AFD, y se realizan prácticas en Simuladores, se realizan ejercicios de aplicación de autómatas a problemas reales. Se aborda la definición formal de Autómata Finito No Determinista, su definición formal y como se aplica a la resolución de problemas que no pueden ser abordados por los AFD, y como los AFD y AFND se pueden expresar en la notación de Gramáticas, como un conjunto de reglas de formación que definen cadenas de caracteres tanto en los lenguajes formales o lenguajes naturales, sin entrar en los detalles del significado, solo se estudia su forma. Se realizan ejercicios prácticos relacionados con los autómatas, abordar con ejemplos, tanto académicos como prácticos el uso y aplicación de los autómatas, y como nos ayudan al concepto de gramática.
  • 10. Unidad IV: Lenguajes Libres de Contexto En esta unidad se aborda el concepto de árbol de derivación como una representación del análisis realizado por las gramáticas en el reconocimiento de una cadena, Se aborda los autómatas de pila, y algunos modelos algoritmos que pueden ser programados, para realizar análisis de gramáticas básicas.
  • 11. Unidad V: Análisis Sintáctico En esta unidad se aborda el Análisis Sintácticos LR, conocidos como Parser, como un tipo de analizador de gramáticas libre de contexto, pertenecientes a la familia de analizadores ascendentes, y como construir el árbol de Derivación, utilizando las técnicas de análisis por desplazamiento reducción, LR, LALR (K), además la manera de como se realiza el tratamiento de errores a nivel básico. En esta unidad nos apoyamos de los analizadores Lex y Yacc o sus versiones Open Source Flex y Bison, en un ambiente de desarrollo Linux preferiblemente, para mostrar la generación de analizadores léxicos o escáner, y generadores sintácticos respectivamente.
  • 14. Bibliografía Textos Autor Año de Edición Título / ISBN UNIDAD I – II Básicos Brooksh Ear, J. Glenn 1999 Teoría de la computación UNIDAD III-IV Dean Kelly 1998 Teoría de Autómatas y Lenguajes Formales UNIDAD IV- V Complementario Francisco Javier Ceballos 1997 Enciclopedia de Lenguaje C UNIDAD V Brian W. Kernighan 1995 El entorno de Programación Unix UNIDAD VI John C. Martin 2004 Lenguajes formales y teoría de la computación
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Video “Amar la programación”
  • 22. Historia de la Computación Un aspecto importante en el desarrollo de las computadoras, es sin duda, su aplicación para resolver problemas científicos y empresariales. Esta aplicación hubiese resultado muy difícil son la utilización de procedimientos que permitan resolver estos problemas mediante una sucesión de pasos claros, concretos y sencillos, es decir algoritmos. El avance de las matemáticas permite la utilización de nuevas metodologías para la representación y manejo de la información.
  • 23. Tres caminos para la computación 1. Computación Teórica ◦ Autómatas, Funciones Recursivas…..etc 2. Ordenadores Digitales ◦ Nuevas Tecnologías, Nuevos Lenguajes…… 3. Intentos de modelizar el cerebro biológico. ◦ Redes Neuronales, Conjunto y Lógica Difusa.
  • 24. Reflexión Estilo de Vida En sociología, un estilo de vida es la manera en que vive una persona (o un grupo de personas). Esto incluye la forma de las relaciones personales, del consumo, de la hospitalidad y la forma de vestir. Una forma de vida típicamente también refleja las actitudes, los valores o la visión del mundo de un individuo. El término hace referencia a una combinación de unos factores claves intangibles o tangibles. Los factores tangibles relacionan específicamente con las variables demográficas, esto es un perfil demográfico individual mientras que los factores intangibles tratan de los aspectos psicológicos de uno individuo como valores personales, preferencias y actitud.