Sei sulla pagina 1di 11

Universidad Abierta y a Distancia de

México
Licenciatura en Matemáticas
Materia: Computación 1
Unidad 1: Computar
Evidencia de aprendizaje: Ciclo de vida del
software

Docente: Ángel Raya Varga

Presenta: Javier Banda Sánchez

16 de Octubre de 2018
Presentación

Identifica los fundamentos teóricos e históricos que dan forma a los


modelos de cómputo que ahora usamos para determinar que puede ser o
no computable utilizando los principios fundamentales de la teoría de la
computación.

Actividad:
Una vez que participaste en el foro y efectuaste las actividades,
complementa tu aportación tomando en cuenta los comentarios que
se hicieron, además ejemplifica los principales conceptos con los
ejercicios de la actividad.

Desarrollo
En esta actividad, se retoman todos los conocimientos adquiridos en la
unidad, recuerda que puedes apoyarte en los recursos que se te brindaron
durante toda la unidad.

Realiza un ensayo donde recuperes tu investigación (foro y comentarios) e


incluyas los ejercicios realizados (Tareas).

1. Integra un documento que cuente con portada, presentación, desarrollo,


ejercicios, comentarios conclusiones y referencias consultadas.

2. Resuelve cada uno de los ejemplos que integres.


Presentación
Diferentes personas y procesos han contribuido en la creación del computador como lo
entendemos hoy en día. En las secciones siguientes, analizaremos algunos de esos
aportes y su relevancia en el proceso. No se trata de una historia de la computación
como tal, sino de identificar las ideas fundamentales que dan origen al desarrollo del
computador tal como lo conocemos hoy en día.

Desarrollo

Programa almacenado (arquitectura de von Neumann)


La estructura von Newman es el modelo básico de arquitectura usado en la gran mayoría de las
computadoras digitales actuales. Las dos principales características de la estructura de von Newman son:
el uso del sistema de numeración binario y el concepto de “programa almacenado”. La estructura von
Newman está formada por:

 Unidad Central de Proceso (CPU): está formada por una unidad Aritmética y un banco de
registros y se encarga de realizar operaciones elementales tales como suma, resta, multiplicación,
etc
 Unidad de Memoria: se encuentra dividida en celdas, las cuales se identifican mediante una
dirección. Todas las celdas son de tamaño fijo. Dicha unidad se encarga de almacenar datos e
instrucciones (programa).
 Unidad de Control: se encarga de leer una tras otra las instrucciones máquina almacenadas en
memoria principal. Además, genera las señales de control para que la computadora ejecute las
instrucciones. Esta unidad contiene un elemento llamado Contador de Programa el cual indica la
posición de memoria de la siguiente instrucción.
 Unidad de Entrada y Salida: realiza la transferencia de información con los periféricos. Los
periféricos permiten cargar datos y programas en la Memoria Principal y sacar los resultados.

Todas las unidades están conectadas por medio de un bus (conjunto de líneas y/o alambres por las cuales
se transfiere información de cualquier dispositivo a otro) unidireccionales (un sólo sentido) o bidireccionales
(en ambos sentidos) cuyo objetivo es hacer que las instrucciones, datos y señales de control circulen entre
las distintas unidades de la computadora. La estructura de von Newman utiliza el modelo de “programa
almacenado” y dicho modelo presenta las siguientes ventajas:

1. Se pueden ejecutar diversos programas.


2. Tiene gran velocidad de ejecución.
3. Se pueden construir programas automodificables, intérpretes, compiladores, etc.

Las computadoras con este tipo de estructura resuelven un problema en una operación de dos fases:
compilación y ejecución. Durante la fase de compilación se lee una serie de instrucciones introducidas
(programa fuente), se traducen a lenguaje de máquina y se almacenan en la memoria principal. Cada
instrucción se almacena en una palabra (o varias palabras, según se requiera), como una instrucción única.
Durante la fase de ejecución, cada instrucción se llama en secuencia desde la unidad de almacenamiento y
se retiene temporalmente en el registro de instrucción mientras se ejecuta. Esta operación de dos fases, en
la cual el programa fuente se traduce y se almacena (compilación) y luego se ejecuta (ejecución) de
manera automática y secuencial, se conoce como concepto de programa almacenado.

