3. DEFINICION DE ALGORITMO:
• A. INFORMAL: conjunto de pasos que define como llevar a cabo una
tarea.
• B. FORMAL: es un conjunto ordenado de pasos ejecutables y no
ambiguos, que definen un proceso finito con un fin determinado.
Ejemplo: hacer una lista de todos los enteros positivos
LA NATURLEZA ABSTRACTA
Un logaritmo es abstracto pero se defiere de la representación.
Ósea hay muchas formas distintas de representarse:
Una historia y un libro
Una historia es la naturaleza conceptual y un libro es la representación
física de la historia.
4. REPRESENTACION DE ALGORITMOS
• A. PRIMITIVAS:
La representación de un algoritmo requiere de algún tipo de
lenguaje ya sea natural o grafico; tratando de resolver problemas
estableciendo un conjunto bien definido de elementos
fundamentales de construcción de software a partir de los cuales
pueden combinarse esas primitivas para representar ideas
complejas.
7. B. Pseudocódigo:
Es el sistema de notación menos normal y mas intuitivo a que las
ideas se pueden expresar informalmente durante el proceso de
desarrollo del algoritmo.
A partir de 1950 y 1960 los diagramas de flujo mediante los
cuales se representaban los algoritmos utilizando formas
geométricas conectadas mediante flechas constituyendo
herramientas de diseño mas avanzadas.
Ejemplo:
si queremos calcular la suma de saldo de nuestra cuenta corriente y nuestra cuenta de
ahorro podríamos querer guardar el resultado para poder referirnos al el
posteriormente
NOMBRE EXPRESI ON
Nombre: es la referencia al resultado
Expresión: describe el calculo cuyo resultado queremos almacenar.
8. • Otra estructura semántica es la selección entre una de dos
posibles
actividades; dependiendo de la verdad o falsedad de una cierta
condición.
Ejemplo:
Si el producto interno bruto de ha incrementado, comprar accione; en caso
contrario vender acciones.
Comprar acciones si el producto interno bruto se ha incrementado, y
venderlas en caso contrario.
Comprar o vender acciones dependiendo de si el producto interno bruto se ha
incrementado o ha reducido respectivamente.
Cada una de esas frases podría reescribirse para adaptarse a la estructura:
if = ( condición)
Palabras claves then= (actividad)
else= ( actividad)
9. DESCUBRIMIETNO DE ALGORITMOS
• 1. E l arte de resolución de problemas: es la necesidad de
tomar la iniciativa y ser uno mismo el que habrá el camino.
FASES DE RESOLUCION DE PROBLEMAS SEGÚN POLYA (1945)
Fase 1 comprender el problema
Fase 2 desarrollar el plan para resolver el problema
Fase 3 llevar a cabo el plan
Fase 4 evaluar la solución
10. 2. Abrirse camino: enumera todas las técnicas posibles ( Ósea es
la descomposición sucesiva de un conjunto de subconjuntos
fácilmente reducibles)
Ejemplo:
Antes de participaren una carrera A,B,C,D hacen las siguientes predicciones
A predice que B va a ganar
B predice que D va a quedar en ultimo lugar
C predice que A va a quedar en tercera posición
D predice que la predicción de A será la correcta
Finalizando la carrera, solo una de esas predicciones resulta correcta y se trata
precisamente de la predicción hecha con el ganador ¿ en que orden han
terminado la carrera A,B,C,D?
R//. Por tanto ni A ni D han sido ganadores de la carrera, entonces el orden
finalizado es: CDAB
11. ESTRUCTURAS ITERATIVAS
• Son estructuras repetitivas o cíclicas .
1. Algoritmo de búsqueda secuencial:
Busca el problema y determina el valor.
Ejemplo:
Para abrir camino a un problema imaginamos como buscaríamos en una lista
de invitados compuestos por 20 nombres para tratar de encontrar a un
invitado en concreto, ordenamos los nombres alfabéticamente y buscamos el
nombre del invitado y si lo encontramos nuestra búsqueda ha sido terminada
con éxito de los contrario habremos fallado.
12. Según el Pseudocódigo:
While (valor objetivo>entradaAcomparar y existen mas entradas
para comparar )
Do ( seleccionar la siguiente entrada de la lista con
entradaAcomparar)
While = será cierta una de las dos condiciones
If= valor objetivo al final
Then = declarar que la búsqueda ha tenido éxito
Else = declarar que la búsqueda a fallado
If ( lista vacia)
Then ( búsqueda fallada)
13. 2. Control de bucles: es el uso repetitivo de una sentencia o
secuencia de sentencia de sentencias.
También es un conjunto denominado que ejecuta de forma
repetida bajo la dirección de algún tipo de procesos de control.
El control de bucles esta compuesto por tres actividades:
a. inicialización:
b. Comprobacion
c. Actualizacion
15. • 3. algoritmo de ordenación por inserción:
• Es la organización ordenada de datos ya sea por alfabeto,
números, códigos etc.
16. ESTRUCTURAS RECURSIVAS
• Proporcionan una la alternativa al paradigma iterativo para la
implementación de la repetición de actividades.
• Un bucle implica repetir un conjunto de sentencias de forma tal
que el conjunto se completa y luego se repite.
ALGORITMO DE BUSQUEDA BINARIA
Su estrategia es dividir sucesivamente la lista de segmentos mas
pequeños hasta encontrar el valor buscado o hasta restringir la
búsqueda a un segmento vacío.
17. CONTROL RECURSIVO
Este va de la mano con la búsqueda binaria y la búsqueda
secuencial ya que implica la repetición cíclica que ejecuta cada
paso de la repetición como una sub tareas del paso anterior.
18. EFICIENCIA Y CORRECCION
Son áreas de investigación importante dentro del campo de la
ciencias de la computación:
El primero de ellos es la EFICACIENCIA de los algoritmos y el
segundo el de su corrección.
19. A. EFICIENCIA DE UN ALGORITMO:
Es la elección de un algoritmo eficiente y otro ineficiente que
puede marcar la diferencia entre una situación practica a un
problema y otra completamente inútil.
20. • B. VERIFICACIÓN DEL SOFTWARE:
Los problemas de verificación no son exclusivos del software
igualmente importante es el problema de confirmar que el
hardware que ejecuta el programa esta libre de errores.
Esto implica la verificación de los diseños de circuito así como la
construcción de la maquina.