Ejemplo de flujograma para ¨Encender luz¨
Introducción
¿Qué es una operación matemática?
Propiedades y orden de las operaciones
Quiz: Introducción
Sistema binario
¿Qué es el sistema binario?
Conversión entre binario y decimal
Suma y resta de binarios
Multiplicación y división de binarios
Quiz: Sistema binario
Operadores
¿Qué son las tablas de verdad?
Operadores lógicos
Operadores aritméticos
Operadores de comparación
Reto 0: identifica los operadores
Quiz: Operadores
Algoritmos y diagramas de flujo
¿Qué es un algoritmo? ¿Cómo resolver problemas con algoritmos?
¿Qué es un diagrama de flujo?
Reto 1: ¿hay dinero en el cajero electrónico?
Reto 2: buscador de ciudades
Reto 3: login de usuarios
Quiz: Algoritmos y diagramas de flujo
Próximos pasos
Toma el Curso de Pensamiento Lógico: Tipos de Datos y Estructuras de Control
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Un algoritmo es una serie de pasos definidos, que van secuencialmente y logran un objetivo de la mejor forma.
Para poder tener la mejor respuesta posible a esta pregunta, vamos a ir realizando un ejemplo en paralelo a darle respuesta a la pregunta. El ejemplo o el problema es el siguiente:
“Quiero encender la luz de la habitación donde estoy en este momento”.
Una forma efectiva para crear cualquier algoritmo es seguir los siguientes pasos (Analizar el problema, crear un paso a paso y Buscar la forma de optimizar el algoritmo).
Analizar el problema, nos lleva a entender el objetivo general del algoritmo y nos permite encontrar los recursos que se tienen disponibles y los que hay que crear.
Al analizar nuestro reto, encontramos que hay una habitación, hay una luz que es posible encender y por último, tenemos que para poder encender la luz se necesita que esta esté apagada.
Después de haber hecho el análisis, tenemos como resultado que la luz está apagada, que estamos en una habitación que permite encenderla y el objetivo es encender la luz.
En este punto se debe organizar un poco más la idea, se debe buscar encontrar todos esos detalles que nos permitirán cumplir el objetivo.
Paso a paso de nuestro ejemplo:
Una vez se establezca el paso a paso, debemos hacernos una pregunta que permita determinar si hacer esos pasos de manera secuencial permitirán cumplir con el objetivo. Si la respuesta es si, se puede continuar en el proceso, si la respuesta es no se debe volver analizar el problema.
En el caso de nuestro ejemplo, si realizamos los tres pasos anteriores, podremos cumplir nuestro objetivo.
En este punto se deben crear los pasos que se van a necesitar para que el algoritmo tenga respuesta a los distintos problemas que se pueden presentar. También se debe buscar la forma de llegar al objetivo consumiendo la menor cantidad de recursos posibles.
Veamos un ejemplo siguiendo con la secuencia del algoritmo que estamos creando.
¿Qué pasaría, si el paso uno del paso a paso no se cumple?, Es decir, cuál va a hacer la respuesta de nuestro algoritmo cuando se encuentre que la luz no está apagada. La lógica que el algoritmo debería seguir en este punto es la de finalizar el proceso, debido a que no se necesita encender la luz.
¡Cuéntanos en la sesión de comentarios, cuál sería tu flujo lógico para optimizar el proceso de encender la luz, en caso de que la luz esté encendida al momento de iniciar, el proceso!
Contribución del curso creada por: Silfredo Ibarra.
Aportes 411
Preguntas 13
Ejemplo de flujograma para ¨Encender luz¨
Tener claro el requerimiento: quiero encender la luz de la habitación donde estoy en este momento
a. Validar que la luz esté apagada (condición base)
b. Identificar dónde voy a encender la luz
c. Presionar el elemento que me permita encender la luz
🎯 Identificar las diferentes alternativas que puedo tomar para cumplir el objetivo
😄 Este fue mi resultado.
así quedó el mio
Aqui un buen ejemplo (no lo hagan en su casa).
⚡👉Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten arribar a un resultado o solución.
Algoritmo es una serie de pasos
Ayuda a ser óptimos y más rápidos
Ejemplo:
“Quiero encender la luz de la habitación donde estoy en este momento”
Identifica:
Para construir un Algoritmo se requiere un proceso de análisis
<aside>
🤘🏾 cuando tengamos un requerimiento o una necesidad para crear un algoritmo lo más importante es leerlo cuantas veces sea necesario
</aside>
Identifiquemos que componen esta frase
No siempre vas a tener un nivel de detalle lo suficientemente claro para que todos los recursos estén dados en un requerimiento, en ocasiones vas asumir o agregar las condiciones para llegar al resultado.
Análisis:
luz → habitación → encender la luz
Cual es esa otra condición que debe pasar para que eso sea posible
La luz debe estar apagada → agregamos este elemento que permite agregarle recursos
Ya tenemos un mejor contexto: la luz apagada en una habitación y debemos encenderla
Pasos:
Pregunta:
¿Con estos pasos logramos el objetivo de encender la luz 💡 ? Si 😼
<aside>
🤘🏾 Paso a Paso: Dividir un problema en partes pequeñas
</aside>
Flujo para encender una laptop:
https://app.diagrams.net/
Chicos, si les interesa este es un software para la creacion de diagramas de flujo.
Diagrama de flujo sobre si mi hermano debería o no ir a la uni después de beber el día anterior
Este es mi algoritmo para poder comer un snack
Bueno este es el diagrama que cree, creo que considere todos los casos, acepto cualquier complemento, en la parte inicial dejo una lista de las variables que tuve en cuenta.
Aqui les dejo mi propio diagrama, si hay algun error no duden en dejarlo en las respuestas! 😉
Diagrama para encender la luz!
Adjunto ejemplo, Encender luz, en habitación"
Este es mi algoritmo para encender la luz, espero les sea útil :3
Óptimo: La opción más efectiva.
¿Es óptimo hacer que si la luz está encendida, apagarla, y hacer nuevamente el algoritmo de encenderla?:
Entiendo que el algoritmo es una serie de pasos para la solución de un problema, sin embargo, hay que ver mas haya de una simple solución para todos los casos que se puedan presentar.
Este es mi ejercicio:
“Sujeto a correciones”
Gracias.
Esta es la solución que se me ocurre en la menor cantidad de pasos.
Aquí comparto mi diagrama de flujo 😊👍.
recomendaciones importantes para mejorar la resolución de problemas con algoritmos
Así hice mi diagrama
llega un punto donde al hacer tantas preguntas el algoritmo tiende a volverse un ciclo infinito, eso es normal?
Flujograma “Encender la luz”
para lograr un algoritmo tenemos que tener es un gran nivel de detalle.
Esta es mi solución.
Aqui mi ejemplo de diagrama de flujo.
Tener conocimientos básicos de electricidad te da una pequeña ventaja.
Un algoritmo es una serie de pasos divididos que van secuencialmente y logran un objetivo de la mejor manera, para crear el algoritmo es necesario formular las preguntas e identificar los objetivos y recursos con los que cuento haciendo luego una serie de pasos que ayuden a su cumplimiento !
un algoritmo es el nivel de detalle y serie de pasos definidos que van secuencialmente para llegar a un objetivo.
¿Cómo construir un algoritmo?
Construir un algoritmo implica seguir una serie de pasos lógicos y sistemáticos para diseñar un conjunto de instrucciones claras y precisas que resuelvan un problema específico. Aquí hay una guía paso a paso para construir un algoritmo:
Comprende el Problema:
Antes de comenzar a escribir un algoritmo, es crucial entender completamente el problema que estás tratando de resolver. Analiza el problema, identifica las entradas necesarias y comprende las restricciones y requisitos.
Divide el Problema:
Si el problema es complejo, divídelo en subproblemas más pequeños y manejables. Abordar partes más pequeñas del problema por separado puede hacer que el proceso sea más fácil de manejar.
Diseña una Solución:
Selecciona un Enfoque: Decide qué técnica o estrategia utilizar para resolver el problema (por ejemplo, bucles, recursión, algoritmos de ordenación, etc.).
Visualiza el Flujo: Visualiza el flujo de las operaciones. Puedes usar diagramas de flujo o pseudocódigo para planificar cómo se ejecutarán las instrucciones.
Escribe Pseudocódigo:
Escribir pseudocódigo implica describir el algoritmo en un lenguaje humano simple y estructurado. Esto te permite planificar la lógica del algoritmo antes de traducirlo a un lenguaje de programación específico.
Traduce a un Lenguaje de Programación:
Elige un Lenguaje: Decide en qué lenguaje de programación implementarás el algoritmo.
Escribe el Código: Transcribe el pseudocódigo a un programa en el lenguaje de programación elegido. Asegúrate de seguir la estructura y la lógica del pseudocódigo.
Prueba el Algoritmo:
Casos de Prueba: Diseña casos de prueba que cubran una variedad de situaciones posibles.
Verifica Resultados: Ejecuta el algoritmo con los casos de prueba y verifica si produce los resultados esperados. Si el algoritmo no funciona correctamente, depúralo para corregir los errores.
Optimización (Opcional):
Si el algoritmo funciona pero es lento, considera formas de optimizarlo. Esto podría implicar mejorar la eficiencia del código, reducir el uso de recursos o encontrar un enfoque algorítmico más eficiente.
Documenta tu Algoritmo:
Agrega Comentarios: Documenta el código con comentarios claros para explicar qué hace cada parte del algoritmo.
Describe el Propósito: Asegúrate de que cualquier persona que lea tu algoritmo pueda entender su propósito y su lógica.
Itera y Mejora (si es necesario):
Si encuentras problemas o áreas para mejorar, itera sobre el proceso. La práctica constante ayudará a perfeccionar tus habilidades en la construcción de algoritmos.
Recuerda que cada problema puede tener múltiples soluciones posibles. La clave es encontrar una solución que sea efectiva y eficiente para el contexto específico del problema que estás abordando.
Diagrama de flujo.
Otro ejemplo de flujograma para encender la luz:
Para hacer diagramas de flujo super faciles les recomiendo LucidChart es muy amigable, gratuito solo te deja hacer 3, pero puedes reutilizarlos las veces que quieras.
Aqui mi ejemplo!
Aunque estuvo difícil para mi…aquí vamos yo lo creo así:
acepto criticas:
Encender la luz - Flujograma
[](!)
Siento que no seria optimo apagar la luz para volver a encenderla, es agregar un paso innecesario que haría un ciclo innecesario de volver a encender la luz, yo daría fin al proceso
Es interesante ya que la profesora dijo que tendríamos que suponer ciertas condiciones por ejemplo que había un bombillo o que avía un interruptor bastante interesante y complejo en la practica
Iniciando la siguiente clase y ver el diagrama de la teacher, creo que en el mío me falto el inicio antes de Habitación.
Si quieren profundizar en la solución de algoritmos con diagramas de flujo, les recomiendo esta lista de vídeos de este gran canal de YouTube 😃
https://youtube.com/playlist?list=PLWtYZ2ejMVJnpjQFWykrPcVOycJLVP2cG
Aquí dejo mi aporte del algoritmo para encender la luz
 {
Scanner input = new Scanner(System.in);
System.out.println("Is the Light On or Off [Type true for On or false for Off]");
boolean light_status = input.nextBoolean();
if(light_status == false){
System.out.println("The light is Off");
System.out.println("Looking for the switch...");
System.out.println("Is the switch activated or not? [Type true if activated or false if not]");
boolean switch_status = input.nextBoolean();
if(switch_status == false){
System.out.println("Activating the switch");
switch_status = true;
System.out.println("Switch activated");
System.out.println("Turning on the light...");
light_status = true;
}
if(light_status == false && switch_status == true){
System.out.println("Something is wrong with the switch it gotta be fixed");
}
}
if(light_status){
System.out.println("The light is On");
System.out.println("Nothing more to do");
}
}
}
La base esta jajaja:
(armado con draw io)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?