La subroutine seguente genera gli incontri tra le squadre mediante un semplice algoritmo.
I nomi delle 16 squadre vengono acquisiti in un array. Si genera quindi un numero casuale compreso tra 1 e 16.
Il numero estratto rappresenta l'indice della squadra nell'array.
Nell'array si scambia la squadra estratta con la squadra che occupa la posizione numero 16.
Si ripete il procedimento. Ma questa volta si genera un numero a caso compreso tra 1 e 15
La squadra estratta viene scambiata con la squadra che occupa la posizione 15. Le due squadre estratte formano il primo incontro.
Nel Visual Basic Editor scrivere una routine denominata
Incontri:

Dichiarare una variabile
I di tipo Intero e un array
Nomi di 16 elementi di tipo Stringa di caratteri.
Tramite un ciclo leggere i nomi delle squadre dalle celle del foglio Finaliste e copiarli negli elementi dell'array
Nomi

Si noti che l'indice dell'array
Nomi varia da 1 a 16, mentre l'indice dell'intervallo da leggere nel foglio Finaliste varia da 2 a 17.
Prima di procedere con l'estrazione degli indici casuali, si prepara una variabile (denominata
Riga) che indica di volta in volta
il numero di riga in cui scrivere le squadre di ciascun incontro.
Per meglio comprendere il procedimento di generazione degli incontri si osservi la figura 3.
I nomi delle squadre sono scritti in celle separate di due righe adiacenti.
Tra un incontro e l'altro c'è una riga di separazione.
Per ottenere le squadre del primo incontro:
- si genera un numero casuale compreso tra 1 e 16
- si scrive il nome della squadra estratta nella cella del foglio Ottavi il cui numero di riga è contenuto nella variabile Riga
- La squadra estratta viene sostituita dall'ultima (equivale a cancellare la squadra estratta)
- si genera un altro numero casuale compreso tra 1 e 15,
- si scrive il nome della squadra estratta nella cella il cui numero di riga è contenuto nella variabile Riga+1
- La squadra estratta viene sostituita dalla penultima
- Si lascia una riga di separazione
Per ottenere le squadre del secondo incontro si genera una coppia di numeri casuali, il primo compreso tra 1 e 14 il secondo compreso tra 1 e 13,
Per generare queste coppie di numeri, si prepara un ciclo
For la cui variabile di controllo varia da 16 a 1 con decremento di 2, cioè ad ogni ciclo fissa
l'estremo superiore dell'intervallo di generazione dei numeri casuali: 16, 14, 12, 10, ecc..
Il procedimento descritto è riepilogato nella subroutine seguente: