March 11
Quando si dispone di una serie di numeri in Perl, è possibile utilizzare la funzione di mappa per creare un hash che consiste di ogni numero unico e il suo conteggio. Quando si ordina l'hash in ordine decrescente, il primo elemento è la modalità. Tuttavia, dal momento che non ci può essere più di una modalità, è necessario continuare a cercare gli elementi successivi nel hash ordinato che hanno lo stesso numero di come il primo elemento.
1 Avviare un editor di testo o Blocco note e creare un nuovo script Perl. Ad esempio, digitare quanto segue come la prima riga nel file:
! / usr / bin / perl
2 Dichiarare tre variabili - la matrice per il quale si desidera calcolare la modalità, un hash per memorizzare il conteggio di ogni numero univoco e un valore scalare di conteggio della modalità. Ad esempio, digitare:
il mio @array;
il mio numero;
il mio $ count;
3 Aggiungere numeri a matrice e impostare il conteggio modalità a zero, che non è un conteggio valida per una modalità. Ad esempio, digitare:
@array = (7,1,5,9,11,7,3,3,5,7,9,3,8);
$ Count = 0;
4 Creare un hash in cui le chiavi sono numeri unici nella matrice ed i valori sono il numero di occorrenze di ogni tasto mappando la matrice di un hash e incrementare il valore ogni volta che un tasto viene aggiunto l'hash. Ad esempio, digitare:
mappa {numero $ {$ _}} ++ @array;
5 Ordinare l'hash in ordine in base al numero di occorrenze decrescente in modo che la chiave con più occorrenze, o la modalità, è il primo elemento. Loop attraverso l'hash ordinato di trovare il modo. Ad esempio, digitare:
for $ i (in ordine {$ numero {$ b} <=> $ numero {$ a}} tasti numerici%) {
6 Stampa il numero di volte che la modalità appare nei dati impostati la prima volta attraverso solo il ciclo. Ad esempio, digitare:
stampa se count $ == 0 "La modalità appare $ numero {$ i} volte nel set di dati. \ n";
7 Cattura il conteggio della modalità la prima volta che si passa attraverso il ciclo verificando se il conteggio modalità è pari a zero. Ad esempio, digitare:
$ Count = ($ count == 0)? $ Numero {$ i}: $ count;
8 Stampa il valore del modo per ciascuna modalità nel set di dati se il conteggio è uguale al conteggio modalità. Ad esempio, digitare:
print "modalità è $ i \ n" se $ numero {$ i} == contare $;
}
9 Salvare lo script e assegnare un nome di file, come ad esempio "mode.pl." Eseguire lo script e verificare che il risultato è corretto. Per esempio, lo script nei passaggi precedenti produce il seguente risultato:
La modalità appare 3 volte nel set di dati
modalità è 3
modalità è 7