Saltar al contenido
COSTARRICENSES.CR Donde aprenden los Ticos

Algoritmos y diagramas de flujo estructurados

Esta lección es parte de Temario de Electrónica de Décimo año Lección 27 de 51

Por Andrea del Carmen actualizado el 29 de octubre de 2026 7 min de lectura

Una computadora llega al taller y la dueña dice que «no prende». Dos técnicos la reciben. Uno empieza a cambiar piezas al azar: la fuente, luego la memoria, luego la tarjeta madre. El otro hace preguntas en orden: ¿está conectado el cable?, ¿la regleta tiene corriente?, ¿enciende algún LED de la tarjeta madre? Cada respuesta lo manda a un paso distinto, como en los diagramas de flujo. El segundo técnico está siguiendo un algoritmo, aunque nunca haya oído la palabra, y casi siempre termina antes y gasta menos repuestos.

Definición

Un algoritmo es una secuencia finita y ordenada de pasos precisos que, a partir de unos datos de entrada, produce un resultado en un número limitado de acciones. Un diagrama de flujo es la representación gráfica de ese algoritmo, con símbolos normalizados unidos por flechas.

Qué se le exige a un buen algoritmo#

  • Preciso: cada paso dice exactamente qué hacer. «Revisar la fuente» es vago; «medir con el multímetro la salida de 5 V del conector de la fuente» no lo es.
  • Finito: termina. Un algoritmo que repite sin parar no sirve.
  • Definido: con los mismos datos de entrada da siempre el mismo resultado.
  • Con entrada y salida: recibe datos y entrega algo.

Programación estructurada#

La programación estructurada es una forma de ordenar los programas con solo tres tipos de piezas, sin saltos desordenados de un lado a otro. Con estas tres se puede construir cualquier algoritmo:

  1. Secuencia: los pasos se hacen uno tras otro, en el orden escrito.
  2. Selección (decisión): se evalúa una condición y se sigue un camino u otro. «Si el voltaje es menor que 4,75 V, la fuente está mala; si no, está bien».
  3. Repetición (ciclo): un grupo de pasos se repite mientras se cumpla una condición o un número fijo de veces.

La ventaja es que cada bloque tiene una sola entrada y una sola salida. Si algo falla, sabes en cuál bloque buscar, igual que cuando revisas un circuito por etapas.

Diseño descendente y ascendente#

El diseño descendente (de arriba hacia abajo) parte del problema completo y lo va partiendo en problemas más pequeños hasta que cada parte es sencilla. Por ejemplo, «construir un medidor de temperatura» se divide en leer el sensor, convertir la lectura a grados y mostrarla. Cada una se vuelve a dividir si hace falta.

El diseño ascendente (de abajo hacia arriba) hace lo contrario: primero se construyen y prueban las piezas pequeñas que ya se sabe que se necesitan (la lectura del sensor, la conversión) y luego se unen hasta formar el sistema. En la práctica se combinan: se planea de arriba hacia abajo y se prueba de abajo hacia arriba.

Símbolos del diagrama de flujo#

SímboloNombreSe usa para
ÓvaloTerminalMarcar el INICIO y el FIN
ParalelogramoEntrada / salidaLeer un dato o mostrar un resultado
RectánguloProceso (acción)Un cálculo o una asignación, como R = V / I
RomboDecisiónUna pregunta con dos salidas, «Sí» y «No»
Círculo pequeñoConectorContinuar el diagrama en otro punto o en otra página
FlechaLínea de flujoIndicar el orden en que se avanza

Las reglas de dibujo son pocas: el diagrama se lee de arriba hacia abajo y de izquierda a derecha, tiene un solo inicio, y cada rombo lleva sus dos salidas rotuladas. Del rombo salen dos flechas; de los demás símbolos, una.

Ejemplo 1: acción y decisión#

Problema. Calcular la resistencia que lleva un LED alimentado con 5 V, sabiendo que el LED necesita 20 mA y cae 2 V cuando conduce.

Solución. Los pasos son:

  1. INICIO.
  2. Leer el voltaje de la fuente Vcc, la caída del LED Vf y la corriente I (paralelogramo).
  3. Decisión: ¿es I mayor que cero? Si no, mostrar «corriente inválida» y terminar, porque dividir entre cero no se puede.
  4. Calcular R = (Vcc − Vf) / I (rectángulo).
  5. Mostrar R (paralelogramo).
  6. FIN.

