De compras en el mercado de víveres, se puede consultar en precio en varios puestos y decidir dónde comprar al final de un recorrido. Si el único factor a considerar es el precio, desde luego que compraremos en el local mas barato.
Se obtiene la lista de precios por vendedor de 1 Kg de manzanas y se requiere determinar el local con el precio más barato y en qué posición se encuentra. Considere usar el índice local empezando en cero
local | 0 | 1 | 2 | 3 |
precio | 2.25 | 3.00 | 2.10 | 2.50 |
precio = [2.25,3,2.10,2.50]
Al inicio y sin mas datos, se supone que el mejor precio lo ofrece el primer vendedor. Siendo el tamaño del vector n=4
n = len(precio)
donde = 0
Sin embargo la decisión se debe tomar considerando los demás locales, por lo que se compara su precio con los demás. La comparación empieza con el siguiente en la lista.
local = donde + 1 while local<n: if (precio[local]<precio[donde]): donde = local local = local + 1
¿Cuánto? es el precio menor, se obtiene al revisar el valor del vector en la posición de ¿donde?
cuanto = precio[donde]
Tarea: Algoritmo del mayor. ¿Qué pasaría si alguien nos pregunta dónde lo venden más caro? Analice los cambios en el algoritmo.
Algoritmo en Python
# algoritmo del menor # INGRESO: precio = [2.25,3,2.10,2.50] # PROCEDIMIENTO n = len(precio) donde = 0 local = donde + 1 while local<n: if (precio[local]<precio[donde]): donde = local local = local + 1 cuanto = precio[donde] # SALIDA print('El menor precio:') print('donde:',donde) print('cuanto:',cuanto)
Función en Python
El bloque de procedimiento se convierte a una función denominada menor, con variable de entrada vector y variable de salida donde.
# algoritmo del menor def menor_donde(vector): n = len(vector) donde = 0 i = donde + 1 while i<n: if (vector[i]<vector[donde]): donde = i i = i + 1 return(donde) # INGRESO: precio = [2.25,3,2.10,2.50] # PROCEDIMIENTO donde = menor_donde(precio) cuanto = precio[donde] # SALIDA print('El menor precio:') print('donde:',donde) print('cuanto:',cuanto)
Ejercicios de mayor y menor
1Eva_IT2003_T4 Lado mayor de un polígono
1Eva_IIT2008_T3 Tiempos de recorrido en metrovia
1Eva_IT2007_T3 Elección de diputados provinciales