Вы находитесь на странице: 1из 5

Reporte de Lectura 2 Algoritmos Marco Teorico Conceptos y caracteristicas de los algoritmos

28/01/13 Antonio Diego Chavez

Un algoritmo es un mtodo para resolver un problema. El algoritmo es aquel que se enfoca en dar los pasos correspondientes para una operacin matemtica

Un algoritmo es una serie de operaciones detalladas y no ambiguas. En otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas . La receta de la ABUELA para hacer "Tucumanas" es un algoritmo. Un algoritmo es el medio por el que se explica cmo puede resolverse un problena,mediante aproximaciones paso a paso. Se puede formular de muchas formas con el cuidado de que no exista ambiguedad Al conjunto formado por la representacin de datos utilizada y el algoritmo mismo se llama programa
Las caractersticas fundamentales que deben cumplir todos los algoritmos son: Carcter finito. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos". Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". Entrada. "Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos especficos de objetos". Salida. "Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las entradas". Eficacia. "Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y papel"
Escritura de algoritmos

El diseo estructurado es utilizado en programacin y diseo de algoritmo, como una herramienta que tiene como objetivo realizar algoritmos que sean modulares, es decir crear una jerarqua modular y mdulos independientes siguiendo los principios del diseo de descomposicin por refinamientos sucesivos. Dentro de las etapas del diseo estructurado esta la descomposicin en partes del problema debido a que un problema global es mas complejo que cada una de sus partes por separado, de esta manera para resolver el problema mayor se subdivide el mismo en subproblemas y son tratados con algoritmos o mejor llamados subalgoritmos, los cuales resultan mas fciles de tratar.

La estrategia que se implementa en este tipo de tcnica es el refinamiento sucesivo, el cual fue propuesto por Niklaus Wirth , en el tema de la Ciencia de la Computacin, que corresponde a implementar subproblemas ms pequeos hasta llegar a resolverlos. Es necesario parar dicho refinamiento, si se tiene un sin nmeros de subproblemas entonces se volvera menos practico la descomposicin, para ello es necesario dejar de descomponer cuando ya no existan tareas con estructuras definidas y cuando la interfaz de un modulo resulte mas complicada que el modulo general. Luego de la descomposicin del problema el resultado ser una seria de mdulos en forma de pirmides, que representara en la cima el programa principal y en las bases se encontraran los mdulos resultantes. Al final de la tarea debe de encontrarse en la pirmide los mdulos de coordinacin en la fase principal y los mdulos inferiores tienen la obligacin de realizar tareas de entrada y salida de informacin. Los conceptos de acoplamiento y de cohesin son utilizados para determinar cuan bueno es un diseo estructurado. Se considera que estos conceptos son cualitativos y estn relacionados uno con el otro, de manera que los problemas de uno repercuten en el otro. El acoplamiento es el grado de interdependencia que existen entre los distintos mdulos y la cohesin es la medida de fuerza o atraccin entre las sentencias de un modulo. Los acoplamientos pueden ser externos, son aquellos en los que los mdulos estn relacionados con componentes externos, comn, es cuando dos mdulos acceden a un mismo recurso y de contenido es cuando un modulo necesita recorrer a otro modulo. La cohesin puede ser funcional, secuencial, procedimental, temporal, Lgica causal o coincidente. Los fan-in y fan-out son los que cuentan el grado de absorcin y la diseminacin del control de los mdulos, lo que ayuda a incrementar la calidad del diseo.
, veremos como un problema se descompone en pasos mas sencillos. Ejemplo Qu hacer para ver una pelcula? 1.Inicio. 2. Ir al cine. 3. Comprar la entrada. 4. Ver la pelcula hasta su culminacin. 5. Regresar a Casa. 7. Fin Pero descomponiendo en pasos mas sencillos o tambien llamado refinamiento sucesivo obtendriamos el siguiente algoritmo: 1. Inicio 2. Ver la cartelera de cines en el periodico. 3. Si proyectan la pelicula deseada entonces 3.1. Ir al cine si no proyectan la pelicula 3.2. Elegir otra actividad. 3.3. Pasar al punto 7.

