Obligatorio 2 - Incoherencia de funciones.

Obligatorio 2 - Incoherencia de funciones.

de Juan Manuel Appoloni Alvarez -
Número de respuestas: 2

Hola, la descripción de la firma corregirError no describe de forma precisa como debe funcionar la misma cuando se producen dos errores. ¿Se debe mantener el mismo código que ingreso? ¿Se lanza un error? También, no queda claro como funciona decodificarByte, ya que, supongo que  utiliza corregirError en esta (porque utiliza zABit) y no zABit.  Pero, en  corregirError no hay forma de saber si se produjo un error doble. Por lo que, no le veo utilidad a esta firma,  puesto que requiere de una característica que carece y es más fácil implementar corregirError dentro de la decodificación. Gracias.

Firma de las funciones mencionadas

En respuesta a Juan Manuel Appoloni Alvarez

Re: Obligatorio 2 - Incoherencia de funciones.

de Camilo Joaquin Mariño Cabrera -

Hola Juan Manuel, no hay incoherencia entre las funciones. Respondo entre líneas:


  • “Hola, la descripción de la firma corregirError no describe de forma precisa como debe funcionar la misma cuando se producen dos errores. ¿Se debe mantener el mismo código que ingreso? ¿Se lanza un error?”

En corregirError dice que si no se puede corregir el error (es decir, error doble) retorne -1. En ese caso no importa que hagas con rcorregido, ya que no lo vas a usar porque no lo podés corregir.


  • “También, no queda claro como funciona decodificarByte, ya que, supongo que  utiliza corregirError en esta (porque utiliza zABit) y no zABit.”
decodificarByte utiliza corregirError mediante el código de retorno, no entendí lo último que decís.



  • “Pero, en  corregirError no hay forma de saber si se produjo un error doble. Por lo que, no le veo utilidad a esta firma,  puesto que requiere de una característica que carece y es más fácil implementar corregirError dentro de la decodificación.”
A partir de z podés saber si existió un error doble. Te sugiero que mires la sección 3.5.3 y 3.6.3 de la letra.


Saludos