Pteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema algoritmos

Post on 13-Apr-2017

41 views 0 download

Transcript of Pteg g-grupo nº7-lista 8-9-13-20-49 -expo cap 5 tema algoritmos

Informática Básica

Algoritmos

Lic. Marcio Rodas

Presentado por:

Lista núm.. 8, 9, 13, 20, 49

Sección: G

Junio 2016

CONCEPTO DE ALGORITMO

O Conjunto de pasos que define como llevar a cabo una tarea

O Un algoritmo es un conjunto ordenado de pasos ejecutables y ambiguos, que definen un proceso finito con un fin determinado

O Un algoritmo debe estar compuesto por pasos ejecutables o efectivos que se pueden llevar a la practica

O Los pasos de un algoritmo no deben ser ambiguos durante la ejecución de un algoritmo la información acerca del estado del proceso debe ser suficiente para determinar de forma univoca y completa las acciones requeridas en cada paso

O PROGRAMA O ES UNA REPRESENTACION DE

FORMAL UN ALGORITMO DISEÑADO PARA SU EJECUCION EN UNA COMPUTADORA.

Pseudocodigo O Es un sistema de notación en el que

las ideas pueden expresarse informalmente durante el proceso de desarrollo del algoritmo

Descubrimiento de algoritmo

O El desarrollo de un programa esta compuesto por dos actividades

O Descubrir el algoritmo O Representar el algoritmo en forma de programa O Para eso debemos saber bien el proceso de resolución de

problemas. Comprender el problema Desarrollar un plan para resolver el problema.(desarrollar una

idea de como resolver el problema un procedimiento algorítmico) Llevar a cabo el plan (formular el algoritmo y representarlo como

un programa) Evaluar la solución para comprobar su precisión y evaluar su

potencial como herramientas para resolver otros problemas.

REPRESENTACION DE ALGORITMOS

Qué es un diagrama de flujo?

- Es una representación gráfica de un algoritmo.

Ventajas de los diagramas de flujo

- Favorecen la comprensión del proceso atraves de mostrarlo como un dibujo.- Permiten identificar los problemas y las oportunidades de mejora del proceso

ESTRUCTURAS ITERACTIVAS O Es donde un conjunto de sentencias se repite cíclicamente. Ejemplo

O Algoritmo de búsqueda secuencialO Procedure buscar lista (lista,Valor objetivo)O If (lista vacia)O Then Declarar que la lista a falladoElse (seleccionar la primera entrada de la lista como entradaAcomparar)While (valorObjetivo Entrada a comparar y existan mas entradas a comparar )Do (seleccionar la siguiente entrada de la lista como entradaAcomparar);Then (declarar que la busqueda ha tenido éxito)Else (declarar que la busqueda ha fallado)end if

ESTRUCTURAS RECURSIVAS

O http://www.algoritmia.net/articles.php?id=11

O Se dice que algo es recursivo si se define en función de sí

mismo o a sí mismo. También se dice que nunca se debe incluir

la misma palabra en la definición de ésta. El caso es que las

definiciones recursivas aparecen con frecuencia en

matemáticas, e incluso en la vida real. Un ejemplo: basta con

apuntar una cámara al monitor que muestra la imagen que

muestra esa cámara. El efecto es verdaderamente curioso, en

especial cuando se mueve la cámara alrededor del monitor.

O En matemáticas, tenemos múltiples definiciones recursivas:

O - Números naturales:

O (1) 1 es número natural.O (2) el siguiente número de un número natural es un número

natural

O - El factorial: n!, de un número natural (incluido el 0):

O (1) si n = 0 entonces: 0! = 1O (2) si n > 0 entonces: n! = n · (n-1)!

O Con el objetivo de lograr una eficiencia máxima se quiere minimizar el uso de recursos. Sin embargo, varias medidas (e.g. complejidad temporal, complejidad espacial) no pueden ser comparadas directamente, luego, cual de dos algoritmos es considerado más eficiente, depende de cual medida de eficiencia se está considerando como prioridad, e.g. la prioridad podría ser obtener la salida del algoritmo lo más rápido posible, o que minimice el uso de la memoria, o alguna otra medida particular.

EFICIENCIA DE UN ALGORITMO

O DE :https://es.wikipedia.org/wiki/Eficiencia_Algor%C3%ADtmica

O Eficiencia Algorítmica

O En Ciencias de la Computación, el término eficiencia algorítmica es usado para describir aquellas propiedades de los algoritmos que están relacionadas con la cantidad de recursos utilizados por el algoritmo. Un algoritmo debe ser analizado para determinar el uso de los recursos que realiza. La eficiencia algorítmica puede ser vista como análogo a la ingeniería de productividad de un proceso repetitivo o continuo.

O Con el objetivo de lograr una eficiencia máxima se quiere minimizar el uso de recursos. Sin embargo, varias medidas (e.g. complejidad temporal, complejidad espacial) no pueden ser comparadas directamente, luego, cual de dos algoritmos es considerado más eficiente, depende de cual medida de eficiencia se está considerando como prioridad, e.g. la prioridad podría ser obtener la salida del algoritmo lo más rápido posible, o que minimice el uso de la memoria, o alguna otra medida particular.