domingo, 19 de marzo de 2017

XI Olimpiada Informática UCLM: HOJA DE CÁLCULO

La hoja de cálculo de esta prueba se basa en el tema general del módulo de ofimática, la Copa Mundial de la FIFA, y, más concretamente, el Mundial de Brasil 2014. Consiste, a rasgos generales, en una simulación de los resultados de los partidos de dicho mundial.

Las condiciones que pusieron en la prueba son las siguientes:
  1. Los resultados de los encuentros que tienen lugar tanto en la fase de grupos como en posteriores fases (octavos de final, cuartos de final…) se generarán de manera aleatoria, teniendo en cuenta que el mínimo número de goles que suele anotar un equipo en un partido es 0 y el máximo es considerado en este caso concreto como 5.
  2. La clasificación de los equipos en la fase de grupos se calculará de la siguiente forma:
    • Los puntos se calculan teniendo en cuenta que:
      • Cada partido ganado suma 3 puntos
      • Cada partido empatado suma 1 punto
      • Cada partido perdido no suma ningún punto
    • Los partidos ganados (PG), partidos empatados (PE) y partidos perdidos (PP) se calculan a partir de los resultados de la fase de grupos para cada equipo.
    • Los goles a favor (GF) se calculan como la suma de los goles que ha marcado un equipo a lo largo de la fase de grupos.
    • Los goles en contra (GC) se calculan como la suma de los goles que ha recibido un equipo a lo largo de la fase de grupos.
    • El gol average (GA) se calcula como la diferencia entre los goles a favor y los goles en contra de un equipo. Finalmente, los equipos se ordenarán en la clasificación de acuerdo al número de puntos, y en caso de empate, de acuerdo al gol average.
  3. En la fase de grupos, en caso de empate, cada uno de los contendientes recibe un punto. Sin embargo, una vez terminada la fase de grupos, el empate ha de deshacerse de alguna forma para determinar el equipo que pasará a la siguiente ronda. Para deshacer el empate, este año se ha decidido no jugar prórroga ni penaltis, para evitar calambres y otras lesiones en los jugadores que después de los noventa minutos llegan extenuados al final del partido, de manera que el comité de la FIFA ha acordado lo siguiente: cuando se produzca un empate una vez finalizada la fase de grupos, se lanzará una moneda al aire, de manera que si sale cara, pasará a la siguiente ronda el equipo que hace de local, mientras que si sale cruz, pasará a la siguiente ronda el equipo que hace de visitante.
  4. Una posible manera de automatizar el funcionamiento del simulador de la Copa Mundial de la FIFA de 2014 (cuya valoración supondrá hasta 7,5 puntos de los 50 del apartado de hoja de cálculo), consiste en crear dos botones utilizando macros que tendrán las siguientes funcionalidades:
    • Limpiar: Al accionar este botón se borrarán todos los resultados calculados, de manera que la hoja de cálculo quedará tal y como se muestra en la figura.
    • Simular: Al accionar este botón se calcularán los resultados del mundial: fase de grupos, clasificaciones y fase final.

Manual de la hoja de cálculo


En primer lugar, lo que nos encontramos al abrir la hoja de cálculo adjunta a este trabajo es una portada, una hoja con los resultados de la fase de grupos y de la fase final, una hoja donde figuran todos los grupos ordenados y dos hojas auxiliares donde se realizan la mayoría de cálculos.

La portada contiene dos botones, Limpiar y Simular.

El botón Simular activará el macro asociado, que generará datos aleatorios de puntuaciones y posiciones de los equipos, y tras realizar una simulación de la competición, mostrará en la portada el equipo ganador. Para realizar este proceso, la macro pone un ‘1’ en la celda A1 de la hoja auxiliar ‘AUX_GRUPOS’, para generar todos los resultados de la fase de grupos y de la fase final y, así, que la hoja pueda calcular los distintos apartados de cada equipo en la fase de grupos, puesto que en cada fórmula de la hoja de cálculo hay un condicional para que si AUXGRUPOS.$A$1=”1”, entonces se hagan todos los cálculos y operaciones.


Seguidamente, la macro ordena cada grupo, teniendo como primer criterio la puntuación de cada equipo y, como segundo criterio, el Goal Average (GA).
Utilizando el botón de Limpiar, el macro configurado en la hoja de cálculo borrará los datos de puntuaciones y torneos asignados a los grupos y los equipos de la competición. Esto se realiza al poner un ‘0’ en la celda A1 de la hoja auxiliar ‘AUX_GRUPOS’.

Es recomendable utilizar la función de Limpiar cada vez que se vaya a realizar una nueva simulación, ya que así se evitan posibles errores o repeticiones en el torneo.

NOTA: para poder ejecutar macros, hay que activarlos: (Herramientas > Opciones > Seguridad > Seguridad de macros > Medio; reiniciar LibreOffice y darle a "Activar macros”).

En la hoja ‘RESULTADOS_GRUPOS’ se encuentran todos los resultados, tanto de la fase de grupos como de la fase final, que se calculan de forma aleatoria (el número mínimo de goles es 0 y el máximo 5). Ahora bien, si en la fase final hay algún empate, como la organización ha decidido que no se jugará prórroga ni penaltis, se lanzará una moneda: si sale cara, el equipo local pasará a la siguiente fase; si sale cruz, lo hará el equipo visitante. Este proceso se realiza en la hoja auxiliar ‘AUX_FASES’.

El procedimiento es sencillo. En primer lugar, hay una serie de celdas que comprueban si hay empate en el partido y, mediante un simple condicional, muestran un ‘SI’ si lo hay y un ‘NO’ si no lo hay. Si no hay un empate, pasa el equipo que haya ganado al otro. Sin embargo, si hay empate, en una celda se calculará un número aleatorio (0 o 1), de modo que si sale ‘0’ entonces la celda indica ‘CRUZ’ y si sale un ‘1’ indica ‘CARA’. De este modo, la hoja calcula quién pasa según la moneda.



Si la celda anterior indica que ha habido un empate (‘SI’), entonces procede a calcular aleatoriamente un 0 o un 1 para saber si es cara o cruz.

Haz click en la imagen para verla más grande

En esta última imagen, si no existe empate, la fórmula comprueba qué celda del resultado es mayor que la otra para determinar quién pasa. Si hay un empate, entonces comprueba si la moneda ha salido CARA o CRUZ, para determinar si pasa el local o el visitante.

En cuanto a los grupos, el procedimiento para calcular los datos se realiza en la hoja ‘AUX_GRUPOS’:
  • Puntos: suma los partidos ganados multiplicados por tres más los empatados multiplicados por 1 (no se suman los perdidos, puesto que cuentan 0 puntos).
  • PG, PE, PP: si, en cada partido, la celda del resultado del equipo en cuestión es mayor que la del equipo contrincante, entonces el partido se ha ganado y, por lo tanto, el condicional muestra un ‘1’ (si no se ha ganado muestra un ‘0’). Así, se puede hacer la suma de los partidos ganados mediante la suma de términos que vienen determinados por varios condicionales. En los PE y PP se hace lo mismo, pero cambiando la condición (= y <, respectivamente).
    Haz click en la imagen para verla más grande
  • GF, GC: consiste en una sencilla suma de los goles a favor o en contra de los partidos disputados por cada equipo.
  • GA: se restan los GF y los GC.

No hay comentarios:

Publicar un comentario