4. Si hay personas en la cola 4.1. Ponerse en ella. 4.2. Mientras haya personas delante hacer 4.2.1. Avanzar en la cola hasta llegar a la boleteria. 5. Si hay localidades(asientos libres) entonces 5.1. Comprar una entrada. 5.2. Pasar a la sala de Cine. 5.3. Localizar las butacas(asientos) 5.4. Mientras proyectan la pelicula hacer 5.4.1. Ver la pelicula hasta su culminacin. 5.5. Abandonar el cine 6. Volver a casa. 7. Fin

Representacion grafica (diagramas de flujo)

El Diagrama de Flujo es una representacin grfica de la secuencia de pasos que se realizan para obtener un cierto resultado. Este puede ser un producto, un servicio, o bien una combinacin de ambos

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travz de sistemas de tratamiento de informacin. Los diagramas de flujo describen que operacines y en que secuencia se requieren para solucionar un problema dado.
Identificar lo que sabes y lo que no
Los algoritmos son procedimientos sistemticos que resuelven correctamente todos los ejemplares de un problema. Es parte del trabajo de diseo asegurar su terminacin . Es parte del trabajo de diseo indicar mediante una precondicin cul es el conjunto de datos vlidos a los que se aplica. Los algoritmos hay que convertirlos en programas para que puedan ser ejecutados por una mquina. Para ello es necesario disponer de una notacin algortmica o lenguaje de programacin . Frecuentemente es posible mejorar la eficiencia de un algoritmo mediante alguna transformacin correcta del algoritmo original.

Reflexion personal

El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa. Mientras el primero es la especificacin de un conjunto de pasos

(operaciones, instrucciones, rdenes,...) orientados a la resolucin de un problema, el segundo es ese conjunto de operaciones especificadas en un determinado lenguaje de programacin y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programacin, en un circuito elctrico, en un aparato mecnico, usando papel y lpiz, o en algn otro modelo de computacin.
Conclusiones

Su importancia radica en mostrar la manera de llevar a cabo procesos y resolver mecnicamente problemas matemticos o de otro tipo. Al igual que las funciones matemticas, los algoritmos reciben una entrada y la transforman en una salida, comportndose como una caja negra. Sin embargo, para que un algoritmo pueda ser considerado como tal, debe ser determinista, tener un nmero finito de instrucciones y debe acabar. Por determinista se entiende que, si se sigue el mismo proceso ms de una vez, se llega siempre al mismo resultado.
Aplicaciones a mi Carrera

Los algoritmos pueden ser una heramienta muy util en nuestras vidas ya que viendolo desde ese punto puede ayudarte en el trabajo, estudio, familia, etc; ya que al ser un mecanismo en el cual los pasos que se toman muchas veces estan en funcion de otras, y que tienes que ser ordenado para realizarlo, te ayudan en ordenar mejor tus prioridades de vida, tu responsabilidad y a abrir tu mente hacia los obstaculos de la vida y a como resolverlos. En realidad, este tema despierta un sentimiento de gran inters hacia la informtica, pues veo que realmente esta nos ayuda en muchas cosas, es decir, nos brinda herramientas tiles para solucionar problemas que se nos presenten en un computador o en nuestra vida, como es el caso de los algoritmos, porque en la vida hay veces en las que se presentan situaciones que se nos salen de las manos, pero con la ayuda de los algoritmos es que diseamos el esquema de los pasos a seguir de una solucin escogida, para as dar fin a los problemas, obviamente sin dejar a un lado la lgica, pues con ella es que analizamos, definimos el problema y seleccionamos la mejor alternativa para resolverlo. Para mi esa es la importancia de los Algoritmos.

Bibliografia http://www.fdi.ucm.es/profesor/ricardo/ei2/algoritmo.pdf http://uneweb.edu.ve/tutoriales/algor01.pdf http://www.dgb.sep.gob.mx/informacion_academica/secuencias_didacticas/2sem/materialinformatica-ii/b1-diagramadeflujo.pdf http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo

http://exa.unne.edu.ar/informatica/anasistem2/public_html/apuntes/de1.pdf

Вам также может понравиться