Quando você tem uma matriz de números em Perl, você pode usar a função de mapa para criar um hash que consiste em cada número único e sua contagem . Ao classificar o hash em ordem decrescente, o primeiro elemento é o modo. No entanto , uma vez que não pode haver mais de uma modalidade , você deve continuar a olhar para os elementos subsequentes no hash ordenado que têm o mesmo número como o primeiro elemento . Instruções
1
Inicie um editor de texto ou bloco de notas, e crie um novo script Perl . Por exemplo , digite o seguinte como a primeira linha no arquivo :
# /usr /bin /perl
2
Declare três variáveis - a matriz para o qual você deseja calcular a moda , um hash para armazenar a contagem de cada número exclusivo e um valor escalar de contagem do modo. Por exemplo, digite :
my @ array; meu número %; meu $ count ;
3
Adicionar números para a matriz e definir o modo de contagem de zero, o que não é um número válido por um modo . Por exemplo, digite :
@ array = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ); $ count = 0;
4
Criar um hash onde as chaves são números exclusivos na matriz e os valores são o número de ocorrências de cada chave , mapeando a matriz para um hash e incrementando o valor cada vez que uma tecla é adicionado o hash . Por exemplo, digite :
map { $ number { $ _ } + +} @ array ;
5
Classificar o hash em ordem decrescente com base no número de ocorrências , para que o chave com maior ocorrência , ou o modo , é o primeiro elemento . Loop através do hash ordenada para encontrar o modo. Por exemplo, digite :
for $ i (sort { $ number {$ b} < => $ number {$ a} } número chaves % ) {
6
imprimir o número de vezes que o modo aparece nos dados definida pela primeira vez por meio apenas o anel . Por exemplo, digite :
print " O modo aparece $ number {$ i} vezes no conjunto de dados \\ n ". Se $ count == 0 ;
7
Captura a contagem de modo a primeira vez que você passar através do laço , verificando se a contagem de modo é zero. Por exemplo, digite :
$ count = ( $ count == 0) ? $ number {$ i} : $ count;
8
Imprimir o valor do modo para cada modo no conjunto de dados se a contagem é o mesmo que a contagem modo. Por exemplo, digite :
print " modo é $ i \\ n" if $ número {$ i} == $ count ;}
9
Salve o script e atribuir um nome do arquivo , como " mode.pl. " Execute o script e verifique se o resultado está correto. Por exemplo, o roteiro das etapas anteriores produz o seguinte resultado:
O modo aparece 3 vezes no setmode dados são 3Mode é 7