Algorítmica y Metodología
Algorítmica y Metodología
Algorítmica y Metodología
Metodología
Dra. Cristián castillo Olea
El Modelo Von Neumann
Unidad Central de Procesamiento
(CPU)
Unidad de Memoria
Datos importantes:
Un programa es una cadena secuencial de instrucciones
Las instrucciones ordenan al ordenador realizar una operación
sobre unos datos
Las instrucciones se ejecutan una tras otra, aunque puede haber
bifurcaciones condicionales (usar un dato para decidir entre dos
instrucciones diferentes por donde continuar)
La computadora procesa tanto instrucciones como sus datos
Las instrucciones y los datos se almacenan juntos en memoria
Unidad de Memoria (UM)
Almacena las instrucciones y los datos del programas
Selector
UM Celdas
dirección
Siempre contienen información
ellas
Unidad Aritmético-Lógica (UAL)
Realiza las operaciones elementales aritméticas (suma,
resta, multiplicación, división, etc.) y lógicas
(comparaciones de igualdad, mayor, menor, etc.)
Banco de Registros
Temporales (BRT)
Operador
Acumulador UAL
La computadora manipula únicamente información digital:
a = (b + c)/(d + e)
Pasos
sumar b y c, y guardar el resultado en una dirección de
memoria temporal X
sumar d y e, y guardar el resultado en una dirección de
memoria temporal Y
dividir el contenido de X por el de Y y guardar el resultado en la
dirección de memoria de a
Inconvenientes
Grandes posibilidades de error
Portabilidad: máquina-dependiente
No se puede llevar el programa a otra máquina porque, entre otras
cosas, el repertorio de instrucciones es distinto
Tedioso
Nula capacidad de abstracción
Es muy complicado formular una solución a problemas del mundo
real con ese lenguaje tan específico
Lenguaje simbólico con una mínima capacidad de
abstracción
Nombres nemotécnicos para los códigos de operación
Nombres simbólicos para las direcciones de memoria
a = (b + c)/(d + e)
SUM B, C, X
SUM D, E, Y
DIV X, Y, A
Cuestiones
¿Cómo entiende la máquina el lenguaje ensamblador?
Programa ensamblador
Traducción a código binario de códigos simbólicos de operación
Traducción de las direcciones simbólicas a direcciones reales de
memoria
Inconveniente: sigue siendo dependiente de la máquina
Lenguajes de alto nivel
Análisis
Diseño
Implementación
Pruebas
Mantenimiento
¿Qué significa?
Casa Software
¿Qué tiene que hacer
“Quiero 4 habitaciones, Análisis exactamente nuestro
2 baños, garaje...” programa?
¿Cómo vamos a organizar
Planos, diseño circuito
eléctrico y de agua...
Diseño el programa? ¿Qué
partes tendrá y cómo
funcionará?
Se construye la casa Se construye el software
Implementación
Hay un
orden El algoritmo
Todas las veces que
preciso en debe
se realicen las tareas
el cual terminar en
o pasos de un
deben algún mo-
algoritmo, con las
ejecutarse mento y
mismas condi-ciones
las tareas debe usar
iniciales, se de-ben
que una can-
obtener resultados
conforman tidad finita
idénticos.
Estructura de un Algoritmo
Datos Instruccione Estructuras de
s control
Para Las acciones Las que
almacenar o procesos determinan el
información: que el orden en que se
da-tos de algoritmo ejecutarán las
entrada, de realiza sobre ins-trucciones del
salida o inter- los datos. algo-ritmo.
medios.
Ejemplo
Diagramas de flujo.
Pseudo-código.
Diagramas de Flujo
Esquema de representación gráfico
de algoritmos.
Problema
Metodología
Programa
Metodología de
Programación
Análisis del problema.
Especificación del problema.
Diseño del algoritmo.
Prueba del algoritmo y refinamiento.
Codificación.
Prueba y verificación.
Análisis del Problema
Entender de manera clara el problema que
se esta resolviendo.
Especificación: