Máquinas de Turing, programas y tesis de Turing-Church
|
|
- Héctor Muñoz Agüero
- hace 6 años
- Vistas:
Transcripción
1 Máquinas de Turing, programas y tesis de Turing-Church Elvira Mayordomo, Universidad de Zaragoza Ilustraciones: Costas Busch, Rensselaer Polytechnic Institute 1
2 Máquinas de Turing 2
3 La jerarquía de lenguajes a n b n c n? ww? Lengs. indeps. del contexto n n b a Lenguajes regulares a * a *b* R ww 3
4 a n b Lenguajes aceptados por Máquinas de Turing n c n Lengs. indeps. del contexto n n b a Lenguajes regulares a * a *b* ww R ww 4
5 Una máquina de Turing Entrada $ a c d cabeza de lectura Unidad de control lectura-escritura Cinta $ g d e 5
6 $ La cinta de memoria Sin límite derecho longitud infinita... cabeza de lectura-escritura La cabeza se mueve a la Derecha o a la Izquierda o No se mueve 6
7 $... cabeza de lectura-escritura La cabeza en cada paso de ejecución: 1. Lee un símbolo 2. Escribe un símbolo 3. Se mueve a Dcha o Izda o No se mueve 7
8 Ejemplo: $ a a c b Tiempo 0... $ a b k c Tiempo Lee a 2. Escribe k 3. Se mueve a la Izda 8
9 $ a b k c Tiempo 1... $ a f k c Tiempo Lee b 2. Escribe 3. Se mueve a la Dcha f 9
10 La cadena de entrada Símb. inicio Cadena de entrada Símbolo blanco $ a b a c... cabeza lectora La cabeza empieza en la posición más a la izda de la cadena de entrada 10
11 Lee (entrada y memoria) Estados y transiciones q q2 1 No mover entrada a, c N, b, I Escribe en memoria Mov. a Izda memoria q q2 1 Mov. Dcha entrada a, c D, b, D Mov. a Dcha memoria 11
12 Ejemplo: Tiempo 1 $ d d d... q1 estado actual $ a b a c... q q2 1 d, a N, b, D 12
13 Tiempo 1 $ d d d q 1 $ a b a c Tiempo 2 $ d d d q 2 $ a b b c... d, a N, b, D q q1 2 13
14 Ejemplo: Tiempo 1 $ d d d... q 1 $ a b a c Tiempo 2 $ d d d q 2 $ a b b c... d, a D, b, q q1 2 I 14
15 Ejemplo: Tiempo 1 $ d d d... q 1 $ a b a c Tiempo 2 $ d d d q 2 $ a b b c g... d, D, g, D q q1 2 15
16 Definición formal de máquinas deturing 16
17 Función de transición q q2 1 d, a D, b, D ( q, d, a) ( q, D, b, D)
18 Función de transición q q2 1 b, c N, d, I ( q, b, c) ( q, N, d, I)
19 Máquina de Turing: Estados Alfabeto entrada Alfabeto cinta M ( Q,,,, q0, F) Función de transición Estado inicial Estados finales 19
20 Parar La máquina para si no hay transición posible desde la configuración actual 20
21 Ejemplo: $ d d d... q 1 $ a b a c... d, a D, b, D q 1 a, b I, d, I q 2 q 3 No hay transición posible PARA!!! 21
22 Aceptar Aceptar Entrada Si la máquina para en un estado final Rechazar Entrada Si la máquina para en un estado no final o Si la máquina no para nunca 22
23 El lenguaje aceptado Para una máquina de Turing M L( M ) w : desde el estado q0, con w en la entrada, la máquina para en un estado final 23
24 Un ejemplo de máquina de Turing Una máquina de Turing que acepta: a * a, D,, N q 0, I,, N q 1 24
25 Tiempo 0 $ a a a q 0 a, D,, N, I,, N q0 q 1 25
26 Tiempo 1 $ a a a q 0 a, D,, N, I,, N q0 q 1 26
27 Tiempo 2 $ a a a q 0 a, D,, N, I,, N q0 q 1 27
28 Tiempo 3 $ a a a q 0 a, D,, N, I,, N q0 q 1 28
29 Tiempo 4 $ a a a q 1 a, D,, N Para y acepta, I,, N q0 q 1 29
30 Ejemplo de rechazo Tiempo 0 $ a b a q 0 a, D,, N, I,, N q0 q 1 30
31 Tiempo 1 $ a b a q 0 a, D,, No hay transición posible Para y rechaza N, I,, N q0 q 1 31
32 Ejemplo con bucle infinito Una máquina de Turing para el lenguaje a* b, I,, N a, D,, N q 0, I,, N q 1 32
33 Tiempo 0 $ a b a q 0 b, I,, N a, D,, N, I,, N q0 q 1 33
34 Tiempo 1 $ a b a q 0 b, I,, N a, D,, N, I,, N q0 q 1 34
35 Tiempo 2 $ a b a q 0 b, I,, N a, D,, N, I,, N q0 q 1 35
36 Tiempo 2 $ a b a Tiempo 3 Tiempo 4 Tiempo 5 q 0 $ a b a q 0 q 0 $ a b a $ a b a q 0 Bucle infinito 36
37 Por el bucle infinito: No se puede alcanzar el estado final La máquina nunca para No se acepta la entrada 37
38 Máquinas que paran siempre Una máquina de Turing M para siempre si para cualquier cadena w, M con entrada w para 38
39 Lenguajes decidibles Un lenguaje L es decidible si es el aceptado por una máquina de Turing M que para siempre w w L L M para en un estado final M para en un estado no final 39
40 Lenguajes semidecidibles Para una máquina de Turing M L( M ) w : desde el estado q0, con w en la entrada, la máquina para en un estado final Un lenguaje es semidecidible si es aceptado por una máquina de Turing 40
41 Variaciones de máquinas de Turing Más de una cinta de memoria Memoria ilimitada también por la izda Entrada en la cinta de memoria Memoria en varias dimensiones Máquina no determinista Todas equivalentes!! 41
42 Programas 42
43 Programas Consideramos programas sintácticamente correctos: Tipos de datos predefinidos booleano, carácter, natural, entero, real, cadena Instrucciones condicionales si <condición> entonces <secuencia de acciones> sino <secuencia de acciones> fsi Instrucciones iterativas mientrasque <condición> hacer <secuencia de acciones> fmq 43
44 Programas Procedimientos y funciones procedimiento <nombre>(ent <parámetros_1>:<tipo_1>; sal <parámetros_2>:<tipo_2>; e/s <parámetros_3>:<tipo_3>... ) función <nombre>(<parám_1>:<tipo_1>; <parám_2>:<tipo_2>...) devuelve <tipo_fun> <declaraciones locales de constantes, tipos, variables, proced., funciones...> principio <secuencia de acciones> devuelve <valor_de_tipo_fun> {tras devolver el valor la función termina} fin Y el resto de la sintaxis habitual 44
45 Programas ideales El único añadido es que la memoria es ilimitada, es decir No hay nunca errores por overflow (de una variable o de un puntero) De esta forma un programa real es un programa ideal, y un programa ideal se puede implementar en un computador real si tiene suficiente memoria 45
46 Codificación Cualquier dato elemental (booleano, carácter, natural, entero, etc.) puede codificarse como una cadena, y varias cadenas en una sola (por ej. con un símbolo extra #) Luego cualquier programa es equivalente a: procedimiento ejemplo (ent w:cadena; sal z:cadena) 46
47 Nos interesan especialmente Un programa o algoritmo de decisión es el que tiene salida de tipo tpresultado tipo tpresultado = (acepta,rechaza) procedimiento ejemplo (ent w:cadena; sal z:tpresultado) 47
48 Parar Un programa con una entrada para si termina su ejecución 48
49 Aceptar Aceptar Entrada Si el programa para y devuelve acepta Rechazar Entrada Si el programa para y no devuelve acepta o Si el programa no para nunca 49
50 El lenguaje aceptado Para un programa p L( p) w : el programa p con entrada para y devuelve acepta w 50
51 Ejemplo de programa que no para 51
52 Programas que paran siempre Una programa p para siempre si para cualquier cadena w, p con entrada w para 52
53 Tesis de Turing-Church 53
54 Teorema Las máquinas de Turing y los programas son equivalentes 54
55 Son equivalentes quiere decir Para cualquier máquina M existe un programa p tal que: L(M)=L(p) M y p paran con las mismas entradas y viceversa para cualquier programa p existe una máquina M tal que L(M)=L(p) y M y p paran con las mismas entradas 55
56 Demostración 1) Para cualquier máquina M existe un programa p tal que L(M)=L(p) y M y p paran con las mismas entradas Escribir un programa que simule una máquina de Turing (sencillo) 56
57 Demostración 1) Para cualquier programa p existe una máquina M tal que L(M)=L(p) y M y p paran con las mismas entradas Escribir una máquina de Turing que simule una programa (complicado) Primero hacer una máquina que simule cada tipo de instrucción (condicional, bucle) Luego combinarlas 57
58 Lenguajes semidecidibles Para un programa p L( p) w : el programa p con entrada para y devuelve acepta w Un lenguaje es semidecidible si es aceptado por un programa 58
59 Lenguajes decidibles Un lenguaje L es decidible si es el aceptado por un programa que para siempre w w L L p para y devuelve acepta p para y no devuelve acepta 59
60 Tesis de Turing-Church: (1930) Cualquier modelo de cálculo que se pueda implementar físcamente es equivalente a las máquinas de Turing 60
61 Tesis de Turing-Church: Se cumple para los modelos conocidos: Programas (imperativos) Programas lógicos Programas funcionales Máquinas paralelas. Tesis = conjetura. No hay demostración 61
62 Los programas son máquinas de Turing Cuando decimos: Existe un algoritmo que hace x Es lo mismo que: Existe una máquina de Turing que hace x 62
63 a n b Lenguajes semidecidibles (aceptados por programas) n c n Lengs. indeps. del contexto n n b a Lenguajes regulares a * a *b* ww R ww 63
Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42
Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales
Más detallesNotación algorítmica (seudocódigo en castellano) (fecha: 2013-10-30)
Notación algorítmica (seudocódigo en castellano) (fecha: 2013-10-30) 1. Tipos de datos predeidos booleano carácter natural {incluímos el 0 en los naturales, comentarios entre llaves} entero real cadena
Más detallesMáquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45
Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales
Más detalles13.3. MT para reconocer lenguajes
13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática
Más detallesUnidad 4. Autómatas de Pila
Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesUna (muy) breve introducción a la teoría de la computación
Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio
Más detallesAutómatas de Pila y Lenguajes Incontextuales
Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia
Más detallesProblemas indecidibles
Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesMétodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesTema: Autómata de Pila
Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas
Más detallesLenguajes (gramáticas y autómatas)
Lenguajes (gramáticas y autómatas) Elvira Mayordomo Universidad de Zaragoza 19 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Lenguajes (gramáticas y autómatas) 19 de septiembre de 2013
Más detallesExterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}
Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un
Más detallesIntroducción a Autómatas Finitos
Introducción a e. Universidad de Cantabria Esquema 1 Introducción 2 3 Grafo de λ Transiciones Eliminación de las λ-transiciones 4 El Problema Podemos interpretar un autómata como un evaluador de la función
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
Más detallesComplejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Más detallesDESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en
Más detallesEstructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesAutómatas de Pila y Máquinas de Turing Estructurados
Autómatas de Pila y Máquinas de Turing Estructurados Jairo Rocha Dpto. Ciencias Matemáticas e Informática Universidad de las Islas Baleares 07122 Palma de Mallorca e-mail: jairo@uib.es Resumen Presentamos
Más detallesTemas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.
0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)
Más detallesTraductores Push Down para Gramáticas LL
Push Down para Gramáticas LL Extensión de Autómatas Universidad de Cantabria Outline El Problema 1 El Problema 2 3 4 El Problema Podemos resolver el problema de la palabra para lenguajes generados por
Más detallesComputabilidad y Lenguajes Formales: Autómatas Finitos
300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada
Más detalles1 ELEMENTOS BASICOS DEL LENGUAJE
1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada
Más detallesTipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S
Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,
Más detallesAutómatas Finitos Deterministicos (DFA)
Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes
Más detallesINSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "
INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA " GUIA DE ESTUDIOS DE ANALISIS Y DISEÑO DE ALGORITMOS. 1. Qué es un algoritmo? 2. Qué es un Pseudocódigo?
Más detallesModelos Computacionales
Análisis y Complejidad de Algoritmos Modelos Computacionales Arturo Díaz Pérez El circuito lógico La máquina de estados finitos La máquina de acceso aleatorio La máquina de Turing Compuertas Lógicas Compuerta
Más detallesEl Autómata con Pila
El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria Esquema 1 2 3 4 Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen
Más detallesTeoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales
Se prohíbe la reproducción total o parcial de este documento, excepto para uso privado de los alumnos de la asignatura Teoría de Autómatas I de la UNED y los alumnos de asignaturas equivalentes de otras
Más detallesEquivalencia Entre PDA y CFL
Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede
Más detallesTUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación
TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas
Más detalles1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Más detallesLa complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación
PROGRAMACIÓN DEL AUTÓMATA Tiene una serie de pasos: Determinar qué debe hacer el sistema de control y en qué orden Identificar entradas y salidas al autómata Representar mediante un modelo el sistema de
Más detallesAlgoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Más detallesSistemas Numéricos Cambios de Base Errores
Cálculo Numérico Definición: es el desarrollo y estudio de procedimientos (algoritmos) para resolver problemas con ayuda de una computadora. π + cos ( x) dx 0 Tema I: Introducción al Cálculo Numérico Sistemas
Más detallesU i n d id d a 3. El Element os á bá i s cos de un programa
Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución
Más detallesMáquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas
Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia
Más detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detallesInicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa
PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial
Más detallesPROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE
Más detallesSolución Práctica 2 de Modelos Abstractos de Cálculo Curso 10/ Por supuesto puede haber múltiples soluciones.
Solución Práctica 2 de Modelos Abstractos de Cálculo Curso 10/11 1. Por supuesto puede haber múltiples soluciones. 1. L = {p p siempre para}. Porque si (p, x) H p(x) h 1 (p, x) es un programa que siempre
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesMANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6
MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 NOMBRE DE LA PRÁCTICA. Estructuras secuénciales 6.1 OBJETIVO GENERAL El alumno desarrollará la habilidad para diseñar algoritmos secuenciales,
Más detalles5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones
1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y
Más detallesFundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
Más detallesEl Autómata con Pila: Transiciones
El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta
Más detallesAlgoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
Más detallesTema 3. Aplicaciones de Tipo Consola
Tema 3. Aplicaciones de Tipo Consola Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,
Más detallesAritmética del computador. Departamento de Arquitectura de Computadores
Aritmética del computador Departamento de Arquitectura de Computadores Contenido La unidad aritmético lógica (ALU) Representación posicional. Sistemas numéricos Representación de números enteros Aritmética
Más detalles4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Más detallesOrganización del Computador 1. Máquina de von Neumann Jerarquía de Niveles
Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta
Más detallesLa resolución de un problema
CAP. 2. ALGORITMOS Y PROGRAMAS 2.1. Solución de problemas por computadora La resolución de problemas por computadora, es importante para que las personas o usuarios aprendan a programar de manera general,
Más detallesProblemas Seleccionados Resueltos: Máquinas de Turing
Problemas Resueltos: Máquinas de Turing 1 Problemas Seleccionados Resueltos: Máquinas de Turing 1. Diseñar una máquina de Turing que al serle introducida una sucesión finita de 1, escritos en casillas
Más detallesINICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
Más detallesla solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.
ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente
Más detallesConcurrencia entre Procesos.
Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que
Más detallesEnteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.
LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado
Más detallesBENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA:
Más detalles$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
Más detallesObjetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)
Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesCompiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz
Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)
Más detallesTEMA 1: INTRODUCCIÓN
1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.
Más detallesAutómatas finitos no deterministas (AFnD)
Autómatas finitos no deterministas (AFnD) Elvira Mayordomo Universidad de Zaragoza 1 de octubre de 2012 Contenido de este tema Introducción y ejemplos de autómatas finitos no deterministas Definición de
Más detallesTema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesSentencias o instrucciones en Visual BASIC
Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica
Más detallesTEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesEstructuras Secuénciales
Estructuras Secuénciales Los algoritmos más sencillos de realizar son los que no toman decisiones, tan solo se dedican a realizar o ejecutar instrucción tras instrucción en el orden determinado. Estos
Más detallesTexto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.
Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:
Más detallesFundamentos de Programación Visual Basic
Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280
Más detallesDepartamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos
Departamento de Informática Universidad Técnica Federico Santa María Tema 1: Algoritmos Programación de Computadores (IWI-131) Profesor: Teddy Alfaro O. Que es un Computador? Un computador es una maquina
Más detallesDistinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.
ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesINDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación
INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.
Más detallesPROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES
UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA
Más detallesLenguaje C. Tipos de Datos Simples y Estructuras de Control
Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje
Más detallesIntroducción a la programación
Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una
Más detallesACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]
ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia
Más detallesMáquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.
Formales Tema 4: Autómatas finitos deterministas Holger Billhardt holger.billhardt@urjc.es Sumario: Bloque 2: Autómatas Finitos 4. Autómatas Finitos Deterministas 1. Concepto y Definición 2. Autómata finito
Más detallesCarrera: IFM - 0423 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Matemáticas para computación Licenciatura en Informática IFM - 0423 3-2-8 2.- HISTORIA
Más detallesDIAGRAMA DE FLUJO DE DATOS
DIAGRAMA DE FLUJO DE DATOS AUTOR: CORDOVA NERI, TEODORO Lima Perú Córdova Neri, Teodoro 2 Diagrama de Flujo de Datos INTRODUCCIÓN La presente guía denominada DIAGRAMA DE FLUJO DE DATOS, ilustra una de
Más detallesL A B O R A T O R I O T I C 2
U N I V E R S I D A D A U T Ó N O M A D E N U E V O L E Ó N P R E P A R A T O R I A L A B O R A T O R I O T I C 2 Nombre del Alumno: Grupo: Mat. UNIDAD 1 I. DESCRIBE BREVEMENTE EL NOMBRE Y LA FUNCIÓN DE
Más detallesINDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes
INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los
Más detallesNÚCLEO LENGUAJE VERBAL
MAPA INICIACIÓN A LA ESCRITURA LOGROS DE APRENDIZAJE Se refiere a la capacidad de interesarse por la representación gráfica y experimentar diferentes signos gráficos, letras y palabras con la intención
Más detallesCapítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores
Más detallesTema 7: Programación con Matlab
Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas
Más detallesComputación II. Introducción a Visual Basic
Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida
Más detallesAutómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo
Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo
Más detallesTipos Abstractos de Datos
Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal
Más detallesTeoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales
Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia
Más detallesMODULO SOBRE PROGRAMACION MATLAB
2 2 MODULO SOBRE PROGRAMACION MATLAB ESTRUCTURAS DE DECISION OBJETIVOS Al terminar éste módulo el estudiante estará en condiciones de: Utilizar proposición if para que ejecute una expresión si la condición
Más detallesLaboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
Más detalles