A.E.D. Tema 0-2. Algorítmica Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación.

Slides:



Advertisements
Presentaciones similares
Juan F. Velazquez Mayra E. Beltran Jaime Lopez
Advertisements

Metodología de programación paralela
While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel.
Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Programación con OpenMP* Intel Software College. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or.
Avancemos en matemática
EL RIS COMO INSTRUMENTO DE LA POLITICA DE INNOVACION REGIONAL Santiago, 19 de Marzo de 2013 ERI - RIS (Estrategia Regional de Innovación)
EL ESPACIO EUROPEO DE EDUCACIÓN SUPERIOR Y LA TEORÍA DEL CAMBIO EN EDUCACIÓN: Avisos para navegantes Juan M. Escudero Muñoz Universidad de Murcia.
FUNDAMENTOS DE LA TEORÍA DE LA PROBABILIDAD
1 Introducción Seminario sobre las prácticas curriculares en América Central Guatemala, Abril 2006 Xavier ROEGIERS y Alexia PEYSER.
Reducción de dimensionalidad por ordenación. Ordenación Arreglar objetos a lo largo de una escala (eje u ordenada) Reducir un conjunto de dimensiones.
Lenguajes de Programación Soluciones a pruebas de nivel
COMO USAR LA PC POR PIMERA VEZ SARAITH MACHORRO PACHECO 28 JOSE ALBERTO LOPEZ RAMIREZ 27 CAPACITACION DE INFORMATICA GRUPO 302.
Examen FRAD Empezar. 1. ¿Cu á l es la diferencia entre FRAD y FRANAR? 1.FRAD son las siglas de un grupo de trabajo de OCLC y FRANAR las siglas de un grupo.
Bases para la programación por objetos
Microsoft Office Power Point, es una herramienta que nos proporciona Microsoft, para editar presentaciones graficas, de tal forma que se nos feliciten.
Hipertextos e interactividad en la entrega de Contenidos Educativos R e d d e P r o f e s o r e s I n n o v a d o r e s Módulo: Hipertextos e interactividad.
INGENIERÍA CIVIL. DESCRIPCIÓN DE LA CARRERA La carrera de Ingeniería Civil se orienta al desarrollo y ampliación de óptimas técnicas de construcción,
Adquirido a lo largo de la historia… Ver mas Ver mas Distintos conceptos de autores… Ver masVer mas Conjunto de información adquirida… Ver masVer mas Conocimientos.
ESTRATEGIAS REPRESENTACIÓN ANÁLISIS Con este recurso podras segui el proceso de resolución de problemas. Para ello te presentamos una situación que se.
Instrumentación Industrial
Base de datos y Microsoft Access
Entrada y salida Fundamentos de programación/Programación I
MATLAB.
Visual basic Curso de Habilitación Laboral IV. ¿Qué es Visual Basic Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar.
Avances de Microsoft PowerPoint y Office
Por eso, para el ingeniero moderno, los métodos numéricos implican:
Análisis de la Dinámica no Lineal y Cambios de Complejidad en
PROYECTO FIN DE CARRERA
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE
Fundación NIC-NIIF Contratos de construcción 29/03/2017 Fundación NIC-NIIF
Comunidades emprendedoras e innovadoras Agendas públicas... de desarrollo local Lic. Patricia Alessandroni 22 de marzo de 2011 Mar del Plata.
Competencias y Pedagogía 2º Seminario UEUMSNHINICIA, A.C. Morelia, Michoacán31 de mayo 2013.
Hagamos un Proyecto Empresa-Comunidad!
TEORÍAS DE LA ENSEÑANZA- APRENDIZAJE EN LÍNEA OBJETIVOS Poner en común las teorías personales sobre la enseñanza-aprendizaje A partir de lo anterior,
MATEMATICAS Y ASTRONOMIA
Presentación ejecutiva 2007 Preparada por: Ing. Miguel Flores Responsable de Gestión de Proyectos de GISA Software. Todos los derechos reservados Servicio.
TECNOLOGÍA TEKNOBEA.
LA TECNOLOGÍA La Tecnología y las profesiones en nuestra sociedad. La resolución de problemas técnicos. Orientado a FPB; TOC; Tecnología. Alumnos y docentes.
RETOS Y PERSPECTIVAS TECNOLOGICAS DE LA EDUCACIÓN A DISTANCIA BASADA EN EL WEB BAJO UN MODELO DE COMPONENTES Y LA UTILIZACIÓN DE LA WEB SEMÁNTICA M. en.
El BLOCK DE APUNTES – ADIESTRAMIENTO FUERA DEL AULA los acompañará diariamente | tendrá un formato definido por la cátedra, acordado con los alumnos |
Pilas Laboratorio de Programación II. Definición de pila Consideremos una pila de platos: Si se añade un plato a la pila, los que están más abajo son.
BLOQUE 3 NUESTRO MODELO EDUCATIVO Y SELLO UPV, A LA LUZ DE LA EXPERIENCIA Rafael Hernández Echavarría Unidad de Planificación y Análisis Institucional,
INSTITUTO POLITÉCNICO NACIONAL
Una breve Introducción al proyecto Yussef Farrán Leiva
Informática Extracurricular Universidad Nacional Arturo Jauretche.
LA PERSPECTIVA PRAGMÁTIVA
¿Cómo Planificar? (Con Programa en mano y dignóstico del curso)
METODOLOGIA DE ENSEÑANZA- APRENDIZAJE TECNICATURA Y LICENCIATURA EN GERONTOLOGIA UNIVERSIDAD MAIMONIDES BUENOS AIRES - ARGENTINA.
2.5 Producto nominal, deflactación y Producto real
Tarea de Matemática 6º año Liceo Juan Rusque Portal 12 de Abril 2012 Profesor : Marta Gahona Tapia Objetivo :Resolver problemas de operatoria combinada.
Simulación.
Análisis transversal. Tablas de mortalidad
Tema 5 – Relaciones Laborales
Capítulo 3 Fundamentos de Programación
Esta inteligencia está más desarrollada en los contadores, matemáticos, programadores de computadora, analistas de sistemas o personas quienes emplean.
PL/SQL Francisco Moreno Universidad Nacional. Funciones Si un procedimiento tiene solo un parámetro de salida, se puede remplazar por una función y esta.
ESTRUCTURAS DE CONTROL
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Overloading de subprogramas procedure Put(Item: in integer;
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Subprogramas –Encabezamiento –Declaraciones –Cuerpo –Encabezamiento.
Circuitos Digitales II
Bojos per l’economia Karl Popper: “the method of science is the method of bold conjectures and ingenious and severe attempts to refute them.”
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Introducción Program Slicing Pattern Matching Problema: Pérdida de precisión Solución Conclusiones Peculiaridades de Erlang Erlang Dependence Graph.
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
OPERACIONES ALGEBRAICAS índice Términos algebraicos Términos algebraicos ¿Qué es un monomio? ¿Qué es un monomio? ¿Qué es un polinomio? ¿Qué es un polinomio?
Parte I. Estructuras de Datos.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Diagrama de flujo y algoritmo
Transcripción de la presentación:

A.E.D. Tema 0-2. Algorítmica Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1. Análisis de algoritmos. 2. Divide y vencerás. 3. Algoritmos voraces. 4. Programación dinámica. 5. Backtracking. 6. Ramificación y poda.

A.E.D. Tema 0-2. Algorítmica Algoritmos y Estructuras de Datos Tema 0. Introducción PARTE II: ALGORÍTMICA (o ALGORITMIA) 0.1. Definición y propiedades Análisis de algoritmos Diseño de algoritmos.

A.E.D. Tema 0-2. Algorítmica 0.1. Definición y propiedades. Algoritmo: Conjunto de reglas para resolver un problema. Propiedades –Definibilidad: El conjunto debe estar bien definido, sin dejar dudas en su interpretación. –Finitud: Debe tener un número finito de pasos que se ejecuten en un tiempo finito. 0 ó más entradas 1 ó más salidas ALGORITMO

A.E.D. Tema 0-2. Algorítmica 0.1. Definición y propiedades. Algoritmos deterministas: Para los mismos datos de entrada se producen los mismos datos de salida. Algoritmos no deterministas: Para los mismos datos de entrada pueden producirse diferentes de salida. ALGORITMIA: Ciencia que estudia técnicas para construir algoritmos eficientes y técnicas para medir la eficacia de los algoritmos. Objetivo: Dado un problema concreto encontrar la mejor forma de resolverlo.

A.E.D. Tema 0-2. Algorítmica Recordamos: Objetivo de la asignatura Ser capaz de analizar, comprender y resolver una amplia variedad de problemas de programación, diseñando soluciones eficientes y de calidad Definición y propiedades. Pero ojo, los algoritmos no son el único componente en la resolución de un problema de programación.

A.E.D. Tema 0-2. Algorítmica Algoritmos + Estructuras de Datos = Programas Estructura de datos: Parte estática, almacenada. Algoritmo: Parte dinámica, manipulador. PROBLEMAPROGRAMA Algoritmos + Estructuras de datos 0.1. Definición y propiedades.

A.E.D. Tema 0-2. Algorítmica 1.Observación. 2.Hipótesis. 3.Experimentación. 4.Verificación. MÉTODO CIENTÍFICOINFORMÁTICO 1. Análisis del problema 2. Diseño del programa (alg. y estr.) 3. Implementación (programación) 4. Verificación y pruebas 0.1. Definición y propiedades.

A.E.D. Tema 0-2. Algorítmica 0.1. Definición y propiedades. Otras ideas... Refinamiento por pasos sucesivos. –Escribir la estructura de la solución en pseudocódigo, de manera muy genérica. –Especificar los pasos de forma cada vez más detallada, y precisa. –Repetimos el refinamiento hasta llegar a una implementación.

A.E.D. Tema 0-2. Algorítmica 0.1. Definición y propiedades. Proceso de resolución propuesto por Aho. Modelo matemático Algoritmo informal Modelo matemático Algoritmo informal Tipos de datos abstractos Programa en pseudolenguaje Tipos de datos abstractos Programa en pseudolenguaje Estructuras de datos Programa en Pascal Estructuras de datos Programa en Pascal Más en las asignaturas de Ingeniería del Software...

A.E.D. Tema 0-2. Algorítmica 0.2. Análisis de algoritmos. ALGORITMIA = ANÁLISIS + DISEÑO Análisis de algoritmos: Estudio de los recursos que necesita la ejecución de un algoritmo. No confundir con análisis de un problema. Diseño de algoritmos: Técnicas generales para la construcción de algoritmos. Por ejemplo, divide y vencerás: dado un problema, divídelo, resuelve los subproblemas y luego junta las soluciones.

A.E.D. Tema 0-2. Algorítmica 0.2. Análisis de algoritmos. Análisis de algoritmos. Normalmente estamos interesados en el estudio del tiempo de ejecución. Dado un algoritmo, usaremos las siguientes notaciones: –t(..): Tiempo de ejecución del algoritmo. –O(..): Orden de complejidad. –o(..): O pequeña del tiempo de ejecución. – (..): Cota inferior de complejidad. – (..): Orden exacto de complejidad.

A.E.D. Tema 0-2. Algorítmica 0.2. Análisis de algoritmos. Ejemplo. Analizar el tiempo de ejecución y el orden de complejidad del siguiente algoritmo. Hanoi (N, A, B, C: integer) if N=1 then Mover (A, C) else begin Hanoi (N-1, A, C, B) Mover (A, C) Hanoi (N-1, B, A, C) end Mecanismos: –Conteo de instrucciones. –Uso de ecuaciones de recurrencia. –Medida del trabajo total realizado.

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. Diseño de Algoritmos. Técnicas generales, aplicables a muchas situaciones. Esquemas algorítmicos. Ejemplo: Insertar código AQUÍ Insertar tipos AQUÍ Insertar tipos AQUÍ ALGORITMO Voraz (C: ConjuntoCandidatos ; var S: ConjuntoSolución ) S:= Ø mientras (C Ø) Y NO SOLUCION(S) hacer x:= SELECCIONAR(C) C:= C - {x} si FACTIBLE(S, x) entonces INSERTAR(S, x) finsi finmientras

A.E.D. Tema 0-2. Algorítmica ¿Qué clase de problemas? 0.3. Diseño de algoritmos.

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. RESUELTO

A.E.D. Tema 0-2. Algorítmica Planificador de rutas Calcular ruta 0.3. Diseño de algoritmos. RESUELTO

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. EL JUEGO DE LAS CIFRAS. Dado un conjunto de 6 enteros, encontrar la forma de conseguir otro entero, utilizando las operaciones de suma, resta, producto y división entera (y sin usar cada número más de una vez).

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos.

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. cifras.exe

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. RETO. Implementar un programa para resolver el problema, más rápido que la versión del profesor, y que no pierda ninguna solución. RECOMPENSA. –Un 10 en la tercera práctica de la asignatura (diseño de algoritmos). –Un 10 en el ejercicio correspondiente del examen. –Más 1 punto de notas de clase.

A.E.D. Tema 0-2. Algorítmica Jugador de Ajedrez Situación Inicial Movimien- tos de A Movimien- tos de B Movimien- tos de A 0.3. Diseño de algoritmos. PENDIENTE

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. PENDIENTE Problema del viajante

A.E.D. Tema 0-2. Algorítmica 0.3. Diseño de algoritmos. Técnicas de diseño de algoritmos: 1. Divide y vencerás. 2. Algoritmos voraces. 3. Programación dinámica. 4. Backtracking. 5. Ramificación y poda. Dado un problema: seleccionar la técnica, seguir el proceso/esquema algorítmico, obtener el algoritmo y comprobarlo. Recordar: No empezar tecleando código como locos.