Curso Básico de Programación

Diagrama de Flujo del Cajero Automático

Curso Básico de Programación

Contenido del curso

0:0030:12

Recursos

Resumen

Un diagrama de flujo nos permite hacer una representación de los pasos que debe seguir nuestro algoritmo. En el siguiente ejemplo, vamos a crear un algoritmo para un cajero cajero automático.

Nuestro objetivo es entregar la menor cantidad de billetes posibles a partir de la cantidad que se solicite.

En este ejemplo, vamos a ver el código para resolver el problema:

class billete { constructor(v, c) { this.valor = v; this.cantidad = c; } } function entregarBillete() { var t = document.getElementById("dinero"); dinero = parseInt(t.value); entregado.length = 0; for(var bill of caja) { if (dinero > 0) { div = Math.floor(dinero / bill.valor); if (div > bill.cantidad) { papeles = bill.cantidad; } else { papeles = div; } entregado.push( new billete(bill.valor, papeles) ); dinero = dinero - (bill.valor * papeles); } } if (dinero > 0) { resultado.innerHTML = "No puedo darte esa cantidad"; } else { for(var e of entregado) { if(e.cantidad > 0) { resultado.innerHTML += e.cantidad + " billetes de $" + e.valor + "<br>"; } } } } function limpiarPantalla() { resultado.innerHTML = " "; } var caja = []; var entregado = []; caja.push(new billete(100, 5)); caja.push(new billete(50, 5)); caja.push(new billete(20, 10)); caja.push(new billete(10, 10)); caja.push(new billete(5, 10)); var dinero = 0; var div = 0; var papeles = 0; var resultado = document.getElementById("resultado"); var b = document.getElementById("extraer"); b.addEventListener("click", entregarBillete); var l = document.getElementById("limpiar"); l.addEventListener("click", limpiarPantalla);

Recuerda:

  • Intenta probar tu algoritmo para varios escenarios posibles.
  • No existe una forma única de resolver un problema en programación.

Contribución creada por: Juan Pérez López, Brayan Mamani, Danny Richarson.

Diagrama de Flujo del Cajero Automático

Curso Básico de Programación

Clase 22 de 37

Clase 22 / 37