ALGORITMOS
ALGORITMOS
ALGORITMOS
ALGORITMOS
OBJETIVOS
El objetivo de la asignatura es presentar técnicas avanzadas de la algoritmia. Al final de la
asignatura los alumnos deberán ser capaces de:
INTRODUCCION
En matemáticas, ciencias de la computación, y disciplinas relacionadas, un algoritmo (del
latín, dixit algorithmus y éste a su vez del matemático persa al-Jwarizmi) es una lista bien definida,
ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado
inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final,
obteniendo una solución.
Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".
"Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de
Entrada. que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas
entradas son tomadas de conjuntos específicos de objetos."
"Un algoritmo tiene una o más salidas: cantidades que tienen una relación
Salida.
específica con las entradas".
"También se espera que un algoritmo sea eficaz, en el sentido de que todas las
operaciones a realizar en un algoritmo deben ser suficientemente básicas
Eficacia.
como para que en principio puedan ser hechas de manera exacta y en un
tiempo finito por un hombre usando lápiz y papel".
A partir del carácter finito y de salida se deduce que ante una misma situacion inicial (o valores de
entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepcion de
los algoritmos probabilistas.
Pseudocódigo
DO (hacer),
IF – THEN – ELSE (si – entonces – sino)
ENDIF (fin de si),
DO UNTIL (hacer hasta) etc.
Diagrama de flujo
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con
flechas para indicar la secuencia de instrucciones y están regidos por ISO (International Standard
Organization) y ANSI (American National Standards Institute)
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan
mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como
introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas
ajenas a la computación. Un diagrama de flujo debe ilustrar gráficamente los pasos o procesos a
seguir para alcanzar la solución de un problema.
Ejemplo.
Diseñar un algoritmo correspondiente que dado como dato la calificación de un alumno en un
examen escriba “Aprobado” si su calificación es mayor que 8 y “Reprobado” en caso contrario.
Solución:
Dato: CAL donde CAL es una variable de tipo real que expresa la calificación del alumno.
Leer CAL
Si CAL > 8
ENTONCES escribir "Aprobado"
SINO Escribir "Reprobado"
FIN SI
ESTRUCTURA DE CONTROL
Las estructuras lógicas básicas necesarias para confeccionar un programa se reduce en tres:
SECUENCIALES, SELECTIVAS Y REPETITIVAS.
1- Estructuras secuenciales
Estructura DO - END (INICIO - FIN)
DO
Acción A
Acción B
Acción C
END
2- Estructuras selectivas.
Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas las
podemos clasificar de la siguiente manera:
SI condición (verdadera)
entonces
Hacer operación 1
sino
Hacer operación 2
Fin de la condicional
DOUNTIL condición
acción1
acción2
........
END DO
El seudocódigo significa: "Repetir la condición y hacer la o las acciones hasta que la condición
sea verdadera y terminar el bucle".
Tanto en DOWHILE como en DOUNTIL se necesita que el bucle contenga al menos una
instrucción que cambie la condición que controla el bucle. Si no hubiera el bucle continuaría
indefinidamente. Estas estructuras se usan cuando No sabemos el número de veces que se repetirá
el ciclo.
3- Estructuras repetitivas
Estructura repetitiva DOWHILE (mientras - hacer)
DOWHILE condición
acción1
acción2
.........
END DO
El seudocódigo significa: Mientras la condición se verdadera hacer la o las acciones; cuando sea
falsa, terminar en bucle”.
Puede ocurrir que el bucle no se ejecute ni una sola vez en el caso de que la condición no se cumpla
inicialmente.
La estructura REPETIR.
El formato es:
FOR variable = expresión1 TO expresión2 [STEP expresión3]
DO acción
END FOR
STEP expresión3 es opcional y es un incremento (positivo o negativo)