La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SOLUCIÓN DE PROBLEMAS Problema Solución A B S T R C I Ó N C O N R E I

Presentaciones similares


Presentación del tema: "SOLUCIÓN DE PROBLEMAS Problema Solución A B S T R C I Ó N C O N R E I"— Transcripción de la presentación:

1 SOLUCIÓN DE PROBLEMAS Problema Solución A B S T R C I Ó N C O N R E I
MUNDO REAL Problema Solución Espacio del Problema MUNDO ABSTRACTO Espacio de la Solución MODELO A B S T R C I Ó N C O N R E I Ó Estructuras de Datos Abstractas Operaciones Abstractas ALGORITMO ABSTRACTO Datos de Prueba Programa Resultados

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 QUE PROBLEMA SOLUCIONAR”
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 Diseñar un semàforo para una intersección complicada de calles
PROBLEMA D E C A B Diseñar un semàforo para una intersección complicada de calles

7 SOLUCIÓN GRAFO ( AB, AC, AD, BA, BC,...) AB EA AB EA MODELO MATEMÁTICO
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.. AB AC AD BA BC BD DA DB DC EA EB EC ED

9 AB AC EA DC DB DA BA BC BD AD ED EC EB
SOLUCIÓN cont.. AB AC EA DC DB DA BA BC BD AD ED EC EB BA, DC, EB: Libres.

10 MACROALGORITMO Seleccionar algún vértice no coloreado y asignarle un nuevo color. 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 finCOLOREAR

13 Conjunto de valores que puede tener una variable
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 DEFINICIÓN 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

15 OPERACIONES ABSTRACTAS
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 A B S T R C I Ó N C O N R E I"

Presentaciones similares


Anuncios Google