Una compañia fabrica focos de colores (verdes blancos y rojos). Se desea contabilizar, de un lote de N focos, el número de focos de cada color que hay en existencia. Desarrolle un algoritmo para determinar esto y represéntelo mediante el diagrama de flujo, el pseudocódigo y el diagrama N/S, utilizando el ciclo apropiado.
Como ya es costumbre en este Blog, vamos a explicar el funcionamiento de este algoritmo, entonces lo primero que hacemos es ponerle un nombre, en mi caso le puse Algoritmo detarea.
Algoritmo detarea
Con la palabra reservada Definir declaramos las variables: n, color, verde, blanco y rojo, estas variables las declaramos como de tipo entero, ya que únicamente trabajamos con este tipo de datos.
Definir n, color, verde, blanco, rojo Como Entero
Con la función escribir pedimos que se ingrese la cantidad de focos.
Escribir «Ingresa la cantidad de focos»
Este número lo ingresamos con la función leer en la variable n.
leer n
Inicializamos con el número cero las siguientes variables.
verde = 0
blanco = 0
rojo = 0
Utilizamos un ciclo mientras, que se repetirá mientras la variable n sea mayor a cero.
Mientras n > 0 Hacer
Con la función escribir hacemos un menú, donde le indicamos al usuario que seleccione un color de tres colores disponibles.
Escribir «Selecciona un color»
Escribir «1 = verde»
Escribir «2 = blanco»
Escribir «3 = rojo»
Este número que será ingresado por el usuario, lo guardamos con la función leer en la variable color.
leer color
Después evaluamos si el número ingresado en la variable color es mayor o igual a 1 y al mismo tiempo es menor o igual a 3.
si color >= 1 y color <= 3 Entonces
Cuando las condiciones anteriores se cumplan, entonces evaluamos si el número ingresado en la variable color es igual a 1.
si color == 1 Entonces
Si esta condición se cumple, entonces incrementamos la variable verde en 1, es decir le sumamos 1, con este proceso vamos contando todos los focos de color verde.
verde = verde + 1
SiNo
Cuando la condición anterior no se cumpla, es decir si el numero ingresado en la variable color no es igual a 1, entonces evaluamos si color es igual a 2.
si color == 2 Entonces
Si esta condición se cumple, entonces incrementamos la variable blanco en 1, es decir le sumamos 1, este proceso lo hacemos para contar los focos blancos.
blanco = blanco + 1
SiNo
Si la condición anterior no se cumple, es decir si el número ingresado en la variable color no es igual a 2, entonces significa que el color del foco es rojo.
Por lo tanto incrementamos la variable rojo en 1, es decir le sumamos 1, este proceso lo hacemos para ir contando todos los focos blancos.
rojo = rojo + 1
FinSi
FinSi
La variable n la decrementamos de 1 en 1, es decir en cada bucle le vamos restando 1, esto lo hacemos para que el ciclo se repita hasta que la variable n sea igual a 0
n = n – 1
SiNo
Cuando se ingrese un número que no sea entre el rango de 1 a 3, entonces mostramos un mensaje indicando que se ingrese un color correcto, ya que únicamente existen tres colores.
Escribir «Ingresa un color correcto»
FinSi
FinMientras
Finalmente fuera del ciclo mientras mostramos el total de cada color de focos.
Escribir «El total de focos verdes es: «,verde
Escribir «El total de focos blancos es: «,blanco
Escribir «EL total de focos rojos es: «,rojo
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
Bien amigos esta es la solución de este algoritmo, les comparto el código, espero les guste y más que nada que les pueda ser de utilidad, un saludo y nos vemos en la próxima entrega.