El concepto de programa almacenado permitió la lectura (almacenamiento) de un programa dentro de la


memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas
a escribir. Una computadora con la capacidad de “programa almacenado” podría ser utilizada para varias
aplicaciones tan solo cargando y ejecutando el programa apropiado.
Tesis Church-Turing
El modelo de “máquina de Turing” fue presentado en 1936 como un mecanismo abstracto de cómputo
capaz de ejecutar algoritmos paso a paso. La máquina de Turing antecedió en varias décadas a la
implementación física de los computadores digitales y se ha usado desde entonces como el modelo teórico
fundamental de la noción de computación secuencial.

Hay varias razones por las cuales la máquina de Turing sigue siendo un formalismo útil y ampliamente
utilizado:

1. La noción de „paso computacional‟ está claramente definida. Esto permite precisar sin
ambigüedades el concepto de „tiempo de computación‟.
2. La noción de „lugar de almacenamiento‟ está también claramente presentada, por medio de las
casillas individuales en la cinta.
3. Estos dos recursos, „tiempo‟ y „espacio‟, aparecen en la máquina de Turing de una manera muy
realista y permiten analizar los efectos de imponer limitaciones sobre ellos, lo cual es muy
adecuado en las investigaciones sobre complejidad computacional.

Ningún modelo computacional captura de manera tan satisfactoria tales aspectos de la computación.
Diseñar una MT es completamente similar a escribir un programa computacional, lo cual establece una
conexión intuitiva directa entre máquinas de Turing y algoritmos.

Esta conexión es el fundamento de la afirmación conocida como Tesis de Church-Turing y que puede ser
enunciada de la manera más directa como: “Todo algoritmo puede ser descrito por medio de una
máquina de Turing.”

En su formulación más amplia, la Tesis de Church-Turing abarca tanto los algoritmos que producen una
salida para cada entrada como aquéllos que no terminan (ingresan en bucles infinitos) para algunas
entradas. También se incluyen los algoritmos deterministas y los no-deterministas. Para apreciar su
significado y su alcance, hay que enfatizar que la Tesis de Church-Turing no es un enunciado matemático
susceptible de demostración, ya que involucra la noción intuitiva de algoritmo. En otras palabras, la tesis no
se puede demostrar.

Ejercicios
1. Investiga y explica con tus propias palabras qué es un Autómata y cuál es el lenguaje
básico.
Es un conjunto de posibilidades de algún lenguaje en específico, el cual puede ser expresado en
un diagrama, condicionado a través de las premisas básicas del problema y siguiendo ciertas
reglas previamente definidas.
Están compuestos por cinco elementos:

 Símbolo: un dato que tenga algún significado.

 Palabra: la concentración de una cierta cantidad de símbolos.

 Alfabeto: conjunto finitos de símbolos.

 Lenguaje: varias palabras.

 Clausura de Kleene: una cadena es la unión de todas las posibles palabras, estas cadenas
en total forman la estrella de Kleene.

2. Construye dos Autómatas de conjuntos básicos.

 El encender o apagar un foco en casa: sus estados son encendido o apagado.

Pulsar

Inicio Encendido Apagado

Pulsar

 Cuando vamos en el coche y llegamos a un semáforo, el funcionamiento seria así:


sus estados serían los colores rojo, amarillo y verde.

Avanzar

Inicio Rojo Amarillo Verde

Detener Detener
1. Investiga y explica con tus propias palabras qué es el programa Python y cuál es el
lenguaje básico incluyendo sus variables.

Es un lenguaje de programación orientada a objetos, este lenguaje no necesita compilar un


código fuente para poder ejecutarlo. Python fu diseñado para comprnderce muy fácilmente,
una más de sus características es el uso de palabras donde otros lenguajes usan símbolos.

Una variable es un lugar donde guardaremos cierta información. Las funciones ma sutilizadas en
Python son:

 Variables numéricas, las cuales se dividen en:

