def inserir(self, chave, valor):
"""
Insere um novo par (chave, valor) na tabela.
Se a chave já existir, apenas atualiza o valor.
"""
posicao = self._procurar_posicao(chave, para_insercao=True)
if posicao is None:
raise OverflowError('Tabela hash cheia.')
entrada_atual = self.tabela[posicao]
if entrada_atual is None or entrada_atual is REMOVIDO:
self.tabela[posicao] = (chave, valor)
self.quantidade += 1
else:
self.tabela[posicao] = (chave, valor)