2021 TALLER ALRGORITMO Colegio Américas Unidas Presentado por: Daniela Agudelo Marín [email protected] 1. Definición de un algoritmo Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Loa algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación. Características de los algoritmos Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades. Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado. Finito. Debe terminar en algún momento. Puede tener cero o más elementos de entrada. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones. Se concluye que un algoritmo debe ser suficiente para resolver el problema. Entre dos algoritmos que lleven a un mismo objetivo, siempre será preferible el más corto (se deberá analizar la optimización de tiempos y / o recursos). 2. Lenguaje algorítmico Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de lenguajes algorítmicos Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo). 3. Pensamiento algorítmico El pensamiento algorítmico es, de alguna manera, un conjunto de habilidades que están conectadas a la construcción y comprensión de algoritmos. Según (Futschek, 2006) este pensamiento incluye las siguientes capacidades: a) analizar problemas dados; b) especificar un problema de manera precisa; c) encontrar las acciones básicas que son adecuadas para resolver el problema dado; d) construir un algoritmo correcto para resolver un problema determinado, utilizando las acciones básicas; e) pensar en todos los posibles casos tanto especiales como normales de un problema; y, f) mejorar la eficiencia de un algoritmo. “El pensamiento algorítmico posee un elemento creativo fuerte: la construcción de nuevos algoritmos que resuelvan problemas dados. Si alguien quiere hacer esto, necesita pensar algorítmicamente” (Futschek, 2006) Vale la pena aclarar que el pensamiento algorítmico no es un componente simple del pensamiento computacional, es una dimensión compleja que se entrelaza con otros componentes. De hecho, las primeras tres capacidades que Futschek asigna al pensamiento algorítmico, se podrían enmarcar claramente en la dimensión “formular problemas” de la definición operativa de pensamiento computacional propuesta por (ISTE & CSTA, 2011). 4. Repetición informática Las repeticiones forman parte de cualquier lenguaje de programación, al menos en la inmensa mayoría. Se les llama estructuras de control (en realidad son un tipo de estructuras de control) porque nos permiten controlar el flujo de ejecución de los programas. En estas estructuras de control lo que hacemos es repetir la ejecución de un código un número de veces. El concepto es bien simple, si hay que hacer algo varias veces, usamos una repetición. Algunas veces sabremos el número de veces que debemos realizar una o varias acciones, otras veces no se tendrá claro desde el inicio, pero sí se sabrá que hay que repetir algo. Incluso hay procesos en los que podríamos repetir algo tantas veces como ninguna, y también podría ser una repetición. 5. Secuenciación en informática Son series de acciones desarrolladas en un orden específico, ya que se realiza una acción tras otra hasta que todas se hayan llevado a cabo. En informática se conoce como acciones o comandos desarrollados en un orden específico con el fin de conseguir un objetivo o cumplir una orden dada por el usuario, si nos remitimos al concepto de un algoritmo, una secuencia se desarrolla de manera ordenada hasta que se cumpla, es decir, desde que se la inicia hasta que se logre su finalidad, por ejemplo, se puede desarrollar una secuencia x veces hasta denotar todos los números primos existentes en un rango determinado. 6. Condiciones lógicas en informática Se considera condición lógica a una función lógica informática o computacional, esta se puede clasificar en 3 tipos AND, OR, NOT. La primera se puede definir como: “Únicamente cuando todas las proposiciones son Verdaderas”, también puede expresarse así: “El resultado es Verdadero, en cualquier otro caso es Falso” La segunda función: OR se define como “Únicamente cuando todas las proposiciones son Falsas el resultado es Falso, en cualquier otro caso es Verdadero”; también suele expresarse: Si existe una proposición Verdadera, la respuesta es Verdadera. La tercera función: NOT es una negación que se utiliza ante una situación donde se combina con las dos anteriores funciones.