o Int: Números enteros.

o Float: Números reales.

 Variables que almacenan texto se les llamada strings (str), las cuales pueden estar en
comillas sencillas (“), dobles (“”) o triples (“””).

 El comando print, se toma también como variable, el cual es de gran utilidad para
que el programa se comunique con nosotros. Muestra el texto que coloquemos

2. Descarga, instala y prueba el programa Python, programando un conversor de


moneda.
3. Incluye capturas de pantalla donde evidencies los pasos efectuados.

 Primero pedí la cantidad de pesos mexicanos y lo guardo en la variable “pesos”:

 Genero la variable euro y dólar, las cuales tome los valores del día 13 de octubre de
2018:

 si quisiera que se adaptara a cualquier día, puedo generar dos variables llamadas
“euro” y “dólar” solicitando introducir los su valor en cualquier momento del año:

 imprimo el resultado realizando divisiones básicas y me dará el resultado final:


 el programa corriendo se vería así:

Comentarios foro
Hola Víctor Alejandro, buenas tardes.

Tu información es muy completa, es fundamental tener en cuenta en donde comenzó


todo, para mi es impresionante como para esos años ya se realizaba ese análisis tan
importante de algoritmos y como ello dio origen a lo que conocemos como “computar”,
solo te recomiendo incluir tus referencias bibliográficas ya que me hubiera gustado
seguir documentándome un poco más.

Saludos.

Hola Juan Carlo, buenos días.

Como comenta mi compañero Axel, tu información está muy completa. Como ya vengo
comentando en mis antiguos aportes, es impresionante la capacidad de análisis de
todos ellos, por eso con toda razón siempre estuvieron adelantados a su época, es
impresionante que todo esto es la base para prácticamente todo la tecnología que
tenemos.

Saludos.

Conclusiones
Como hemos estado analizando en esta unidad, el origen de la computación es muy
antiguo y nació a partir de la necesidad de realizar cálculos cada vez más grandes y
complejos, esto se dio gracias a grandes personas que adelantas a su época dieron
hincapié a el concepto de computar. Gracias a ellas podemos tener actualmente
computadoras potentes, tecnologías muy avanzadas y actualmente grandes avances
en la inteligencia artificial.
Referencias Bibliográficas
 Facultad de contaduría y administración. (2016). Arquitectura de
computadoras. 5 de octubre 2018, de UNAM Sitio web:
http://ecampus.fca.unam.mx/ebook/imprimibles/informatica/arquitectura_co
mputadoras/Unidad_1.pdf

 Facultad de Contaduría y Administración . (2017). La Tesis de Turing-Church. 5


de Octubre 2018, de UNAM Sitio web:
file:///C:/Users/Javier/Downloads/2.3LaTesisdeTuring-Church.pdf

 Holger Billhardt. (2014). Teoría de Autómatas y Lenguajes Formales. 07 de


Octubre de 2018, de Universidad Rey Juan Carlos Sitio web:
http://www.ia.urjc.es/grupo/docencia/automatas_itis/apuntes/capitulo%201.
ppt.pdf
 Jorge L. Ortega Arjona. (2004). Breves Notas sobre Automatas y Lenguajes. 07
de Octubre 2018, de UNAM Sitio web:
http://lya.fciencias.unam.mx/jloa/publicaciones/automatasyLenguajes.pdf

 N/A. (2014). Variables en python: Texto y números. 12 de Octubre de 2018, de


Python Sitio web: https://www.tutorialpython.com/variables-en-python/

 Jorge A. Perez Prieto. (2018). Estilo de codificación y buenas prácticas. 12 de


Octubre de 2018, de IAC Sitio web: http://www.iac.es/sieinvens/python-
course/source/estilo.html

 Alejandro Aguilar García. (2016). Modelos Computacionales. 16 de Octubre


2018, de 1º C E. T. S. I. Telecomunicaciones Sitio web:
http://informatica.utem.cl/~mcast/CCOMPUTACION/Introduccion/ModelosCo
mputacionales.pdf

Potrebbero piacerti anche