5.1. Resolviendo problemas
En el algoritmo anterior, el usuario tendrá el poder de introducir tanto la base como la altura que desee cada vez que ejecute el programa.
¿Qué pasaría si teclea una base negativa?, en teoría, un rectángulo con base negativa no existe, ¿crees que el programa se pararía al introducir la base negativa o continuaría hasta el final? Y si continuase hasta el final, ¿qué resultado mostraría como área?.
En nuestro caso, la respuesta es simple, el programa no se detendría y al final mostraría un valor para el área que sería negativo, lo cual es incongruente pues no existen los rectángulos con áreas negativas. Igual ocurriría con una base igual a cero.
¿Se te ocurre cómo solucionar el problema?... Efectivamente, la respuesta la tienes en los puntos de decisión (el símbolo del rombo). Si de modificara ligeramente el diagrama utilizando para ello un punto de decisión (un rombo) justo después de que el usuario teclease el valor para la base, se podría cambiar el flujo del programa en dos sentidos dependiendo del valor de la base.
¿Cómo se haría exactamente? Escribiendo en el interior del rombo una expresión en la que se pregunte si la base es mayor que cero o no. Si la base no fuese mayor que cero el flujo del programa debería volver hacia atrás, justo hasta donde se vuelve a pedir al usuario la base del rectángulo. Si la base es mayor que cero el programa debería continuar su marcha de forma normal pidiendo la altura.

Comprueba la respuesta
Aquí tienes la solución al pequeño ejercicio propuesto.
Análogamente, el problema se repetiría con la altura, no existen rectángulos con alturas negativas o con valor cero, pero eso ya no supone un problema importante para tí, ya que conoces la forma de solucionarlo...
¿Lo intentas tú mismo? ¡Ánimo!