SlideShare una empresa de Scribd logo
1 de 21
Universidad
Pedagógica Nacional de Francisco Morazán
PREUFOD
Clase: INFORMATICA BASICA.
Lic. Marció Rodas.
Exposición:
Teoría de la Computación
Cap. 12
Tegucigalpa M.D.C. 8 de Junio del 2016
2
En este capitulo vamos a considerar los fundamentos teóricos de
las Ciencias de la Computación. En cierto sentido, es el material
presentado en este capitulo el que proporciona a las Ciencias de
la Computación la consideración de verdadera ciencia. Aunque
de naturaleza algo abstracta, este cuerpo de conocimientos tiene
muchas aplicaciones de carácter eminentemente practico. En
particular exploraremos sus implicaciones en relación con la
potencia de los lenguajes de programación.
3
Teoría de la computación
Es un conjunto de conocimientos racionales, sistematizados, y funcionales, que
se centran en el estudio de la abstracción de los procesos que ocurren en la
realidad con el fin de reproducirlos con ayuda de sistemas formales, es decir, a
través de códigos de caracteres e instrucciones lógicas, reconocibles por el ser
humano, con capacidad de ser modeladas en las limitaciones de dispositivos
que procesan información y efectúan cálculos, tales como el ordenador. Para
ello se apoya en la teoría de autómatas para simular y estandarizar dichos
procesos, así como para formalizar los problemas y darles solución.
4
Funciones y su
compatibilidad
Una función en su sentido matemático es una correspondencia entre
un conjunto de posibles valores de entrada y un conjunto de valores de
salida, de modo de que a cada una de las posibles entradas se le
asigna una única salida. Ejemplo:
 La función que convierte las medidas en yardas a metros, la función le
asigna un valor que es el que se obtendrá si se midiera esa misma
distancia en metros.
 La función de ordenación, asigna cada lista de entrada compuesta por
valores numéricos una lista de salidas cuyas entradas son las mismas
que las de la lista de entrada pero dispuestas en orden corriente.
 La función suma cuya entradas son parejas de valores y cuyas salidas