Con los datos: R = (5 − 2) / 0,020 = 3 / 0,020 = 150 Ω. Es un valor comercial de la serie E12, así que sirve directamente. Si hubiera salido 300 Ω, el valor normalizado de la serie E12 más cercano por arriba es 330 Ω, y la corriente real bajaría a 3 / 330 ≈ 9,1 mA, con el LED un poco más tenue pero seguro.

Ejemplo 1 bis: el diagnóstico del técnico ordenado#

El caso de la computadora que no prende también se dibuja. Después del INICIO, el primer rombo pregunta «¿el cable de poder está firme y la regleta tiene corriente?». Si la respuesta es No, la acción es conectar y volver a probar. Si es Sí, el siguiente rombo pregunta «¿la fuente entrega 5 V en el cable de +5 V al medirla con el multímetro?». Cada No lleva a una reparación concreta y cada Sí a la siguiente pregunta. Así el diagrama deja de ser un dibujo y se vuelve un procedimiento que otro técnico puede repetir sin haber estado presente.

Ciclos repetitivos#

Un ciclo repite un grupo de acciones. Hay dos formas habituales de controlarlo. En el ciclo mientras, la condición se revisa antes de cada vuelta, y si es falsa desde el principio, el cuerpo no se ejecuta ni una vez. En el ciclo para, una variable contadora va de un valor inicial a uno final y se usa cuando sabes cuántas vueltas habrá.

En un diagrama, el ciclo se dibuja con un rombo que decide si se vuelve hacia atrás (la flecha regresa a un punto anterior) o si se sale hacia adelante.

Ejemplo 2: promedio de cinco mediciones#

Problema. Con un multímetro mediste la salida de una fuente cinco veces: 4,9 V, 5,1 V, 5,0 V, 5,2 V y 4,8 V. Diseñar el algoritmo que calcule el promedio.

Solución. Se usan dos variables: un acumulador (suma) que empieza en 0 y un contador i que empieza en 1.

  1. INICIO. suma = 0; i = 1.
  2. Mientras i ≤ 5: leer medición; suma = suma + medición; i = i + 1.
  3. promedio = suma / 5.
  4. Mostrar promedio. FIN.

Para comprobar que el algoritmo funciona se hace una prueba de escritorio, que es seguir los pasos a mano con una tabla:

Vuelta (i)Mediciónsuma
14,94,9
25,110,0
35,015,0
45,220,2
54,825,0

Al terminar, suma = 25,0 y promedio = 25,0 / 5 = 5,0 V. La prueba de escritorio es lo que te permite descubrir errores antes de escribir una sola línea de código.

Errores frecuentes#

  • Ciclo sin fin. Olvidar el paso i = i + 1 dentro del ciclo: la condición nunca cambia y el programa no termina.
  • Acumulador sin iniciar. Si suma no empieza en 0, arrastra basura y el resultado sale mal.
  • Rombo con una sola salida, o con las dos sin rotular.
  • Pasos vagos como «arreglar la fuente». Un paso debe poder ejecutarse sin adivinar.
  • Usar el rectángulo para todo. Leer y mostrar datos van en paralelogramo, no en rectángulo.

Un hábito que te sirve en el taller y en la programación: antes de tocar el equipo o el teclado, escribe en papel los pasos y trázalos con un caso de prueba. Cinco minutos de papel evitan una hora de prueba y error.

Ponte a prueba#

¿Cuáles son las tres estructuras de la programación estructurada?#

Secuencia (pasos uno tras otro), selección o decisión (elegir un camino según una condición) y repetición o ciclo (repetir pasos mientras se cumpla una condición).

¿Qué símbolo usas para pedir al usuario el valor de una resistencia y cuál para calcular P = V² / R?#

Pedir el valor es una entrada: va en paralelogramo. El cálculo es un proceso: va en rectángulo.

Calcula con el algoritmo del LED la resistencia para Vcc = 9 V, Vf = 2 V e I = 20 mA.#

R = (9 − 2) / 0,020 = 7 / 0,020 = 350 Ω. No es valor de la serie E12; se toma 390 Ω, el valor normalizado de esa serie por arriba, y la corriente baja a 7 / 390 ≈ 18 mA.

En un ciclo mientras, la variable i empieza en 1, la condición es i ≤ 3 y dentro no se cambia i. ¿Qué pasa?#

La condición siempre se cumple, así que el ciclo no termina nunca. Falta una instrucción como i = i + 1 dentro del ciclo.

Diferencia el diseño descendente del ascendente con un ejemplo.#

El descendente parte del problema completo (un medidor de temperatura) y lo divide en partes (leer sensor, convertir, mostrar). El ascendente construye y prueba primero esas partes pequeñas y luego las une para formar el sistema.

Fuentes#

También en Electrónica