Análisis de algoritmos
|
|
|
- María Rosa Cuenca Pereyra
- hace 8 años
- Vistas:
Transcripción
1 Tema 01: El rol de los algoritmos en la Computación M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom 1
2 Contenido Introducción Historia Algoritmo Características de los algoritmos Importancia de los algoritmos en computación Introducción a la complejidad de los algoritmos Análisis A Priori y Prueba A Posteriori 2
3 Introducción Una computadora es una máquina capaz de procesar información digital a gran velocidad. Una computadora esta compuesta por un conjunto de componentes electrónicos, mecánicos e interfaces para interactuar con el exterior (usuarios u otros dispositivos) y por un conjunto de programas que determinan que operaciones llevar a cabo. Los datos ordenados (información) que constituyen una entrada (input) a la computadora se procesan mediante una lógica (programa) para producir una salida (output). 3
4 Una computadora es una máquina capaz de procesar información digital a gran velocidad. Computadora (hardware) Entrada Conjunto de programas (software) Salida Una computadora esta formada por un parte física y otra lógica (hardware & software), la primera de estas esta conformada por los elementos físicos que la conforman (dispositivos electrónicos y mecánicos), la parte lógica es aquella que determina que procesos se van a realizar con la información de entrada. 4
5 La persona responsable de indicar a la computadora la lógica de procesamiento recae en el que lleva a cabo la construcción del software (programador). La razón de ser de una computadora es poder resolver problemas capaces de ser modelados y representados en datos coherentes y ordenados (información), apoyándose de su gran velocidad y capacidad de seguir una serie de pasos programados con anterioridad* y dependientes de la información que se maneja. Computadora (hardware) Entrada *Algoritmo (s) Conjunto de programas (software) Salida 5
6 Algoritmo, es un conjunto ordenado y finito de operaciones que permiten encontrar la solución a un problema. P.g. una receta de cocina, las instrucciones para armar una bicicleta, un mueble, etc. Los primeros algoritmos registrados datan de Babilonia, originados en las matemáticas como un método para resolver un problema usando una secuencia de cálculos más simples. Esta palabra tiene su origen en el nombre de un famoso matemático y erudito árabe del siglo IX, Al- Khorezmi. En el contexto de la computación algoritmo se usa para denominar a la secuencia de pasos a seguir para resolver un problema usando una computadora. Por esta razón, la algoritmia o ciencia de los algoritmos, es uno de los pilares de la computación. 6
7 El análisis de algoritmos es una parte importante de la Teoría de complejidad computacional, que provee estimaciones teóricas para los recursos que necesita cualquier algoritmo que resuelva un problema computacional dado. Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritmos eficientes. Los temas de mayor interés son el análisis teórico de algoritmos lo que permite, calcular su complejidad en un sentido asintótico, así como el análisis de problemas comunes que requieren una cantidad de procesamiento alta de los datos para poder ser resueltos con exactitud o aproximación a la respuesta óptima. 7
8 Historia El término algoritmo proviene del matemático árabe Al'Khwarizmi, que escribió un tratado sobre los números. El trabajo de Al'Khwarizmi permitió preservar y difundir el conocimiento de los griegos e indios, pilares de nuestra civilización. Rescató de los griegos la rigurosidad y de los indios la simplicidad (en vez de una larga demostración, usar un diagrama junto a la palabra Mira). Sus libros son intuitivos y prácticos y su principal contribución fue simplificar las matemáticas a un nivel entendible por no expertos. En el tratado se muestran las ventajas de usar el sistema decimal indio, un atrevimiento para su época, dado lo tradicional de la cultura árabe. La exposición clara de cómo calcular de una manera sistemática a través de algoritmos diseñados para ser usados con algún tipo de dispositivo mecánico similar a un ábaco, más que con lápiz y papel, muestra la intuición y el poder de abstracción de Al'Khwarizmi, que se preocupaba también de reducir el número de operaciones necesarias en cada cálculo. 8
9 Al-Khwarizmi vivió en Bagdad bajo los califatos de al- Ma'mum y al-mu'tasim, en la edad de oro de la ciencia islámica. Su obra Kitab al-jabr wa al-muqabalah fue traducida al latín en el siglo XII dando origen al término "álgebra". En ella se compilan una serie de reglas para obtener las soluciones aritméticas de las ecuaciones lineales y de las cuadráticas; su método de resolución de tales ecuaciones no difiere en esencia del empleado en nuestros días. Como ya se vio es un error creer que los algoritmos son exclusivos de la computación, el algoritmo más famoso de la historia es algoritmo de Euclides para calcular el máximo común divisor. 9
10 La investigación en modelos formales de computación se inició en los 30's y 40's por Alan Turing, Emil Leon Pos, Stephen Kleene, Alonzo Church y otros. En los 50's y 60's los lenguajes de programación, compiladores y sistemas operativos estaban en desarrollo, por lo tanto, se convirtieron tanto en el sujeto como la base para la mayoría del trabajo teórico. 10
11 El poder de las computadoras en este período estaba limitado por procesadores lentos y por pequeñas cantidades de memoria. Así, se desarrollaron teorías (modelos, algoritmos y análisis) para hacer un uso eficiente de las computadoras. Esto dio origen al desarrollo del área que ahora se conoce como "Algoritmos y Estructuras de Datos". Al mismo tiempo se hicieron estudios para comprender la complejidad inherente en la solución de algunos problemas. Esto dio origen a lo que se conoce como la Jerarquía de problemas computacionales y al área de "Complejidad Computacional. 11
12 Algoritmo Un algoritmo es una serie finita de pasos para resolver un problema. Para que un algoritmo exista: 1. El número de pasos debe ser finito. De esta manera el algoritmo debe terminar en un tiempo finito con la solución del problema. 2. El algoritmo debe ser capaz de determinar la solución del problema. De este modo, podemos definir algoritmo computacional como un "conjunto de reglas operacionales inherentes a un cómputo". Se trata de un método sistemático, susceptible de ser realizado mecánicamente, para resolver un problema dado en un tiempo finito. 12
13 Características de un algoritmo 1. Entrada: definir lo que necesita el algoritmo 2. Salida: definir lo que produce. 3. No ambiguo: explícito, siempre sabe qué comando ejecutar. 4. Finito: El algoritmo termina en un número finito de pasos. 5. Correcto: La solución debe ser correcta 6. Efectividad: Cada instrucción se completa en tiempo finito. 7. General: Debe contemplar todos los casos de entrada. Una definición formal para el algoritmo es: Un algoritmo es un procedimiento para resolver un problema cuyos pasos son concretos y no ambiguos. El algoritmo debe ser correcto, de longitud finita y debe terminar para todas las entradas 13
14 Un algoritmo puede ser visto como una función que depende de una entrada y asocia una salida, matemáticamente se expresa de la siguiente forma: y = f(x) donde: y es la salida x los datos de entrada f(x) el algoritmo que depende de la entrada x Algoritmo f(x) y=f(x) 14
15 Importancia de los algoritmos en computación Evitan reinventar soluciones Para algunos problemas de programación ya existen buenos algoritmos para solucionarlos, ya que existe un análisis de sus propiedades (confianza, eficiencia, velocidad, etc.). Ayudar a generar nuevas soluciones con base en otras ya conocidas No siempre existe un algoritmo desarrollado para resolver un problema. No existe regla general de creación de algoritmos. Muchos de los principios de proyecto de algoritmos ilustrados por algunos de los algoritmos que estudiaremos son importantes en todos los problemas de programación. El conocimiento de los algoritmos bien definidos provee una fuente de ideas que pueden ser aplicadas a nuevos algoritmos. Generación de herramientas y software particular que emplea algoritmos específicos sin importar la tecnología de implementación Compresión de datos, seguridad, almacenamiento de datos, comunicaciones, etc. 15
16 Introducción a la complejidad de los algoritmos En Ciencias de la Computación cuando se dice que un problema tiene solución, significa que existe un algoritmo susceptible de implantarse en una computadora, capaz de producir la respuesta correcta para cualquier instancia del problema en cuestión. Para ciertos problemas es posible encontrar más de un algoritmo capaz de resolverlos. La tarea de decidir cuál de ellos es el mejor debe basarse en criterios acordes a nuestros intereses. En la mayoría de los casos la elección de un buen algoritmo está orientada hacia la disminución del costo que implica la solución del problema. 16
17 El costo que implica resolver un problema genera criterios para la selección de los pasos a seguir (programar): 1. Criterios orientados a minimizar el costo de desarrollo: claridad, sencillez y facilidad de implantación, depuración y mantenimiento. 2. Criterios orientados a disminuir el costo de ejecución: tiempo de procesador y cantidad de memoria utilizados. Si el programa que implanta un algoritmo se va a ejecutar unas cuantas veces, el costo de desarrollo es dominante, en este caso se debe dar más peso a los primeros criterios. Por el contrario, si el programa se va a utilizar frecuentemente, dominará el costo de ejecución, y por ende, se debe elegir un algoritmo que haga uso eficiente de los recursos de la computadora. 17
18 Si se implementa un sistema con algoritmos muy eficientes pero confusos, puede suceder que después no sea posible darle el mantenimiento adecuado. Los recursos que consume un algoritmo pueden estimarse mediante herramientas teóricas y constituyen, por lo tanto, una base confiable para la elección de un algoritmo. Siempre que se trata de resolver un problema, puede interesar considerar distintos algoritmos, con el fin de utilizar el más eficiente Cómo realizar esta selección?. La estrategia empírica consiste en programar los algoritmos y ejecutarlos en un computador sobre algunos ejemplares de prueba. La estrategia teórica consiste en determinar matemáticamente la cantidad de recursos (tiempo, espacio, etc.) que necesitará el algoritmo en función del tamaño del ejemplar considerado. 18
19 Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo. Un algoritmo es eficaz cuando alcanza el objetivo primordial, el análisis de resolución del problema se realiza prioritariamente. Puede darse el caso de que exista un algoritmo eficaz pero no eficiente? Si, por lo que se deben manejar estos dos conceptos conjuntamente 19
20 La eficiencia de un programa tiene dos ingredientes fundamentales: espacio y tiempo. La eficiencia en espacio es una medida de la cantidad de memoria requerida por un programa. La eficiencia en tiempo se mide en términos de la cantidad de tiempo de ejecución del programa. Ambas dependen del tipo de equipo de computo, compilador, sistema operativo, etc. por lo que no se estudiará aquí la eficiencia de los programas, sino la eficiencia de los algoritmos. 20
21 Análisis A Priori y Prueba A Posteriori El análisis de la eficiencia de los algoritmos (memoria y tiempo de ejecución) consta de dos fases: Análisis A Priori y Prueba A Posteriori. El Análisis A Priori (o teórico) entrega una función que limita el tiempo de cálculo de un algoritmo. Consiste en obtener una expresión que indique el comportamiento del algoritmo en función de los parámetros que influyan. Esto es interesante porque: Permite la predicción del costo del algoritmo. Es aplicable en la etapa de diseño de los algoritmos. En la Prueba A Posteriori (experimental o empírica) se recogen estadísticas de tiempo y espacio consumidas por el algoritmo mientras se ejecuta. La estrategia empírica consiste en programar los algoritmos y ejecutarlos en un computador sobre algunos ejemplares de prueba, haciendo medidas para: Una máquina concreta, Un lenguaje concreto, Un compilador concreto Datos concretos 21
22 La estrategia teórica (Análisis A Priori ) tiene como ventajas: No depende del computador ni del lenguaje de programación, ni siquiera de la habilidad del programador. Permite evitar el esfuerzo inútil de programar algoritmos ineficientes y de desperdiciar tiempo de máquina para ejecutarlos. Permite conocer la eficiencia de un algoritmo cualquiera que sea el tamaño del ejemplar al que se aplique. 22
Análisis de algoritmos
Tema 02: El rol de los algoritmos en la Computación Solicitado: Tarea 02 Mapa conceptual: Algoritmos y complejidad M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom
IN34A - Optimización
IN34A - Optimización Complejidad Leonardo López H. [email protected] Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,
Evolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
LÓGICA COMPUTACIONAL. Descripción del CURSO
LÓGICA COMPUTACIONAL Descripción del CURSO Antes de entrar en el maravilloso mundo de la programación debemos de conocer cómo trabaja internamente nuestra computadora. Este curso cubre las necesidades
CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO
CAPITULO 1 ALGORITMOS Y PROGRAMAS CONTENIDO 1.1. Los sistemas de procesamiento de la información. 1.2. Concepto de algoritmo. 1.3. Los lenguajes de programación. 1.4. Datos, tipos de datos y operaciones
Complejidad de los Algoritmos
Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de
Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena
- Villa de Soto Asignatura: Desarrollo de Soluciones Informáticas Curso: 5to I Docente: Contreras, María Elena Contenido Algoritmos... 1 Diagramas de flujo... 2 Programar... 3 Programación... 10 Scratch...
2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar
ALGORITMO. Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Practica 03: Eliminación Gaussiana
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción Ecuaciones lineales
Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas ([email protected]) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería
Tema 08: Convertidor Digital Analógico
Tema 08: Convertidor Digital Analógico M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Introducción Tipos de señales Convertidor
Computación I (CI-2125) Clase 1. Prof. Mireya Morales Primera
Computación I (CI-2125) Clase 1 Prof. Mireya Morales Primera Contenido Justificación del curso Arquitectura del Computador. Definición de Algoritmo. Formas de Representación de Algoritmos. Análisis Descendente.
TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.
Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
Programación estructurada
Programación estructurada Esta metodología de programación : Permite utilizar sentencias de bifurcación condicional estandarizadas. Facilita leer la codificación del programa de inicio a fin en forma continua.
LICENCIATURA EN CIENCIAS COMPUTACIONALES. Este programa educativo se ofrece en las siguientes sedes académicas de la UABC:
LICENCIATURA EN CIENCIAS COMPUTACIONALES Este programa educativo se ofrece en las siguientes sedes académicas de la UABC: Campus Campus Ensenada, Unidad Ensenada Unidad académica donde se imparte Facultad
Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
Programación Orientada a Objetos
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy
FUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Complejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora
Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,
FUNDAMENTOS DE PROGRAMACIÓN. Algoritmos y Programas
FUNDAMENTOS DE PROGRAMACIÓN Algoritmos y Programas Dato La palabra proviene del latín datum, forma del verbo dare dar, que significa Lo que es dado Representación de una información de manera adecuada
PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos
Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos 2. Diseñará algoritmos utilizando las
UNIDAD NO. 01 CONCEPTOS INFORMÁTICOS BÁSICOS
UNIDAD NO. 01 CONCEPTOS INFORMÁTICOS BÁSICOS Objetivo general de la unidad: Explicar conceptos básicos computacionales partiendo del concepto general de sistema. 1.1 CONCEPTO DE DATO E INFORMACIÓN Dato:
FACULTAD DE INGENIERÍA
FACULTAD DE INGENIERÍA FORMACIÓN EN INGENIERÍA DE SOFTWARE Y BASES DE DATOS EN LOS ESTUDIANTES DE LA CARRERA DE ING. EN COMPUTACIÓN DE LA FI, UNAM EN EL PLAN DE ESTUDIOS 2015 MAYO, 2015 Porcentaje de alumnos
Algoritmos. Fundamentos de Programación
Algoritmos Fundamentos de Programación Comunicarnos con el computador No es una tarea fácil. Instrucciones Debemos aprender a realizar las instrucciones de forma correcta para que el computador lo entienda
Programación de Ordenadores
Programación de Ordenadores Ingeniería Química David Pelta Depto de Ciencias de la Computación e I.A. Universidad de Granada Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación
Expositor: Mauricio Galvez Legua
ó Expositor: Mauricio Galvez Legua [email protected] 1 Qué es la ó La Robótica es una ciencia aplicada que se ocupa del estudio, desarrollo y aplicaciones de los robots. El estudio de la robótica
Tema 04: Lenguajes de programación y el lenguaje C
Tema 04: Lenguajes de programación y el lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A.
Proceso de información en la computadora
1.1 Introducción La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados.
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
Vamos a definir un ordenador, lo que hay en la diapositiva son ordenadores, algunos más especializados que otros, pero todos son ordenadores.
Vamos a definir un ordenador, lo que hay en la diapositiva son ordenadores, algunos más especializados que otros, pero todos son ordenadores. Un ordenador es un dispositivo de propósito general que puede
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño
Introducción a la Computación Omar Ernesto Cabrera Rosero Universidad de Nariño 6 de Julio 2010 Esquema Terminología Informática 1 Terminología Informática Computación e Informática Dato e Información
Contenido. Capítulo 1. Teoría de conjuntos. 1. Capítulo 2. Lenguaje. 39. Capítulo 3. Lenguajes formales. 55
Contenido Capítulo 1. Teoría de conjuntos. 1 1.1 Conjuntos.... 3 1.1.1 Definiciones básicas.... 3 1.1.2 Operaciones sobre conjuntos.... 6 1.1.3 Diagrama de Venn.... 7 1.1.4 Álgebra de conjuntos.... 7 1.2
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Nombre de la asignatura: Lenguajes y Autómatas I. Créditos: Aportación al perfil
Nombre de la asignatura: Lenguajes y Autómatas I Créditos: 2 3 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares de calidad
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software
Tema 01: Fundamentos del Análisis Asintótico de Algoritmos
Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Noviembre, 2003 CS0218: Algoritmos y Programación II Introducción En Ciencias de la Computación se presenta con frecuencia la situación de analizar
Tema 03: Programación estructurada
Tema 03: Programación estructurada M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
La eficiencia de los programas
La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos
Ingeniería Informática
Grado en Ingeniería Informática Escuela Superior de Ingeniería Avda. de la Universidad de Cádiz, 10 11519 - Puerto Real (Cádiz) 95483200 [email protected] http://esingenieria.uca.es Itinerario Curricular
Practica 04: Soluciones Recursivas
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Problema Descripción Observaciones
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Guía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Encuadre de la Unidad de Aprendizaje
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción Estructuras de datos
Objetos de aprendizaje: Computadora
MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Computadora Lectura 1: La Computadora La computadora es una máquina
Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)
Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
GLOSARIO DE TÉRMINOS
Apéndice A, Apartado 3: Glosario de términos!401" APÉNDICE A, APARTADO 3 GLOSARIO DE S Administración de la calidad Conjunto de actividades de la función general de administración que determina la política
Tema 06: Recursividad
Tema 06: Recursividad M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Recursión Recursividad Programación
E77 - Gestión de Recursos de la Información. Tema 1 - Métricas del Proyecto de Software
E77 - Gestión de Recursos de la Información Tema 1 - Métricas del Proyecto de Software Medición y Métricas Proceso de IS Proyecto Recopilación de datos Medidas Producto Cálculo de métricas Métricas Evaluación
Introducción. Algoritmos y Complejidad. Algoritmos y Algoritmia. Introducción. Problemas e instancias. Pablo R. Fillottrani
Introducción Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Algoritmos y Algoritmia Problemas e instancias Primer Cuatrimestre 2014 Algoritmos
Módulo 1. Introducción a los lenguajes de programación
Módulo 1. Introducción a los lenguajes de programación Objetivo - Definir qué es un lenguaje de programación e identificar cómo es su forma de clasificación. Introducción a los lenguajes de programación
Practica 05: El problema de las N-Reinas
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Problema Descripción Opcional
DESCUBRE ICESI INGENIERÍA DE SISTEMAS
CATALINA SIERRA SEMESTRE VIII INGENIERÍA DE SISTEMAS FACULTAD DE INGENIERÍA ESTUDIAR ESTA CARRERA EN UNA UNIVERSIDAD CON ACREDITACIÓN DE ALTA CALIDAD, NOS ABRE MUCHAS PUERTAS HACIA EL FUTURO. INGENIERÍA
Análisis de algoritmos
Tema 11: Algoritmos de empate de cadenas M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Introducción Empate de cadenas Fuerza
ASIGNATURA: ESTRUCTURA DE DATOS II
ASIGNATURA: ESTRUCTURA DE DATOS II Cód: 31-206 Régimen cuatrimestral Horas reloj semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas 2016 FUNDAMENTOS: Un tipo de dato
Acción que el procesador puede ejecutar sin necesidad de información suplementaria
TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación
Dra. Jessica Andrea Carballido
Dra. Jessica Andrea Carballido [email protected] Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Problemas, Algoritmos y Programas PROBLEMA Solución ALGORITMO PROGRAMA Problemas,
La técnica es un sistema conformado por:
La técnica es un sistema conformado por: Las acciones se clasifican en tres tipos: Uso de medios técnicos Identificar la necesidad y sus características. Planear alternativas de acción y seleccionar. Analizar
Practica 07: Maquina de Turing
Entrega vía Web: Viernes 06 de Diciembre de 2013 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected] 1 Contenido Definición del problema
Sistemas de información Administrativa II
Sistemas de información Administrativa II UNIDAD 1 MSI. José Luis Llamas Cárdenas Ciclo de Vida Proceso de todo sistema de información Sistemas de Información El sistema informativo esta comprendido por
LÓGICA DE PROGRAMACIÓN M.C. SANTIAGO GÓMEZ CARPIZO ELEMENTOS DE PROGRAMACIÓN
LÓGICA DE PROGRAMACIÓN PROFESOR UNIDAD DE APRENDIZAJE: M.C. SANTIAGO GÓMEZ CARPIZO ELEMENTOS DE PROGRAMACIÓN CONTENIDO: ALGORITMOS ACTIVIDAD: 007 FECHA: LUNES 19 DE ENERO DE 2009 ALGORITMOS Un algoritmo
Administración Informática. Unidad I. Tipos de sistemas y su clasificación A) Sistemas de información.
UNIVERSIDAD NACIONALDE INGENIERÁ UNI NORTE SEDE REGIONAL EN ETELI Ing. Mario Pastrana Moreno. Unidad I. Tipos de sistemas y su clasificación 10-09-2010 Administración Informática A) Sistemas de información.
UNIVERSIDAD NACIONAL HERMILIO VALDIZAN DIRECCION DE EDUCACION A DISTANCIA Y VIRTUAL CENTRO DE ESTUDIOS INFORMATICOS HUANUCO PERU
5. FUNCIONAMIENTO DE UN ORDENADOR 5.1. COMO FUNCIONA MI ORDENADOR? Una computadora básicamente es un dispositivo cuya principal función es la de procesar grandes cantidades de información en forma veloz
Metodología de Desarrollo de Programas
Metodología de Desarrollo de Programas Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material
MÓDULOS DE DISEÑO EN INGENIERÍA
MÓDULOS DE DISEÑO EN INGENIERÍA El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza de la ingeniería. El diseño en ingeniería es un
C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]
Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos
Practica 03: Uso de expresiones regulares en Python
Practica 03: Uso de expresiones regulares en Python Entrega vía Web: Domingo 08 de Septiembre de 2013 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom
Tema 11: Instrumentación virtual. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 11: virtual M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Introducción Virtual Tradicional vs Virtual Componentes de
Computadora y Sistema Operativo
Computadora y Sistema Operativo Según la RAE (Real Academia de la lengua española), una computadora es una máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos
INTRODUCCION A LA IFORMATICA
INTRODUCCION A LA IFORMATICA Lic. Patricia Palacios Zuleta 1 TEMA no 1 CONCEPTOS FUNDAMENTALES Y ELEMENTOS DE LA INFORMÁTICA 1. Introducción.- 2. Conceptos y definiciones.- Dato.- Información.- 3. Informática.-
Tema 02: Algoritmia y pseudocódigo
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Pseudocódigo Ejemplo 01 Ejemplo
Introducción a la programación
Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una
Guía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Tema II: Metodología para la construcción de programas
Tema II: Metodología para la construcción de programas Semestre: A-2012 Profesora: Nelly García Mora Agenda 1. Definición 2. Análisis E P S 3. Construcción de Algoritmos 4. Diagramas de Flujo 5. Codificación
