La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SOLUCIÓN DE PROBLEMAS Problema Solución MUNDO REAL Espacio del Problema Espacio de la Solución MODELO Estructuras de Datos Abstractas Operaciones Abstractas.

Presentaciones similares


Presentación del tema: "SOLUCIÓN DE PROBLEMAS Problema Solución MUNDO REAL Espacio del Problema Espacio de la Solución MODELO Estructuras de Datos Abstractas Operaciones Abstractas."— Transcripción de la presentación:

1 SOLUCIÓN DE PROBLEMAS Problema Solución MUNDO REAL Espacio del Problema Espacio de la Solución MODELO Estructuras de Datos Abstractas Operaciones Abstractas ALGORITMO ABSTRACTO ABSTRACCIÓNABSTRACCIÓN CONCRECCIÓNCONCRECCIÓN Datos de Prueba ProgramaResultados MUNDO ABSTRACTO

2 PROBLEMAS Imposibles de formular en términos que permitan solución por computador Expresables en términos de un modelo formal Investigar si existe un programa para solucionarlo Si no existe, se pueden estudiar las propiedades del modelo que ayuda a construir una buena solución MODELO SOLUCIÓN EN TÉRMINOS DE UN ALGORITMO

3 ALGORITMO SECUENCIA FINITA DE PASOS LÓGICOS, CADA UNO DE LOS CUALES TIENE UN SIGNIFICADO CLARO, PARA SOLUCIONAR UN PROBLEMA CON UNA CANTIDAD FINITA DE ESFUERZO, EN UN TIEMPO FINITO

4 LA CONSTRUCCIÓN DE ALGORITMOS Para construir un algoritmo, es necesario: Tener un problema a resolver Haberle encontrado solución Frase del día: LA MITAD DE LA BATALLA ES SABER QUE PROBLEMA SOLUCIONAR

5 LA CONSTRUCCIÓN DE ALGORITMOS cont... Una vez que se tiene la solución, se puede proceder al diseño del algoritmo. Pasos: Identificar los tipos de objetos que el algoritmo va a usar. Seleccionar las variables que representen instancias de cada tipo, para uso del programa. Seleccionar estructuras de control y operadores abstractos primitivos que reflejen las manipulaciones de datos. Abstraer estas estructuras de control y datos en procedimientos.(Estos procedimientos son encarnaciones abstractas del algoritmo. IMPORTANTE: En este punto, se está muy por encima de cualquier lenguaje de programación

6 PROBLEMA E A D C B Diseñar un semàforo para una intersección complicada de calles

7 SOLUCIÓN MODELO MATEMÁTICO GRAFO VÉRTICES : GIROS PERMISIBLES ÁRCOS : GIROS NO PERMISIBLES DETERMINACIÓN DE GIROS ( AB, AC, AD, BA, BC,...) GIROS NO SIMULTÁNEOS AB EA COLOREAR AB EA

8 SOLUCIÓN cont.. ABAC EA DCDBDA BABCBD AD EDECEB

9 SOLUCIÓN cont.. ABAC EA DCDBDA BABCBD AD EDECEB BA, DC, EB: Libres.

10 MACROALGORITMO 1.Seleccionar algún vértice no coloreado y asignarle un nuevo color. 2.Revisar la lista de vértices no coloreados. Para cada vértice no coloreado, determinar si tiene un ARCO a algún vértice ya coloreado con el nuevo color. Si no lo hay, coloree el vértice con el nuevo color.

11 SEUDOCÓDIGO PRIMER REFINAMIENTO Procedimiento COLOREAR(G:grafo;NUEVOCOLOR:set); NUEVOCOLOR = [ ] para cada vértice no coloreado V en G si V no es adyacente a algún vértice en NUEVOCOLOR entonces marque a V como coloreado lleve V a NUEVOCOLOR finsi finCOLOREAR

12 SEUDOCÓDIGO cont... SEGUNDO REFINAMIENTO Procedimiento COLOREAR(G:grafo;NUEVOCOLOR:set); NUEVOCOLOR = [ ] para cada vértice no coloreado V en G encontró = falso para cada vértice W en NUEVOCOLOR si hay un arco entre V y W en G entonces encontró = verdadero finsi si (no encontró) marque a V como coloreado lleve V a NUEVOCOLOR finsi finCOLOREAR

13 ALGUNAS DEFINICIONES IMPORTANTES TIPO DE DATOS Conjunto de valores que puede tener una variable Ej: BOOLEAN: true, false ADT (Abstract Data Type) Modelo matemático con una colección de operaciones definidas sobre el modelo Ej: Conjunto : ESTRUCTURA DE DATOS Permite representar el modelo Ej: arreglo, lista, map, stack

14 TIPOS DE DATOS ABSTRACTOS BÁSICOS LISTA ESTRUCTURA DE DATOS FLEXIBLE QUE PUEDE CRECER O DISMINUIR BAJO DEMANDA, Y LOS ELEMENTOS SE PUEDE ACCEDER INSERTAR ELIMINAR EN CUALQUIER POSICIÓN DENTRO DE LA LISTA ESTRUCTURA DE DATOS FLEXIBLE QUE PUEDE CRECER O DISMINUIR BAJO DEMANDA, Y LOS ELEMENTOS SE PUEDE ACCEDER INSERTAR ELIMINAR EN CUALQUIER POSICIÓN DENTRO DE LA LISTA DEFINICIÓN

15 LISTAS OPERACIONES ABSTRACTAS 1. INSERTAR(x, p, L) Inserta x, en la posición p de L 2. ELIMINAR(p, L) Borra elemento de la posición p de L 3. LOCALIZAR(x, L) Retorna a través de LOCALIZAR, la posición de x en L 4. RECUPERAR(p, L) Retorna a través de RECUPERA, el contenido de la posición p en L

16 LISTAS cont... OPERACIONES ABSTRACTAS 5. HACERLISTANULA(L) Crea o hace una lista vacía 6. PRIMERO(L) Retorna en PRIMERO, la primera posición de la lista L. Si está vacía, retorna el final de la lista 7. FINAL(L) Retorna la posición siguiente al último elemento de la lista

17 LISTAS cont... OPERACIONES ABSTRACTAS 8. PROXIMO(p, L) Entrega en PROXIMO, la dirección del elemento siguiente a p 9. PREVIO(p, L) Entrega en PREVIO, la dirección del elemento anterior a p 10. IMPRIMIRLISTA(L) Imprime los elementos de la lista L


Descargar ppt "SOLUCIÓN DE PROBLEMAS Problema Solución MUNDO REAL Espacio del Problema Espacio de la Solución MODELO Estructuras de Datos Abstractas Operaciones Abstractas."

Presentaciones similares


Anuncios Google