Académique Documents
Professionnel Documents
Culture Documents
com/site/progestructuradauam2018/
sistemas.azc.uam.mx/nube
Algoritmos y Computabilidad
Definición de algoritmo.
• Describe el método para realizar una tarea.
2
Las propiedades de un Algoritmo
3
Estructura general: Ejemplo:
4
Diagramas de flujo
inicio
fin
Pseudocódigo
¿Como decírselo a la máquina?
Ejemplo
Calcular la suma de 10 números impares
¿Como decírselo a la máquina?
Un algoritmo alternativo:
¿Qué es computabilidad?
Consiste en ser capaz de encontrar la representación
adecuada para la descripción de un problema o
fenómeno.
9
El concepto de modelo
Modelo: es una especificación, generalmente en términos de un
lenguaje matemático, de los pasos necesarios para reproducir un
subconjunto determinado de la realidad. La representación del
modelo surge siempre a partir de su descripción.
10
Teoría de la computabilidad
La Teoría de la Computabilidad consiste en encontrar
maneras de representar descripciones de procesos,
de tal manera que se pueda asegurar si existe o no
una representación.
11
La máquina de Turing
La máquina de Turing es el primer modelo teórico de lo que
luego sería una computadora programable (1936).
Un control finito que tiene la capacidad de examinar el algún
símbolo de alguna celda y tomar una decisión que depende del
símbolo observado y del estado en que se encuentre el control
finito.
El control es finito porque puede estar solamente en alguno de
los estados posibles, habiendo solamente un número finito de ellos.
Se supone un diccionario de símbolos finto.
13
https://es.wikihow.com/convertir-de-decimal-a-binario
Sistema Binario
Utiliza solo dos dígitos, 0 y 1. Un número en binario
representa una suma de potencias de 2. Ejemplo:
1101002 = 1*25+ 1*24+ 0*23+ 1*22+ 0*21+ 0*20
= 32 + 16 + 0 + 4 + 0 + 0 = 5210
Para convertir de decimal a binario se sigue el siguiente
esquema (el número 210):
105 52 26 13 6 3 1 0
2 210 105 52 26 13 6 3 1
0 1 0 0 1 0 1 1
El binario se obtiene de la secuencia reversa de los residuos
14
El número binario equivalente es: 11010010
Ejemplo de máquina de 3 cintas
https://es.wikipedia.org/wiki/Máquina_de_Turing
15
Ejemplo funcionamiento
de CPU
16
EJEMPLO DE PROCESADOR
El procesador contiene un acumulador para
almacenar uno de los operandos antes de realizar
las operaciones binaria y almacenar el resultado
después de éstas. Memoria
dir contenido
Acumulador
00000 00000000
00000000
00001 00000000
CPU
00010 00000000
... ...
17
11111 00000000
Formato de las instrucciones
0 1 1 0 1 1 0 1
20
Programa con mnemónicos
Direccion Mnemónico Operando
00 carga 10
01 almacena 12
02 carga 14
03 suma 11
04 almacena 14
05 carga 12
06 resta 13
07 almacena 12
08 salta si no 0 02
09 alto
21
CONTENIDO DE LA MEMORIA ANTES DE LA
EJECUCIÓN
Programa
Datos
22
CONTENIDO DE LA MEMORIA DESPUÉS DE
LA EJECUCIÓN
Dirección
en binario Contenido
00000 00101010
00001 01001100
00010 00101110
00011 01101011
00100 01001110
00101 00101100
00110 10001101
00111 01001100
01000 11000010
01001 11100000
01010 00000011
01011 00000100
01100 00000000
Datos 01101 00000001
01110 00001100 Resultado
01111 00000000
23
Problema de ejemplo
Se desea evaluar la fórmula 3A + 2B – C, con A = 5, B = 8, C = 3.
Se requieren al menos 3 localidades de memoria, una para A, otra para B
y otra para C. Elegimos las localidades con direcciones 10, 11 y 12 para
ese propósito. Para guardar el resultado se usará la dirección 13.
}
1. Cargar el valor de A en el acumulador Calcula 3A
2. Sumarle el valor de A al acumulador
3. Sumarle el valor de A al acumulador
4. Sumarle el valor de B al acumulador
5. Sumarle el valor de B al acumulador } Calcula 3A + 2B
6. Restarle el valor de C al acumulador
7. Almacenar resultado
8. Terminar
Calcula 3A + 2B – C
24
Programa Dirección Contenido
00000 00101010
00001 01101010
Dir Mnemónico Operando
00 carga 10
01 suma 10 00010 01101010
02 suma 10
03 suma 11 00011 01101011
04 suma 11
05 resta 12
06 almacena 13 00100 01101011
07 alto
00101 10001100
00100 01001101
00111 25 11100000
Tarea 2
Escriba un programa para la CPU que evalúe la siguiente expresión:
4*A – 3*B + 10
Pruebe el programa para a) A = 5 y B = 4 b) A = 3 y B = 6 explique los
resultados.
27