Lección 3
Algoritmos
Un algoritmo es una secuencia de pasos para resolver un problema. Los pasos deben estar muy bien definidos, y tienen que describir sin ambigüedades cómo llegar desde el inicio hasta el final.
Componentes de un algoritmo
Conceptualmente, un algoritmo tiene tres componentes:
- la entrada: son los datos sobre los que el algoritmo opera;
- el proceso: son los pasos que hay que seguir, utilizando la entrada;
- la salida: es el resultado que entrega el algoritmo.
El proceso es una secuencia de sentencias, que debe ser realizada en orden. El proceso también puede tener ciclos (grupos de sentencias que son ejecutadas varias veces) y condicionales (grupos de sentencias que sólo son ejecutadas bajo ciertas condiciones). (Introducción a la programación, s.f.)
Tipos de algoritmos
En términos sencillos de entender, existen dos tipos de algoritmos. Los primeros son los llamados “algoritmos convencionales”, los cuales son aquellos que las personas realizan todos los días en su acontecer diario, con el fin de llegar a cumplir un determinado objetivo, como por ejemplo hacerse el desayuno, o para solucionar problemas en su jornada laboral, como por ejemplo programar lo que almorzará en base al tiempo que tiene disponible o calcular a que temperatura hay que subir el termostato de la sala.
Aunque pueda parecer demasiado simple, lo cierto es que si nos llevamos del significado de algoritmo, el cual básicamente dicta que se trata de “secuencia lógica y finita de pasos que permite solucionar una problemática o cumplir con un determinado objetivo” cualquier de los ejemplos citados se ajustan al máximo al significado de algoritmo.
El otro tipo de algoritmos son los llamados “algoritmos computacionales”, los cuales son aquellos que utilizan las aplicaciones y el software de computadoras para realizar las tareas que les pedimos o las acciones automáticas que realizan los dispositivos sin que lo solicitemos. (¿Qué es un algoritmo? Características y Tipos, s.f.)
Ejemplo 1
Elabore un algoritmo que permita ir de la casa al colegio.
Objetivo: Ir de la casa al colegio.
Inicio
- Salir de la casa
- Si está lejos del colegio entonces tomar un medio de transporte que lo deje cerca del mismo.
- Si no está lejos del colegio entonces dirigirse caminando hacia él mismo
- Llegar a la puerta del colegio
Fin
Actividad de aprendizaje
Resuelve el siguiente formulario sobre los conceptos básicos de algoritmos, cada pregunta tiene una retroalimentación, puedes intentarlo varias veces
Pseudocódigo:
El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación.
Principales características del pseudocódigo
Su principal característica es la de representar un método que facilita la programación y solución del algoritmo del programa. También se caracteriza por ser una forma de representación, fácil de utilizar y de manipular, que simplifica el paso del programa, al lenguaje de programación.
Otra característica que tiene el pseudocódigo es su independencia al código en el que se va a escribir el programa, proporcionando un método que facilita la posterior programación y la resolución del algoritmo del programa.
Estructura de un algoritmo en pseudocódigo
Todo algoritmo en pseudocódigo tiene la siguiente estructura general:
Para escribir programas utilizando pseudocódigo es necesario seguir unas pautas o normas de sintaxis para que puedan ser leídos y comprendidos por los programadores a la hora de pasarlos a un lenguaje de programación. Es muy útil utilizar herramientas que faciliten esta escritura de pseudocódigo, como es el caso de PSeInt, que asiste con un simple e intuitivo pseudolenguaje en español y que además incluye un editor de diagramas de flujo. (Robledano, 2019)
DIAGRAMAS DE FLUJO
Un diagrama de flujo permite representar de forma gráfica un algoritmo a través de símbolos
Las entradas son datos o insumos que necesita el algoritmo para que se pueda elaborar.
Los procesos son las acciones que permiten transformar las entradas (insumos o datos) en otros datos u otros insumos que permitirán dar solución el problema.
Las salidas hacen referencia a los resultados que debe dar al final el algoritmo.
Las decisiones se usan para tomar decisiones lógicas y de acuerdo a estas ejecutar o no conjuntos de instrucciones.
Las iteraciones permiten repetir un conjunto de instrucciones dentro de un algoritmo
Para elaborar un diagrama de flujo se deben tener en cuenta las siguientes reglas:
- Los diagramas se deben realizar de arriba hacia abajo y de izquierda a derecha.
- El algoritmo debe arrancar con el símbolo de inicio y terminar con símbolo de fin.
- La dirección de flujo se debe representar por medio de flechas.
- Todas las líneas de flujo deben llegar a un símbolo o a otra línea. (Mintic, Mineducación, s.f.)
sabias que Code.org tienes varios juegos, como Minecraft o Angry Birds, entre otros, para aprender a programar mientras te diviertes
Estructuraras Condicionales en algoritmos
Permite evaluar condiciones y si ésta se cumple se ejecuta un determinado grupo de instrucciones. En caso contrario se saltan dicho grupo de instrucciones. (Mintic,Mineducación, s.f.)
El condicional funciona así:
Evalúa la condición, en caso de que sea verdadera ejecuta las instrucciones del lado verdadero; sino, en caso de que la condición sea falsa ejecuta las instrucciones del lado falso.
Ejemplo
Este algoritmo Valida si el Numero que escribe el usuario es Mayor a cero, en caso de que sea verdadero imprime el mensaje : es positivo, sino toma el camino falso e imprimirá el mensaje: es negativo
Actividad de aprendizaje
Ingresa al siguiente Link y observa con atención el código escrito, ¿que crees que sucederá?
A jugar..
Es Hora del Código.
Resuelve esta lección: https://studio.code.org/s/express-2021/lessons/15/levels/2
Ciclos o Bucles en Algoritmos:
While:
Algunas veces cuando se está diseñando un algoritmo computacional es necesario repetir de forma controlada un conjunto de instrucciones. Las estructuras repetitivas también llamadas ciclos permiten repetir una secuencia de instrucciones un número determinado de veces, al hecho de repetir la ejecución de una secuencia de acciones se le llama iteración. (Mintic,Mineducación, s.f.)
Actividad de aprendizaje
Utiliza los bucles para lograr el objetivo en el siguiente reto.
A jugar..
Es Hora del Código.
Resuelve esta lección: https://studio.code.org/s/express-2021/lessons/17/levels/12
Variables en Algoritmos:
Una Variable es un espacio de la memoria del computador que permite almacenar información de un determinado tipo de dato.
El tipo de dato indica como es el dato que se almacena en la variable, en programación los tipos de datos básicos son los numéricos, los carácter y los lógicos.
Asignar un dato a una variable
Para Asignar una variable un dato usa el operador igual “=”. (Mintic,Mineducación, s.f.)
Actividad de aprendizaje
En esta actividad usaras el concepto de variables y bucles para dibujar un triangulo
A jugar..
Es Hora del Código.
Resuelve esta lección: https://studio.code.org/s/express-2021/lessons/24/levels/3
Programas para hacer algoritmos
Muchas veces queremos aprender a programar, para lo que necesitamos elaborar algoritmos, pero no sabemos cómo. Hoy traemos distintos programas para hacer algoritmos, y así realizar este trabajo sin dificultad y poder crear, generar y convertir algoritmos sin mayores problemas:
DFD
DFD, que por sus siglas significa «Diagrama de Flujo de Datos«, es un útil editor de diagramas de flujo. Nos sirve para dar forma gráfica a numerosos algoritmos. DFD cuenta con una barra de herramientas en las cuales se enlistan el proceso, el almacén, la entidad externa y el flujo de datos. Todos estos necesarios para una sencilla construcción de diagramas.
PSeInt
PSeInt, que es una abreviación de «P Seudo Interprete«, es una herramienta muy útil, que se usa principalmente para asistir a estudiantes. Aquellos que están dando sus primeros pasos en la construcción de programas de algoritmos y en la programación. Una de sus características más notables, es que puede ser usado con un simple pseudolenguaje en español. (Programasparapc, s.f.)
Referencias
¿Qué es un algoritmo? Características y Tipos. (s.f.). Obtenido de https://www.tecnologia-informatica.com/algoritmo-definicion/#Tipos_de_algoritmos
Introducción a la programación. (s.f.). Obtenido de http://progra.usm.cl/apunte/materia/introduccion.html
León, J. M. (23 de 03 de 2014). ¿Qué es el pensamiento computacional? Obtenido de https://programamos.es/que-es-el-pensamiento-computacional/
Mintic, Mineducación. (s.f.). Fundamentos de programación. Obtenido de Introducción a la programación: https://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/unidad1/leccion1.html#:
~:text=Los%20algoritmos%20deben%20ser%20precisos,terminar%20con%20un%20resultado%20o
Mintic,Mineducación. (s.f.). Fundamentos de Programacion. Obtenido de Estructura de control: http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/unidad3/leccion2.html
Mintic,Mineducación. (s.f.). Fundamentos de Programación. Obtenido de Estructura de control – parte 2: http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/unidad4/leccion1.html
Mintic,Mineducación. (s.f.). Fundamentos de Programación. Obtenido de Manejo de variables, entrada y salida de datos: http://aprende.colombiaaprende.edu.co/sites/default/files/naspublic/curriculos_ex/n1g10_fproy/nivel1/programacion/unidad2/leccion1.html
Programasparapc. (s.f.). Los 4 mejores programas para hacer algoritmos. Obtenido de https://programasparapc.net/hacer-algoritmos/
Robledano, A. (18 de 06 de 2019). Qué es pseudocódigo. Obtenido de https://openwebinars.net/blog/que-es-pseudocodigo/
Rodríguez, S. M. (s.f.). Pensamiento computacional: por qué incluirlo en el proceso de aprendizaje. Obtenido de https://www.net-learning.com.ar/blog/herramientas/pensamiento-computacional-por-que-incluirlo-en-el-proceso-de-aprendizaje.html
Unir. (27 de 01 de 2021). ¿Qué es el pensamiento computacional? Obtenido de https://www.unir.net/educacion/revista/pensamiento-computacional/