divendres, de juliol 24, 2009

SysAdmin Day 2009

Ja tenim lloc per a una de les cel·lebracions del SysAdmin Day:

Bar la Plaça de Verges, a la Plaça Major a partir de les 17h.

L'IT Crowd Empordà farà la trobada mensual aquest jorn coincidint amb la Diada d'Apreciació a l'Administrador de Sistemes.

Es farà una mena d'amic invisible anomenat l'Informàtic Invisible:

És molt similar a l'amic invisible, però amb unes variacions (gràcies Cristina) que fa que no ens haguem de preocupar si tothom hi participa finalment. Com a la taula d'en Bernat, qui no hi és no hi és comptat.

Qui dugui un giny mínimament tecnològic i baratet el posa damunt la taula.

Es sortegen tants números ordinals com persones hi participen.

Qui te el número 1 tria el giny que vulgui de la taula.

Qui te el número 2 tria el giny que vulgui de la taula i el pot canviar amb un dels triats anteriorment, quedant-se l'altre persona l'altre.

Així fins al final de les persones que hi participen.

Afegirem un factor de correcció per tal de que la persona amb el número 1, al final de tot el procés, pugui bescanviar el giny que te amb qualsevol de les persones int(n/2) - 1, és a dir si som 11 persones, podrà canviar-ho fins al que tenia el número 4.

Per a entendre'ns:


/**
* Inicialitzem la taula.
*/
$taula = Array();

/**
* Coloquem tots els ginys a la taula.
*/
putGinysTaula();

/**
* ens guardem quantes persones participen
*/
$num = count($taula);

/**
* Assignem al·leatòriament un número a cada persona.
*/
sorteigNumeros($num);

/**
* Passem persona per persona per a triar i bescanviar giny.
*/
for ($persona = 1; $persona <= $num; $persona ++)
{
/**
* Tria un giny de la taula
*/
triarGinyTaula();

/**
* Bescanviar amb algun dels anteriors si s'escau.
*/
if (volCanviar($persona))
{
bescanviarGiny($persona, $persona - 1);
}
}

/**
* Fem que la primera persona pugui bescanviar amb la
* primera meitat de les persones que han triat
*/
$persona = 1;
bescanviarGiny($persona, intval($num / 2) - 1);