Ejercicio: 1Eva_IIT2002_T2 Color de placas de vehículos
Propuesta de solución con diagrama de flujo y Python: py_pdf .
Otra versión con matlab: matlab en pdf
Para el ejercicio se requiere el uso de vectores para almacenar cada placa y procesar los datos en el bloque de procedimiento.
Como todos los datos de entrada se han simplificado a la parte numérica de la placa, se usarán arreglos, aprovechando para practicar con numpy.
En el procedimiento se extrae una placa de un auto para obtener el dígito de las unidades. Con el dígito se puede usar condicionales para indicar cuál es el color que le corresponde y contar la placa de cada color asignado.
dígito | COLOR | ¿Cuántos? |
---|---|---|
1, 2 | amarillo (código 1) | … |
3, 4 | café (código 2) | … |
5, 6 | rojo (código 3) | … |
7, 8 | azul (código 4) | … |
9, 0 | verde (código 5) | … |
Se continúa con el siguiente auto hasta completar todos los autos registrados en el arreglo.
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IIT2002_T2 Color de placas de vehículos # propuesta: edelros@espol.edu.ec import numpy # INGRESO n = int(input('cuántos autos: ')) placa = numpy.zeros(n+1,dtype=int) auto = 1 while not(auto>n): print('placa[',auto,']: ') placa[auto] = int(input(' : ')) auto = auto+1 # PROCEDIMIENTO # contadores por color color = numpy.zeros(5+1,dtype=int) # analiza cada auto auto = 1 while not(auto>n): digito = placa[auto]%10 if (digito==1 or digito==2): color[1] = color[1]+1 if (digito==3 or digito==4): color[2] = color[2]+1 if (digito==5 or digito==6): color[3] = color[3]+1 if (digito==7 or digito==8): color[4] = color[4]+1 if (digito==9 or digito==0): color[5] = color[5]+1 auto = auto+1 # SALIDA print('Autos por cada color:') k = 1 while not(k>5): print('Color tipo ',k,'= ',color[k]) k = k+1
Podría intentar realizar el ejercicio con listas, para comparar como se aplican los conceptos.
Tarea: validar que el número de vehículos sea positivo mayor que 0, validar que sean solo tres dígitos en cada placa.
Diagrama de Flujo