ELEARNING TOTAL Algoritmos y secuencias de instrucciones ELEARNING TOTAL ¿Qué es un algoritmo? Un Algoritmo es una secuencia de operaciones detalladas y no ambiguas, que al ejecutarse paso a paso, conducen a la solución de un problema. En otras palabras es un conjunto de reglas para resolver una cierta clase de problema. “Todo problema se puede describir por medio de un algoritmo “ ELEARNING TOTAL Secuencias de instrucciones Una instrucción consiste en una operación a realizar. Una instrucción en sí misma carece de sentido y de objetivo. Necesita ser parte de algo más grande. La instrucción “tomar el cepillo de dientes” es una operación que carece de sentido. Cuando las instrucciones se encuentran dentro de una secuencia, respetan una estructura y tienen un objetivo en común (brindar una solución) nos encontramos con un algoritmo. Las instrucciones “tomar el cepillo de dientes”, “ponerle crema dental”, “cepillarse”… es un algoritmo para cepillarse los dientes. ELEARNING TOTAL Ejemplo 1 Algoritmo de preparación de una ensalada 1- Lavar las verduras. 2- Cortar las verduras en trozos pequeños. 3- Colocarlas en un recipiente. 4- Agregar sal y aceite en el recipiente. 5 - Mezclar todo el contenido del recipiente. ELEARNING TOTAL Ejemplo 2 Algoritmo para cambiar un pañal. 1- Retirar el pañal sucio del bebé. 2- Lavar al bebé. 3- Colocar talco. 4- Colocar el nuevo pañal. ELEARNING TOTAL Estructura . Las secuencias de instrucciones presentes en los algoritmos deben respetar cierta estructura y organización: 1. Preciso. Debe indicar el orden en el cual debe realizarse cada uno de los pasos que conducen a la solución del problema. 2. Definido. Esto implica que el resultado nunca debe cambiar bajo las mismas condiciones del problema, éste siempre debe ser el mismo. 3. Finito. No se debe caer en repeticiones de procesos de manera innecesaria; deberá terminar en algún momento. ELEARNING TOTAL Ejemplo 1 - si no fuera preciso Algoritmo de preparación de una ensalada 1- Mezclar todo el contenido del recipiente. 2- Agregar sal y aceite en el recipiente. 3- Cortar las verduras en trozos pequeños. 4- Colocarlas en un recipiente. 5 - Lavar las verduras. El resultado sería caótico! ELEARNING TOTAL Aplicaciones En matemáticas, los algoritmos consisten en métodos para resolver problemas. Por ejemplo, una multiplicación es un algoritmo para resolver el producto de dos números. Algoritmos como funciones Un algoritmo se puede concebir como una función que transforma los datos de un problema (entrada) en los datos de una solución (salida). Es decir que todo algoritmo calcula una función donde cada número natural es la codificación de un problema o de una solución. ELEARNING TOTAL Algoritmos en informática En informática, para implementar la solución de un problema mediante el uso de una computadora es necesario establecer una serie de pasos que permitan resolver el problema. A este conjunto de pasos se lo denomina algoritmo, el cual debe tener como característica final la posibilidad de transcribirlo fácilmente a un lenguaje de programación. Para esto se utilizan herramientas de programación, las cuales son métodos que permiten la elaboración de algoritmos escritos en un lenguaje entendible para la computadora. En unidades posteriores abordaremos en más profundidad el concepto de lenguaje de programación. ELEARNING TOTAL Representación: Diagramas de flujo Los diagramas de flujo son una herramienta que permite representar visualmente qué operaciones se requieren y en qué secuencia se deben efectuar para solucionar un problema dado. Por consiguiente, un diagrama de flujo es la representación gráfica mediante símbolos especiales, de los pasos o procedimientos de manera secuencial y lógica que se deben realizar para solucionar un problema dado. ELEARNING TOTAL Ejemplo de diagrama Debo asegurarme de aprender todos los contenidos del taller de robótica. Para esto debo resolver los problemas que me plantea el profesor. Para poder resolverlos primero que todo debo estudiar. Si sucede que luego de resolverlos no aprendí, debería comenzar a estudiar de nuevo. Caso contrario ya terminé! ELEARNING TOTAL Representación: Pseudocódigo Esta herramienta permite pasar casi de manera directa la solución del problema a un lenguaje de programación específico. El pseudocódigo es una serie de pasos bien detallados y claros que conducen a la resolución de un problema. La facilidad de pasar casi de forma directa el pseudocódigo a la computadora ha dado como resultado que muchos programadores implementan de forma directa los programas en la computadora, cosa que no es muy recomendable, sobre todo cuando no se tiene la suficiente experiencia para tal aventura, pues se podrían tener errores propios de la poca experiencia acumulada con la solución de diferentes problemas. ELEARNING TOTAL Representación: Pseudocódigo Por ejemplo, el pseudocódigo para determinar el volumen de una caja de dimensiones A, B y C se puede establecer de la siguiente forma: 1. Inicio. 2. Leer las medidas A, B y C. 3. Realizar el producto de A * B * C y guardarlo en V (V = A * B * C). 4. Escribir el resultado V. 5. Fin. Como se puede ver, se establece de forma precisa la secuencia de los pasos por realizar; además, si se le proporciona siempre los mismos valores a las variables A, B y C, el resultado del volumen será el mismo y, por consiguiente, se cuenta con un final. ELEARNING TOTAL De ejecutores de algoritmos a creadores Pasamos nuestros días ejecutando algoritmos. Por ejemplo, en la escuela cuando aprendemos operaciones matemáticas estamos aprendiendo a ejecutar algoritmos ya creados. Retomando la lectura del pensamiento computacional, parte de este pensamiento significa no solo “ejecutar” algoritmos sino crearlos utilizando la lógica y, en informática, la programación. ELEARNING TOTAL Las matemáticas significan esencialmente la existencia de un algoritmo mucho más preciso que el del lenguaje ordinario. La historia de la ciencia atestigua que la expresión en lenguaje ordinario a menudo precedió a la formulación matemática, a la invención de un algoritmo. Ludwig von Bertalanffy. "Teoría general de los sistemas" (1968).