Pense em um hash como uma matriz cujos índices (chamados de "chaves") não estão limitados a serem inteiros. Nesse problema, as chaves seriam naturalmente as palavras processadas pelo script e os valores de hash seriam o número de ocorrências de cada chave. Assim, toda vez que você encontrar uma palavra, use essa como a chave de hash, incrementando o valor de hash em um.
Para imprimir o resultado em ordem alfabética, você deve construir uma matriz ordenada de todas as chaves de hash e fazer um loop (se foreach
ou for
depende do gosto), imprimindo cada chave de hash e o hash correspondente valor.
Como é um exercício, você precisa descobrir como expressar isso em código.