son los valores que representan la suma de cada pareja de entrada.
5
1 0,9144
2 1.8288
3 2.7432
4 3.6576
5 4.5720
. .
. .
. .
6
Máquinas de Turing
Es un intento de comprender las capacidades y limitaciones de
las maquinas, muchos investigadores han propuesto y
estudiado diversos dispositivos computacionales. Uno de ellos
es la maquina de Turing, que fue proporcionada por Alan M.
Turing en 1936 y continua utilizándose hoy en día para estudiar
la potencia de los procesos algorítmicos.
7
Una maquina de Turing esta compuesta por una unidad de
control que puede leer y escribir símbolos en una cinta por
medio de un cabezal de lectura/escritura.
Unidad de Control
Los estados de nuestra maquina serán START (estado inicial), ADD
(sumar), CARRY (acarreo), OVERFLOW (desbordamiento), RETUR
(Volver) y HALT (determinación). Las acciones correspondientes a cada
uno de estos estados y el contenido de la casilla correspondiente se
describen en la tabla de la figura.
8
ESTADO ACTUAL CONTENIDO DE LA
CASILLA ACTUAL
VALOR QUE HAY
QUE ESCRIBIR
DIRECCIÓN DE
MOVIMIENTO
ESTADO AL QUE
PASAR
START * * Izquierda ADD
ADD 0 1 Derecha RETURN
ADD 1 0 Izquierda CARRY
ADD * * Derecha HALT
CARRY 0 1 Derecha RETURN
CARRY 1 0 Izquierda CARRY
CARRY * 1 Izquierda OVERFLOW
OVERFLOW (Ignorado) * Derecha RETURN
RETURN 0 0 Derecha RETURN
RETURN 1 1 Derecha RETURN
RETURT * * Sin movimiento HALT
Maquina de Turing para incrementar un valor
Lenguajes de programación universales
El lenguaje de Bare Bones
Estas sentencias permiten a los programadores darse el lujo de
pensar en términos de estructuras de datos y de tipos de datos (tales
como matrices de valores numéricos y cadenas de caracteres
alfabéticos), aunque la propia maquina se limite a manipular los
patrones de bits sin tener ningún conocimiento de que es lo que esos
patrones representan. Antes de presentarla a una maquina para que
la ejecute, una sentencia de alto nivel que trate con estructuras y tipos
de datos elaborados debe ser traducida a instrucciones de lenguaje
máquina que manipulen patrones de bits, con el fin de simular las
acciones solicitadas.
9
Existen tres sentencias de asignación y una estructura de control
que representa un bucle. El lenguaje es un lenguaje de formato
libre, por lo que cada sentencia termina con un punto y coma, lo
que facilita al traductor la tarea de separar las sentencias que
aparezcan en la misma línea.
Cada una de las tres sentencias de asignación solicita que se
modifique el contenido de la variable identificada en la sentencia.
La primera de ellas nos permite asociar el valor cero con una
variable. Su sintaxis es
clear nombre:
Donde nombre puede ser cualquier nombre de variable.
10
incr nombre;
y
decr nombre;
De nuevo, nombre se representa cualquier nombre de
variable. La primera de estás sentencias hace que el valor
asociado con la variable identificada se incremente en una
unidad. Por tanto si la variable Y tuviera asignado el valor
cinco antes de ejecutar la sentencia.
incr Y;
Entonces el valor asignado a Y después de ejecutada la
sentencia seria seis.
11
Programa en Bare Bones para el calculo de X x Y.
clear Z;
while X not 0 do;
clear W
while Y not 0 do;
incr Z;
incr W;
decr Y;
end;
while W not 0 do;
incr Y;
decr W;
end;
decr X;
end;
El objetivo del lenguaje Bare Bones es investigar que cosas son posibles; no qué cosas resultan practicas.
Este lenguaje tan simple satisface completamente nuestro objetivo de disponer un lenguaje de programación
universal mínimo.
12
La universalidad de Bare Bones
Cualquier programa escrito en Bare Bones puede
considerarse como algo que esta controlando el calculo de
una función. La entrada de la función esta compuesta por
los valores asignados a las variables antes de la ejecución
del programa y la salida de la función esta compuesta por
los valores de las variables una vez que el programa
termina.
13
Complejidad de los problemas
Medida de la complejidad de un problema
En las ciencias de la computación, los problemas que nos interesan
son aquellos que son resolubles mediante maquinas. La soluciones a
estos problemas se expresan en forma de algoritmos. Por tanto, la
complejidad de un problema estará determinada por las propiedades
de los algoritmos que permiten resolver dicho problema. Para ser mas
precisos, consideraremos que la complejidad de un problema es igual
a la complejidad del algoritmo mas simple que permite resolverlo.
Pero, ¿Cómo medimos la complejidad del algoritmo?
Lamentablemente, el termino complejidad tiene diferentes
interpretaciones. Una de esas interpretaciones trata con la cantidad
de toma de decisiones y el grado de ramificación que contenga el
algoritmo.
14
Un algoritmo complejo seria aquel que incluyera un conjunto de
instrucciones muy entrelazado y complicado. Esta interpretación
puede ser compatible con el punto de vista de un ingeniero de
software , que esta interesado en los problemas relativos al
descubrimiento y representación de algoritmos, pero no captura
el concepto de complejidad desde el punto de vista de una
maquina.
El análisis de los algoritmos de búsqueda y ordenación nos dice
que el problema de buscar en una lista de longitud n (cuando lo
único que sabemos es que la lista ha sido previamente
ordenada) es del orden O(lg n), ya que en el algoritmo de
búsqueda binaria permite resolver el problema.
15
16
Un ejemplo de una mejor solución al problema de ordenación es el algoritmo
de ordenación por combinación. El enfoque de ese algoritmo consiste en
ordenar pequeñas partes de la lista con el fin de obtener partes ordenadas
aun mayores. Cada proceso de combinación aplica el algoritmo de
combinación que ya presentamos al hablar de los archivos secuenciales
Procedimiento CombinarListas para combinar dos listas
Complejidad Espacial
Una alternativa a medir la complejidad en términos del tiempo es la
de medir en su lugar los requisitos de espacio de almacenamiento,
lo que da como resultado una medida que se conoce con el nombre
de complejidad espacial. Es decir , la complejidad espacial de un
problema esta determinada por la cantidad de espacio de
almacenamiento requerida para solucionar el problema.
17
Criptografía de clave pública
En algunos casos, el hecho de que un problema sea difícil de
resolver ha resultado ser una ventaja en lugar de un inconveniente.
Un caso especialmente interesante es el de encontrar los factores
de un cierto entero, un problema para el que todavía no se ha
descubierto una solución eficiente, si es que existe una. Por
ejemplo, utilizando únicamente lápiz y papel podríamos comprobar
que la tarea de determinar los valores relativamente pequeños,
como 2173, es bastante tediosa, y si el numero en cuestión fuera
tan grande que su representación requiriera varios centenares de
dígitos, la tarea seria intratable incluso si aplicáramos tecnología
moderna y usáramos las mejores técnicas de factorización de
actualmente conocidas.
18
Claves de cifrado: Medio que sirve para cifrar mensajes utilizando
un conjunto de valores.
Claves de descifrado: Descifra dichos mensajes empleando otro
conjunto de valores.
Las personas que conocen las claves de cifrado pueden cifrar los
mensajes, pero no pueden descifrarlos; la única persona que puede
descifrar los mensajes es aquella que conozca las claves de
descifrado. Por tanto, las claves de cifrado se pueden distribuir a
todo el mundo sin problemas y sin comprometer la seguridad del
sistema.
Estos sistemas de cifrado criptográficos se conocen como sistema
de:
Clave publica: Es el termino que refleja el hecho de que las claves
utilizadas para cifrar los mensajes pueden ser de conocimientos
públicos sin que sufra por ello la seguridad del sistema.
Claves privadas: Se denominan claves de descifrado.
19
Criptografía de clave público 20
La criptografía de clave pública trata de resolver el problema del
intercambio de claves entre el emisor y el receptor. La solución consiste
en cifrar y descifrar el mensaje con claves distintas. El receptor de
mensaje puede hacer pública la clave de cifrado k y solamente él será
capaz de descifrar el mensaje con su clave privada k'.
21

