logica algoritmos

9

Click here to load reader

Upload: memoralesiue

Post on 06-Jul-2015

2.794 views

Category:

Education


0 download

DESCRIPTION

Tema 2: Algoritmos - Logica de Programación - Nivel 1 - Grupo 248

TRANSCRIPT

Page 1: Logica algoritmos

Algoritmos…

Grupo 248Docente: Ma. Eugenia Morales M.

Institución Universitaria de EnvigadoFacultad de Ingenierías

Generalidades sobre algoritmos

Algoritmos cualitativos y cuantitativos.

Page 2: Logica algoritmos

Un Algoritmo es…

◦ “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

Page 3: Logica algoritmos

Pasos para resolver un problema…

Diseño del algoritmo

Codificación

Ejecución y validación

Page 4: Logica algoritmos

Tipos de Algoritmos

Cualitativos Cuantitativos

Conjunto de pasos para resolver un problema de la vida cotidiana.

Se puede generalizar a todos los casos del mismo problema.

Se expresa mediante palabras.

Es sintético y claro

Conserva las reglas de los algoritmos.

Está escrito en términos que pueda entender el computador.

Hace uso de términos estándares en la codificación de programas.

Tiene diferentes formas de expresión: estructural, flujo o pseudocódigo.

Conserva las reglas de los algoritmos

Page 5: Logica algoritmos

Técnicas de diseño de Algoritmos

Algoritmos voraces: seleccionan los elementos más prometedores del conjunto deopciones hasta encontrar una solución.

Algoritmos paralelos: permiten la división de un problema en subproblemas de formaque se puedan ejecutar de forma simultánea en varios procesadores.

Algoritmos probabilísticos: algunos de los pasos están en función de valorespseudoaleatorios.

Algoritmos determinísticos: tiene un lineal: cada paso del algoritmo tieneúnicamente un paso sucesor y otro antecesor. Algoritmos no determinísticos: elcomportamiento tiene forma de árbol y a cada paso del algoritmo puede bifurcarse acualquier número de pasos inmediatamente posteriores, además todas las ramas seejecutan simultáneamente.

Divide y vencerás: dividen el problema en subconjuntos obteniendo una solución decada uno de ellos para después unirlas, logrando así la solución al problema completo.

Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemasbasándose en un conocimiento anterior de los mismos.

Programación dinámica: intenta resolver problemas disminuyendo su costecomputacional 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 enun árbol que se examina completamente, almacenando las soluciones menos costosas.

Fuente: http://exa.unne.edu.ar/informatica/programacion1/public_html/archivos/tema10_algoritmos.pdf

Fuente: http://es.wikipedia.org/wiki/Algoritmo

Page 6: Logica algoritmos

Características de los Algoritmos

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

Page 7: Logica algoritmos

Ejemplo de un algoritmo (1)

Problema a resolver:

◦ Encontrar número de teléfono de unaempresa 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 ordenalfabético.

Se accede a la página de la categoría.

Cada categoría se identifica con un letreroprincipal dentro del cual están lassubcategorías.

Las empresas de cada subcategoría seagrupan en orden alfabético (exceptoavisos destacados).

Page 8: Logica algoritmos

Ejemplo de un algoritmo (2)

Proceso para la solución delproblema 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 lacategoría, la subcategoríarequerida.

Ubicar dentro de lasubcategoría por ordenalfabético el nombre de laempresa.

Verificar datos de acuerdo anecesidad.

Identificar Número de teléfono.

◦ Fin.

Page 9: Logica algoritmos

Practiquemos con los Algoritmos…

Diseñar algoritmos para:1. Cambiar el neumático de un carro.2. Buscar las llaves perdidas3. Preparar un cóctel.4. Servir una taza de café.5. Recoger el carro en el parqueadero

del centro comercial6. 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 baile10. Instalar un nuevo software en el

equipo.11. Crear la cuenta de Email12. 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.