Вы находитесь на странице: 1из 3

Algoritmo

Secuencia finita, ordenada, definida de instrucciones sencillas, claramente


especificadas, a seguir para resolver un problema (La implementación del MML).
Debe ejecutarse con cantidad finita de esfuerzo y tiempo.
-Secuencia de instrucciones en ciclo infinito no es Algoritmo.
Instrucciones Sencillas. Cada instrucción debe tener un único objetivo, aunque su logro
implique ejecutare varias tareas > Una instrucción pueda subdividirse en otras
instrucciones (Sub-algoritmo).
Instrucciones Claramente Especificadas.
No deben no deben ser ambiguas, dar lugar a doble interpretación y deben ser fáciles
de entender.
Diseño de Algoritmos
Plantear secuencia de pasos para lograr algo → Resolver un problema.
1. Proponer un Algoritmo Básico. Una descripción a grandes rasgos. 5 – 7
instrucciones. No es conveniente excederse. Indica mucho detalle > se pueden olvidar
algunos detalles.
2. Refinar el Algoritmo. Refinación por pasos:
a) El Algoritmo básico = algoritmo de nivel cero (0).
b) Cada paso refinar algoritmos o subalgoritmos del anterior. ¿Como?
Responder pregunta del niño:
¿Cómo hago esto? O Y esto, ¿cómo hago?
Respuestas a la pregunta del niño:
- Instrucción redundante. No estaba clara. Sustituir y volver a hacer la pregunta del niño.
- Respuesta compuesta. Un conjunto de instrucciones. Da origen a un sub-algoritmo.
Un pequeño problema > plantear un algoritmo básico. Estas instrucciones se llaman No
atómicas.
- Respuesta simple. Instrucciones atómicas, solo requieren especificar:
* Una variable en inst. de lectura.
* Un valor en inst. de salida.
* Una fórmula de cálculo, en inst. de proceso.
c) Repetir hasta que todas las inst. sean atómicas.
d) El último paso es identificar grupos de instrucciones (más de una) repetidas. Cada
grupo se aísla en un sub-algoritmo independiente, se le da un nombre, que reemplaza
a las instrucciones como una invocación.
Al plantear algoritmos, partir de: La computadora no sabe hacer nada
- En toda Ec. se debe despejar la variable a calcular ← No sabe hacerlo.
- Toda variable deben tener valor antes de ser usada ← No es capaz de reemplazar
valores.
- Sino hacer un algoritmo para despejar variables o reemplazar valores.
Análisis de Datos. p/c algoritmo identificar:
a) Que datos requiere conocer.
b) Que datos es capaz de generar.
c) Grupos de datos que van juntos.
Estructuras de Datos (ED)
ED = datos pueden ser de diferentes tipos con una característica común.
Pertenencia.
3.- Representación de Algoritmos en Diagrama de Flujo
Diagrama de Flujo = Representación Grafica de un Algoritmo.
Permite:
- Visualizarlo en forma espacial.
- Seguir fácilmente sus instrucciones.
- Ver, conocer su estructura y secuencia lógica.
- Fácil comprensión.
Da claridad y transparencia al diseño de algoritmos.
4. Prueba de Escritorio
- Resolver el problema a mano siguiendo el algoritmo.
- Simular la ejecución del algoritmo.
- Construir una tabla. Una columna p/c variable, constante o condición.
- Registrar los valores que toman > Determinar si son los esperados o no
- Detectar errores de lógica.
- Al terminar se devuelve la memoria.
Permite determinar si el algoritmo resuelve realmente el problema.
- Se puede registrar el efecto de varias instrucciones en una sola fila > No
afectan a la misma columna. Sino utilizar una nueva fila.
- La misma instrucción puede tener varios efectos, generalmente sobre las mismas
columnas > registrar en varias filas. Las llamadas a sub-algoritmos.
Efectos de las llamadas a sub-algoritmos
- Crea variables, constantes y condiciones del sub-algoritmo.
- Si existen datos de entrada, los copia.
- Transfiere el control de ejecución del invocador al invocado empieza a ejecutarse el
sub-algoritmo.
- La instrucción de invocación no termina, queda pendiente hasta que el invocado
termine.
Efectos al terminar un sub-algoritmo
- Devuelve la memoria asignada a sus variables, constantes y condiciones.
- Si existen datos de salida, los copia.
- Devuelve el control de ejecución al invocador.
- La instrucción de invocación termina.

Вам также может понравиться