Más contenido relacionado

La actualidad más candente

Algoritmo
AlgoritmoAlgoritmo
Algoritmodarooke
 
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje CDiego Andrés Alvarez Marín
 
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...Diego Andrés Alvarez Marín
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datosMario Garlo
 
Algoritmos criptograficos
Algoritmos criptograficosAlgoritmos criptograficos
Algoritmos criptograficosIsrra AguiMor
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Ana
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopezvianeylopez21
 
Criptografia II
Criptografia IICriptografia II
Criptografia IITensor
 
principales datos simples
principales datos simplesprincipales datos simples
principales datos simplesedgarcr717
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingvmtorrealba
 
Seguridad redes
Seguridad redesSeguridad redes
Seguridad redesJAV_999
 

La actualidad más candente (20)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
 
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
 
EQUIPO THUNDER CAT 81131
EQUIPO THUNDER CAT 81131EQUIPO THUNDER CAT 81131
EQUIPO THUNDER CAT 81131
 
Segundo trabajo
Segundo trabajoSegundo trabajo
Segundo trabajo
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Melendez
MelendezMelendez
Melendez
 
Algoritmos criptograficos
Algoritmos criptograficosAlgoritmos criptograficos
Algoritmos criptograficos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Vianey Hernandez Lopez
Vianey Hernandez LopezVianey Hernandez Lopez
Vianey Hernandez Lopez
 
Criptografia II
Criptografia IICriptografia II
Criptografia II
 
principales datos simples
principales datos simplesprincipales datos simples
principales datos simples
 
TDA
TDATDA
TDA
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Ed java
Ed javaEd java
Ed java
 
Lenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turingLenguajes aceptados por una maquina de turing
Lenguajes aceptados por una maquina de turing
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Seguridad redes
Seguridad redesSeguridad redes
Seguridad redes
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
Algoritmos
Algoritmos Algoritmos
Algoritmos
 

Destacado

Creacion de una red de area local. Cesar Castillo. 602
Creacion de una red de area local. Cesar Castillo. 602Creacion de una red de area local. Cesar Castillo. 602
Creacion de una red de area local. Cesar Castillo. 602cesar castillo
 
Curso de offimatica y comp. basica planeacion.
Curso de offimatica y comp. basica planeacion.Curso de offimatica y comp. basica planeacion.
Curso de offimatica y comp. basica planeacion.cesar castillo
 
Cap 6 tema lenguajes de programacion
Cap 6 tema lenguajes de programacionCap 6 tema lenguajes de programacion
Cap 6 tema lenguajes de programacionJose Skiipp Miralda
 
Cap 10 gráficos computacionales
Cap  10 gráficos computacionalesCap  10 gráficos computacionales
Cap 10 gráficos computacionalesJose Skiipp Miralda
 

Destacado (20)

Cap 11 inteligencia artificial
Cap  11 inteligencia artificialCap  11 inteligencia artificial
Cap 11 inteligencia artificial
 
Cap 1 almacenamiento de datos
Cap 1 almacenamiento de datosCap 1 almacenamiento de datos
Cap 1 almacenamiento de datos
 
LEY
LEYLEY
LEY
 
Creacion de una red de area local. Cesar Castillo. 602
Creacion de una red de area local. Cesar Castillo. 602Creacion de una red de area local. Cesar Castillo. 602
Creacion de una red de area local. Cesar Castillo. 602
 
Como Subir PPT En Blogger
Como Subir PPT En BloggerComo Subir PPT En Blogger
Como Subir PPT En Blogger
 
Deficiencia cardiaca
Deficiencia cardiacaDeficiencia cardiaca
Deficiencia cardiaca
 
Proyecto informatico
Proyecto informaticoProyecto informatico
Proyecto informatico
 
Dificultades del aprendizaje
Dificultades del aprendizajeDificultades del aprendizaje
Dificultades del aprendizaje
 
Cap 7 ingenieria del software
Cap 7 ingenieria del softwareCap 7 ingenieria del software
Cap 7 ingenieria del software
 
Talleres educativos en el CETPRO SB
Talleres educativos en el CETPRO SBTalleres educativos en el CETPRO SB
Talleres educativos en el CETPRO SB
 
Cap 2 tratamiento de datos
Cap 2 tratamiento de datosCap 2 tratamiento de datos
Cap 2 tratamiento de datos
 
Cap. 8 abstracciones de datos
Cap. 8 abstracciones de datosCap. 8 abstracciones de datos
Cap. 8 abstracciones de datos
 
Cap 5 tema algoritmos
Cap 5 tema algoritmosCap 5 tema algoritmos
Cap 5 tema algoritmos
 
Curso de offimatica y comp. basica planeacion.
Curso de offimatica y comp. basica planeacion.Curso de offimatica y comp. basica planeacion.
Curso de offimatica y comp. basica planeacion.
 
Dificultades del aprendizaje
Dificultades del aprendizajeDificultades del aprendizaje
Dificultades del aprendizaje
 
Unidad word resuelta
Unidad  word  resueltaUnidad  word  resuelta
Unidad word resuelta
 
Cap 6 tema lenguajes de programacion
Cap 6 tema lenguajes de programacionCap 6 tema lenguajes de programacion
Cap 6 tema lenguajes de programacion
 
Cap 4 redes e internet
Cap 4 redes e internetCap 4 redes e internet
Cap 4 redes e internet
 
Cap 10 gráficos computacionales
Cap  10 gráficos computacionalesCap  10 gráficos computacionales
Cap 10 gráficos computacionales
 
Cap. 9 bases de datos
Cap. 9  bases de datosCap. 9  bases de datos
Cap. 9 bases de datos
 

Similar a Teoría Computación Cap12

Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmosJeremy Luis
 
Trabajo de informatica.com
Trabajo de informatica.comTrabajo de informatica.com
Trabajo de informatica.comJorge Suesca
 
Trabajo dfe informatica
Trabajo dfe informatica Trabajo dfe informatica
Trabajo dfe informatica maleja3456
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICAagustinc3333
 
Teoria de la computacion
Teoria de la computacionTeoria de la computacion
Teoria de la computacionAriel Medina
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacionkarenyulithza
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Principios basicos de la programacion
Principios basicos de la programacion Principios basicos de la programacion
Principios basicos de la programacion Angel1309
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc) Angel1309
 
Principios basicos de la programacion
Principios basicos de la programacionPrincipios basicos de la programacion
Principios basicos de la programacionfapfapfap69
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaImatilla
 

Similar a Teoría Computación Cap12 (20)

Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmos
 
Trabajo de informatica.com
Trabajo de informatica.comTrabajo de informatica.com
Trabajo de informatica.com
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Trabajo dfe informatica
Trabajo dfe informatica Trabajo dfe informatica
Trabajo dfe informatica
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Teoria de la computacion
Teoria de la computacionTeoria de la computacion
Teoria de la computacion
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Algoritsmos unefa
Algoritsmos unefaAlgoritsmos unefa
Algoritsmos unefa
 
Complejidad
ComplejidadComplejidad
Complejidad
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Principios basicos de la programacion
Principios basicos de la programacion Principios basicos de la programacion
Principios basicos de la programacion
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)
 
Principios basicos de la programacion
Principios basicos de la programacionPrincipios basicos de la programacion
Principios basicos de la programacion
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
 
20 algoritmos
20 algoritmos20 algoritmos
20 algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
1 eda teo
1 eda teo1 eda teo
1 eda teo
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 

Último

30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

Teoría Computación Cap12

  • 1. Universidad Pedagógica Nacional de Francisco Morazán PREUFOD Clase: INFORMATICA BASICA. Lic. Marció Rodas. Exposición: Teoría de la Computación Cap. 12 Tegucigalpa M.D.C. 8 de Junio del 2016
  • 2. 2
  • 3. En este capitulo vamos a considerar los fundamentos teóricos de las Ciencias de la Computación. En cierto sentido, es el material presentado en este capitulo el que proporciona a las Ciencias de la Computación la consideración de verdadera ciencia. Aunque de naturaleza algo abstracta, este cuerpo de conocimientos tiene muchas aplicaciones de carácter eminentemente practico. En particular exploraremos sus implicaciones en relación con la potencia de los lenguajes de programación. 3
  • 4. Teoría de la computación Es un conjunto de conocimientos racionales, sistematizados, y funcionales, que se centran en el estudio de la abstracción de los procesos que ocurren en la realidad con el fin de reproducirlos con ayuda de sistemas formales, es decir, a través de códigos de caracteres e instrucciones lógicas, reconocibles por el ser humano, con capacidad de ser modeladas en las limitaciones de dispositivos que procesan información y efectúan cálculos, tales como el ordenador. Para ello se apoya en la teoría de autómatas para simular y estandarizar dichos procesos, así como para formalizar los problemas y darles solución. 4
  • 5. Funciones y su compatibilidad Una función en su sentido matemático es una correspondencia entre un conjunto de posibles valores de entrada y un conjunto de valores de salida, de modo de que a cada una de las posibles entradas se le asigna una única salida. Ejemplo:  La función que convierte las medidas en yardas a metros, la función le asigna un valor que es el que se obtendrá si se midiera esa misma distancia en metros.  La función de ordenación, asigna cada lista de entrada compuesta por valores numéricos una lista de salidas cuyas entradas son las mismas que las de la lista de entrada pero dispuestas en orden corriente.  La función suma cuya entradas son parejas de valores y cuyas salidas son los valores que representan la suma de cada pareja de entrada. 5
  • 6. 1 0,9144 2 1.8288 3 2.7432 4 3.6576 5 4.5720 . . . . . . 6
  • 7. Máquinas de Turing Es un intento de comprender las capacidades y limitaciones de las maquinas, muchos investigadores han propuesto y estudiado diversos dispositivos computacionales. Uno de ellos es la maquina de Turing, que fue proporcionada por Alan M. Turing en 1936 y continua utilizándose hoy en día para estudiar la potencia de los procesos algorítmicos. 7 Una maquina de Turing esta compuesta por una unidad de control que puede leer y escribir símbolos en una cinta por medio de un cabezal de lectura/escritura. Unidad de Control
  • 8. Los estados de nuestra maquina serán START (estado inicial), ADD (sumar), CARRY (acarreo), OVERFLOW (desbordamiento), RETUR (Volver) y HALT (determinación). Las acciones correspondientes a cada uno de estos estados y el contenido de la casilla correspondiente se describen en la tabla de la figura. 8 ESTADO ACTUAL CONTENIDO DE LA CASILLA ACTUAL VALOR QUE HAY QUE ESCRIBIR DIRECCIÓN DE MOVIMIENTO ESTADO AL QUE PASAR START * * Izquierda ADD ADD 0 1 Derecha RETURN ADD 1 0 Izquierda CARRY ADD * * Derecha HALT CARRY 0 1 Derecha RETURN CARRY 1 0 Izquierda CARRY CARRY * 1 Izquierda OVERFLOW OVERFLOW (Ignorado) * Derecha RETURN RETURN 0 0 Derecha RETURN RETURN 1 1 Derecha RETURN RETURT * * Sin movimiento HALT Maquina de Turing para incrementar un valor
  • 9. Lenguajes de programación universales El lenguaje de Bare Bones Estas sentencias permiten a los programadores darse el lujo de pensar en términos de estructuras de datos y de tipos de datos (tales como matrices de valores numéricos y cadenas de caracteres alfabéticos), aunque la propia maquina se limite a manipular los patrones de bits sin tener ningún conocimiento de que es lo que esos patrones representan. Antes de presentarla a una maquina para que la ejecute, una sentencia de alto nivel que trate con estructuras y tipos de datos elaborados debe ser traducida a instrucciones de lenguaje máquina que manipulen patrones de bits, con el fin de simular las acciones solicitadas. 9
  • 10. Existen tres sentencias de asignación y una estructura de control que representa un bucle. El lenguaje es un lenguaje de formato libre, por lo que cada sentencia termina con un punto y coma, lo que facilita al traductor la tarea de separar las sentencias que aparezcan en la misma línea. Cada una de las tres sentencias de asignación solicita que se modifique el contenido de la variable identificada en la sentencia. La primera de ellas nos permite asociar el valor cero con una variable. Su sintaxis es clear nombre: Donde nombre puede ser cualquier nombre de variable. 10
  • 11. incr nombre; y decr nombre; De nuevo, nombre se representa cualquier nombre de variable. La primera de estás sentencias hace que el valor asociado con la variable identificada se incremente en una unidad. Por tanto si la variable Y tuviera asignado el valor cinco antes de ejecutar la sentencia. incr Y; Entonces el valor asignado a Y después de ejecutada la sentencia seria seis. 11
  • 12. Programa en Bare Bones para el calculo de X x Y. clear Z; while X not 0 do; clear W while Y not 0 do; incr Z; incr W; decr Y; end; while W not 0 do; incr Y; decr W; end; decr X; end; El objetivo del lenguaje Bare Bones es investigar que cosas son posibles; no qué cosas resultan practicas. Este lenguaje tan simple satisface completamente nuestro objetivo de disponer un lenguaje de programación universal mínimo. 12
  • 13. La universalidad de Bare Bones Cualquier programa escrito en Bare Bones puede considerarse como algo que esta controlando el calculo de una función. La entrada de la función esta compuesta por los valores asignados a las variables antes de la ejecución del programa y la salida de la función esta compuesta por los valores de las variables una vez que el programa termina. 13
  • 14. Complejidad de los problemas Medida de la complejidad de un problema En las ciencias de la computación, los problemas que nos interesan son aquellos que son resolubles mediante maquinas. La soluciones a estos problemas se expresan en forma de algoritmos. Por tanto, la complejidad de un problema estará determinada por las propiedades de los algoritmos que permiten resolver dicho problema. Para ser mas precisos, consideraremos que la complejidad de un problema es igual a la complejidad del algoritmo mas simple que permite resolverlo. Pero, ¿Cómo medimos la complejidad del algoritmo? Lamentablemente, el termino complejidad tiene diferentes interpretaciones. Una de esas interpretaciones trata con la cantidad de toma de decisiones y el grado de ramificación que contenga el algoritmo. 14
  • 15. Un algoritmo complejo seria aquel que incluyera un conjunto de instrucciones muy entrelazado y complicado. Esta interpretación puede ser compatible con el punto de vista de un ingeniero de software , que esta interesado en los problemas relativos al descubrimiento y representación de algoritmos, pero no captura el concepto de complejidad desde el punto de vista de una maquina. El análisis de los algoritmos de búsqueda y ordenación nos dice que el problema de buscar en una lista de longitud n (cuando lo único que sabemos es que la lista ha sido previamente ordenada) es del orden O(lg n), ya que en el algoritmo de búsqueda binaria permite resolver el problema. 15
  • 16. 16 Un ejemplo de una mejor solución al problema de ordenación es el algoritmo de ordenación por combinación. El enfoque de ese algoritmo consiste en ordenar pequeñas partes de la lista con el fin de obtener partes ordenadas aun mayores. Cada proceso de combinación aplica el algoritmo de combinación que ya presentamos al hablar de los archivos secuenciales Procedimiento CombinarListas para combinar dos listas
  • 17. Complejidad Espacial Una alternativa a medir la complejidad en términos del tiempo es la de medir en su lugar los requisitos de espacio de almacenamiento, lo que da como resultado una medida que se conoce con el nombre de complejidad espacial. Es decir , la complejidad espacial de un problema esta determinada por la cantidad de espacio de almacenamiento requerida para solucionar el problema. 17
  • 18. Criptografía de clave pública En algunos casos, el hecho de que un problema sea difícil de resolver ha resultado ser una ventaja en lugar de un inconveniente. Un caso especialmente interesante es el de encontrar los factores de un cierto entero, un problema para el que todavía no se ha descubierto una solución eficiente, si es que existe una. Por ejemplo, utilizando únicamente lápiz y papel podríamos comprobar que la tarea de determinar los valores relativamente pequeños, como 2173, es bastante tediosa, y si el numero en cuestión fuera tan grande que su representación requiriera varios centenares de dígitos, la tarea seria intratable incluso si aplicáramos tecnología moderna y usáramos las mejores técnicas de factorización de actualmente conocidas. 18
  • 19. Claves de cifrado: Medio que sirve para cifrar mensajes utilizando un conjunto de valores. Claves de descifrado: Descifra dichos mensajes empleando otro conjunto de valores. Las personas que conocen las claves de cifrado pueden cifrar los mensajes, pero no pueden descifrarlos; la única persona que puede descifrar los mensajes es aquella que conozca las claves de descifrado. Por tanto, las claves de cifrado se pueden distribuir a todo el mundo sin problemas y sin comprometer la seguridad del sistema. Estos sistemas de cifrado criptográficos se conocen como sistema de: Clave publica: Es el termino que refleja el hecho de que las claves utilizadas para cifrar los mensajes pueden ser de conocimientos públicos sin que sufra por ello la seguridad del sistema. Claves privadas: Se denominan claves de descifrado. 19
  • 20. Criptografía de clave público 20
  • 21. La criptografía de clave pública trata de resolver el problema del intercambio de claves entre el emisor y el receptor. La solución consiste en cifrar y descifrar el mensaje con claves distintas. El receptor de mensaje puede hacer pública la clave de cifrado k y solamente él será capaz de descifrar el mensaje con su clave privada k'. 21