el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
Logica algoritmos
1. Grupo 248
Docente: Ma. Eugenia Morales M.
Algoritmos…
Generalidades sobre
algoritmos
Algoritmos cualitativos y
cuantitativos.
Institución Universitaria de Envigado
Facultad de Ingenierías
2. ◦ “Método para resolver
un problema”
◦ Secuencia ordenada de
pasos para resolver un
problema dado.
Origen:
◦ Mohammed al-
Khowarizmí,
matemático persa S.IX
AC
◦ Euclídes, matemático
griego S.IV AC
Un Algoritmo es…
3. Diseño del
algoritmo
Codificación
Ejecución y
validación
Pasos para resolver un problema…
4. Cualitativos Cuantitativos
Conjunto de pasos para Está escrito en términos
resolver un problema de la que pueda entender el
vida cotidiana. computador.
Se puede generalizar a Hace uso de términos
todos los casos del mismo estándares en la
problema. codificación de
programas.
Se expresa mediante
palabras. Tiene diferentes formas
de expresión: estructural,
Es sintético y claro flujo o pseudocódigo.
Conserva las reglas de los
Conserva las reglas de los
algoritmos. algoritmos
Tipos de Algoritmos
5. Algoritmos voraces: seleccionan los elementos más prometedores del conjunto de
opciones hasta encontrar una solución.
Algoritmos paralelos: permiten la división de un problema en subproblemas de forma
que se puedan ejecutar de forma simultánea en varios procesadores.
Algoritmos probabilísticos: algunos de los pasos están en función de valores
pseudoaleatorios.
Algoritmos determinísticos: tiene un lineal: cada paso del algoritmo tiene
únicamente un paso sucesor y otro antecesor. Algoritmos no determinísticos: el
comportamiento tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a
cualquier número de pasos inmediatamente posteriores, además todas las ramas se
ejecutan simultáneamente.
Divide y vencerás: dividen el problema en subconjuntos obteniendo una solución de
cada uno de ellos para después unirlas, logrando así la solución al problema completo.
Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas
basándose en un conocimiento anterior de los mismos.
Programación dinámica: intenta resolver problemas disminuyendo su coste
computacional aumentando el coste espacial.
Ramificación y acotación: se basa en la construcción de las soluciones mediante un
árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
Vuelta atrás (backtracking): se construye el espacio de soluciones del problema en
un árbol que se examina completamente, almacenando las soluciones menos costosas.
Fuente:
http://exa.unne.edu.ar/informatica/programacion1/public_html/archivos/tema10_algoritmos.pdf
Técnicas de diseño de Algoritmos
Fuente: http://es.wikipedia.org/wiki/Algoritmo
6. Debe ser preciso e indicar el orden de realización
de cada paso.
Debe estar definido. Si se sigue un algoritmo dos
veces, se debe obtener el mismo resultado cada
vez.
Debe tener un número finito de pasos.
Consta de tres partes:
◦ Inicio
◦ Proceso
◦ Fin
La definición de un algoritmo debe constar de:
◦ Datos de Entrada
◦ Proceso para la solución del Problema
◦ Salida: datos que dan cuenta de la solución del problema
Fuente: Fundamentos de Programación, algoritmos y estructuras de
datos. Luis Joyanés Aguilar. editorial McGrawHill
Características de los Algoritmos
7. Problema a resolver:
◦ Encontrar número de teléfono de una
empresa en la guía de páginas amarillas
(libro físico).
Datos de Entrada:
◦ Directorio = muchas páginas.
◦ Se tiene categoría y subcategoría:
búsqueda en el índice.
◦ Se conoce estructura del directorio:
Índice por orden alfabético
Cada letra dividida en categorías en orden
alfabético.
Se accede a la página de la categoría.
Cada categoría se identifica con un letrero
principal dentro del cual están las
subcategorías.
Las empresas de cada subcategoría se
agrupan en orden alfabético (excepto
avisos destacados).
Ejemplo de un algoritmo (1)
8. Proceso para la solución del
problema planteado:
◦ Inicio
Determinar categoría a buscar.
Buscar en el directorio el Índice
Ubicar letra de la categoría
Ubicar categoría: página.
Ubicar página
Ubicar dentro de la
categoría, la subcategoría
requerida.
Ubicar dentro de la
subcategoría por orden
alfabético el nombre de la
empresa.
Verificar datos de acuerdo a
necesidad.
Identificar Número de teléfono.
◦ Fin.
Ejemplo de un algoritmo (2)
9. Diseñar algoritmos para:
1. Cambiar el neumático de un carro.
2. Buscar las llaves perdidas
3. Preparar un cóctel.
4. Servir una taza de café.
5. Recoger el carro en el parqueadero
del centro comercial
6. Solicitar la comida a domicilio.
7. Ir al cine a ver una película de
estreno.
8. Cambiar un bombillo fundido.
9. Inscribirse a un curso de baile
10. Instalar un nuevo software en el
equipo.
11. Crear la cuenta de Email
12. Comprar un nuevo celular.
13. Utilizar por primera vez un
electrodoméstico.
14. Comprar un par de zapatos.
15. Abrir la cuenta personal en Twitter.
16. Pagar la cuenta de servicios públicos.
17. Solicitar una cita médica.
18. Buscar a un antiguo amigo del colegio
en el Facebook.
Practiquemos con los Algoritmos…