Semana 1 Los algoritmos - Radio Fe y Alegría Noticias
Transcripción
Semana 1 Los algoritmos - Radio Fe y Alegría Noticias
Los algoritmos Semana 1 Los algoritmos Semana 1 ¡Empecemos! Estimado participante, bienvenido a este nuevo semestre en el que esperamos mucha dedicación y apertura de tu parte para enfrentar los nuevos retos que se te presentan. A estas alturas del partido, como diríamos en el béisbol, son muchas las cosas que dominas del tema sobre programación. En las últimas semanas del 10mo semestre aprendimos sobre el concepto de algoritmo con sus respectivos diagramas de flujo y cómo elaborarlos a partir de problemas sencillos de la cotidianidad. Esta semana vamos a repasar los conceptos y procedimientos respectivos. ¿Qué sabes de...? ¿Qué significa la palabra algoritmo?, ¿has realizado alguno?, ¿lo has representado gráficamente? Para entender de programación, es importante que manejes esto. El reto es... Antes de entrar de lleno en el tema de los algoritmos y su representación gráfica, te invitamos a realizar algunos ejercicios que te permitirán tener un acercamiento al tema. Diariamente estamos realizando actividades, cuyos procesos desarrollamos de manera automática; por ejemplo, asistir al trabajo, ir al mercado, ir el día sábado al CCA, etc. Para ello, no anotamos los pasos que vamos a dar, pues ya están grabados en nuestra mente. En vista de esto, te proponemos que escojas un problema tomado de tus actividades cotidianas y realices, junto a tus compañeros, una lista ordenada de los pasos para lograr la solución. 285 Semana 1 Los algoritmos Para entender bien lo que es un algoritmo y aprender a representarlo gráficamente, anímate a revisar el concepto en varias fuentes y a ejercitarte permanentemente. Vamos al grano En el diccionario de la Real Academia Española (http://www.rae.es/) encontramos la siguiente definición de algoritmo: 1.m. Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. 2.m. Método y notación en las distintas formas del cálculo. Por su parte, en WordReference.com (http://li.co.ve/zbd) se define algoritmo como: 1.m. Conjunto ordenado y finito de operaciones que permiten hallar la solución de un problema: por el algoritmo de Euclides se calcula el máximo común divisor de dos números. 2. Método y notación en las distintas formas del cálculo: “ax2 + bx + c = 0” es un algoritmo. En ambos casos, nos hablan de pasos ordenados y finitos para resolver un problema. Entonces, si nos planteamos, por ejemplo, exponer el tema sobre algoritmos, deberíamos cumplir con los pasos siguientes: revisar el tema relacionado con los algoritmos; preguntarme si lo que sé sobre algoritmos es suficiente para lo que voy a exponer; si es suficiente, continúo con los pasos siguientes; si no, me tocará investigar lo que no domino; preparar la exposición, exponer y finalizar. 286 La lámpara no funciona ¿Está enchufada? NO Enchufarla SI ¿Foco quemado? NO Comprar nueva lámpara SI Reemplazar el foco Los algoritmos Semana 1 ¿Será suficiente con esta definición para entender y elaborar un algoritmo? A simple vista pareciera que sí, pero ampliemos el concepto. Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema. Cuando se habla de pasos finitos, sencillamente se refiere a una cantidad de pasos definidos, que podemos contar; por ejemplo, para ir al banco a retirar dinero hacemos lo siguiente: 1. Vamos al banco 2. Llenamos la planilla o forma 3. Hacemos la cola 4. Entregamos la planilla o forma 5. Retiramos el dinero 6. Fin del proceso Como el problema era retirar el dinero del banco, lo que suceda de allí en adelante, será parte de otro u otros procesos. Por otro lado, las instrucciones no son ambiguas, no dejan dudas para su ejecución; por ejemplo, para sacar dinero del banco, no hay dudas acerca de que debo dirigirme a la taquilla y esperar la entrega del efectivo para retirarme de la misma. Cabe destacar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. En general, los algoritmos tienen tres propiedades, siempre y cuando no consideremos algoritmos paralelos. 1. Tiempo secuencial: un algoritmo funciona en tiempo discreto –paso a paso–, definiendo así una secuencia de estados “computacionales” por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar). 2. Estado abstracto: cada estado computacional puede ser descrito formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que, en un algoritmo, las estructuras de primer orden son invariantes bajo isomorfismo. 3. Exploración acotada: la transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, 287 Semana 1 Los algoritmos entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual. Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación, entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. Mientras que, usar pseudocódigos y diagramas de flujo, evita muchas ambigüedades propias del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda describir sin ambigüedad y sin hacer referencia a una computadora en particular y, además, debe tener un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia definición abarca, tanto los algoritmos prácticos como aquellos que solo funcionan en teoría; por ejemplo, el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en principio, con números de precisión infinita; sin embargo, no es posible programar la precisión infinita en una computadora, y no por ello dejan de ser algoritmos. Para saber más… Para profundizar en el interesante tema de esta semana, anímate a consultar otras fuentes, como libros de texto y/o diferentes sitios web, entre los que te recomendamos los siguientes: http://li.co.ve/zDz http://li.co.ve/zD0 http://li.co.ve/zbc Disfruta el video “Qué es un algoritmo” disponible en esta dirección web: http://li.co.ve/zDy Aplica tus saberes Para poner en práctica lo aprendido, te proponemos las siguientes actividades: 1. Elabora un algoritmo para cada una de las actividades listadas a continuación. a) Investiga en internet un tema relacionado con los algoritmos. b) Elabora una presentación en cualquiera de las aplicaciones existentes para explicar el tema sobre algoritmos. 288 c) Escoge una actividad que realices de forma cotidiana y elabora su algoritmo. Los algoritmos Semana 1 2. ¡Pon a prueba tus saberes y diviértete con el multimedia de este semestre! a) Identifica en la sopa de letras las palabras relacionadas con el tema de algoritmos. b) Completa el algoritmo, colocando en la secuencia el paso faltante. Comprobemos y demostremos que… 1. Elabora un informe donde se refleje lo siguiente: a) Problemática presentada en la sección “El reto es …” b) Proceso utilizado para llegar a la solución del problema. c)Resultados. 2. Elabora una presentación de tu informe y exponlo en el CCA. 289