Appunti del 08-03-2023⚓︎
esercizio⚓︎
relazzare pseudocodice di una funzione che riceve in input una matrice (contiene solo 0, 1, 2)
n righe m colonne
righe giornate e colonne le squadre
dove G è giornata e S è squadra.
individuare capolista per ogni giornata
non conviene usare delle lettere per le giornate ma un numero, così diventa:
come prima idea di soluzione ci si limita a scandire riga per riga (GxG). per ogni giornata devo calcolare punteggio di ogni squadra fino alla G esaminata
Trovare iìvalore massimo dei punteggi calcolati.
La base dell'algoritmo è la seguente:
| Text Only | |
|---|---|
il vv LeCapolista che conterrà le squadre in testa è un array a 1dim di int >
0.
si potrebbe
| Text Only | |
|---|---|
magari un nome migliore di A. A è un array coi punteggi già sommati per ogni squadra
riscriviamo l'alg meglio
Algoritmo generale⚓︎
INPUT:
risultati- contiene i risultati di ogni squadra (sulle colonne) di tutte le giornate (righe) del campionato. I ris sono i valori 0, 1, 2. Array a 2dim di interi nell'intervallo \([0,\, 2]\).
NumSquadre- numero di squadre che partecipano al campionato, intero maggiore di zero
NumGiornate- numero di giornate disputate, intero maggiore di 0
OUTPUT:
LeCapolista- contiene il nome delle squadre capolista di ogni giornata del campionato.
Array a una dimensione di interi, 0 <
LeCapolista≤NumSquadre. Ha dim pari aNumGiornate.
LAVORO:
g- giornata
ALGORITMO:
| Text Only | |
|---|---|
TrovareMassimo⚓︎
INPUT:
Classifica- punteggio di tutte le squadre, array a 1dimm di interi maggiori o uguali a zero.
Dimensione- numero di squadre che partecipano al campionato, intero maggiore di 1
OUTPUT:
Capolista- la squadra in testa al campionato, intero, 0 <
Capolista<=NumSquadre.
LAVORO:
i- contatore
ALGORITMO:
| Text Only | |
|---|---|
In questo caso se la prima squadra questo è inutile. Aggiungendo Capolista := 1, si ovvia a questo errore.
un appunto stilistico è che la funzione è generale, al posto di Classifica
sarebbe meglio avere InsiemeDiNumeri ad esempio. L'algoritmo è troppo legato
a quello delle squadre, conviene slegarli. È solo una questione di leggibilità
etc.
CalcolareClassificaGiornata⚓︎
INPUT:
Risultati- come già detto precedentemente.
NumGiornate- come sopra.
NumGiornate- come sopra.
Giornata- giornata in cui calcolare la classifica, intero,
0 <
Giornata<=NumGiornate.
OUTPUT:
ClassificaGiornata- contiene i punteggi delle squadre fino alla giornata
Giornata. Array a 1dim di interi maggiori o uguali a zero. sarà di dimNumSquadre(non ci serve per l'output).
LAVORO:
boh
ALGORITMO:
| Text Only | |
|---|---|
SommarePunti⚓︎
INPUT:
Risultati- già data
Squadra- squadra di cui si vuole calcolare il punteggio, intero
0 <
Squadra<=NumSquadre. Giornata- già data
OUTPUT:
Punti- punti ottenuti da sommare fino alla giornata
Giornata, intero meggiore o uguale a zero, minore o uguale di2 * Giornata.
ALGORITMO:
| Text Only | |
|---|---|
Test su Valori Limite
test per classi di equivalenza.
VALIDI \(]0,\, \text{NumGiornate}]\)
NON VALIDI \(]-\infty,\, 0]\), \(]\text{NumGiornate},\, +\infty[\).