17 mayo, 2011 en Otros
Este es el algoritmo que la Dirección General de Política Energética y Minas del Ministerio de Industria, Turismo y Comercio de España utiliza diariamente para encontrar el máximo de la cotización del petróleo y así cambiar automáticamente las escalas del gráfico que la muestra, sin que, por más que suba (y mira que sube, caramba) queden cotizaciones fuera de la escala:
For num_escala = 1 To NUM_ESCALAS_GRAFICOS
limite(num_escala).max_escala = CDbl(Cells(2,limite(num_escala).columna_datos(1)))
Next num_escala
fila = 1
Do
fila = fila + 1
If Trim(CStr(Cells(fila, 1))) "MEDIA" Then
For num_escala = 1 To NUM_ESCALAS_GRAFICOS
For num_columna_datos_de_esta_escala = 1 To limite(num_escala).num_columnas
If limite(num_escala).max_escala < Cells(fila, limite(num_escala).columna_datos(num_columna_datos_de_esta_escala))
Then
limite(num_escala).max_escala = CDbl(Cells(fila,
limite(num_escala).columna_datos(num_columna_datos_de_esta_escala)))
End If
Next num_columna_datos_de_esta_escala
Next num_escala
End If
Loop Until Len(CStr(Cells(fila, 1))) < 4
Aunque parezca lo contrario, su funcionamiento es muy sencillo: se toma inicialmente como máximo el primer valor. Después se van recorriendo todos los demás valores, y si alguno es mayor que el tomado hasta ese momento como máximo, se toma como nuevo máximo. Hay incluso una fórmula de Excel (MAX) que realiza la misma tarea.
Pues bien, este blog pretende ser un maximizador de soluciones: para cada problema propondrá un conjunto inicial de soluciones. Los lectores valorarán esas soluciones y, si las tienen mejores, las propondrán. De esta forma en pocos pasos quedará aquí reflejada la solución óptima para cada problema.
cerrados