¿Ya hueles a gloria?, eso es que cada vez estás más cerca de concluir tu primer proyecto robótico. Ha llegado el momento de programar por completo nuestro Parking domótico.
Para ello nos vamos a ayudar de los diagramas de flujo o flujogramas, de gran importancia y ayuda en la creación de ALGORITMOS, o conjunto de instrucciones que ejecutadas en un determinado orden permiten reslover un problema.
En este caso he utilizado el open software LucidChart, muy intuitivo y de rápido aprendizaje:
En primer lugar debes aprender unas normas básicas para la elaboración de los flujogramas, este enlace te será de gran utilidad, con ejemplos complejos resueltos al final del documento.
.
.
NORMAS BÁSICAS EN LOS FLUJOGRAMAS:
- Todo algoritmo, y por tanto todo diagrama de flujo, tiene un principio y un fin, y son únicos.
- Todos los símbolos han de estar conectados.
- A un símbolo de PROCESO (también llamado acción u operación) pueden llegarle varias líneas.
- A un símbolo de DECISIÓN (también llamado pregunta) pueden llegarle varias líneas, pero sólo saldrán dos (Sí o No, Verdadero o Falso).
- A un símbolo de INICIO nunca le llegan líneas de flujo.
- A un símbolo de FIN nunca le salen líneas de flujo.
- Usar siempre líneas de flujo horizontales y verticales, nunca diagonales.
- Intentar, en la medida de lo posible, no cruzar líneas de flujo.
- Utiliza los conectores en la misma (círculo) u otra hoja (pentágono) cuando el diagrama no te quepa en el espacio destinado a ello.
- Se pueden añadir comentarios, que no forman parte del código, para comprender mejor el programa.
Como podéis ver este primer flujograma contiene algún error y es fácilmente depurable (optimizable, simplificable, corregible), si pensamos de forma más profunda buscando ahorrar procesos o símbolos podríamos llegar a este segundo flujograma:
.
.
Una de las fortalezas del desarrollo del pensamiento computacional (Computer Science) es el desarrollo de la creatividad en la búsqueda continua de diferentes soluciones para un mismo problema. Quizás ésta simplificación o depuración, conseguir más con menos, ahorrar recursos o instrucciones, sea el mayor de los retos en el desarrollo del código de los programas.
Si nos salimos de este tipo de configuración y diéramos prioridad a la pulsación de los botones de entrada y salida, antes que al número de plazas en el parking podríamos obtener un flujograma optimizado de este tipo:
.
.
Otro ejemplo interesante de flujograma realizado por uno de mis alumnos es este. Teniendo en cuenta que su aforo máximo del parking son 3 plazas, si te fijas cuando realiza la pregunta «¿Está lleno el parking? ¿plazas==3?» se refiere a plazas disponibles por lo que la palabra lleno debería haber sido vacío. A su vez, en la pregunta «¿Está vacío el parking? ¿plazas==0?» también se refiere a plazas disponibles por lo que la palabra vacío debería haber sido lleno.
OTROS DIAGRAMAS DE FLUJO O FLUJOGRAMAS REALIZADOS POR ALUMNADO DE 2º ESO: