Estructuras algebraicas en teoría de códigos