Correccion y optimizacion

Se eliminaron algunos errores de logica, y se optimizaron las cuentas
para determinar los subindices iniciales y finales, ya que antes siempre
iba por el else ya que, por ejemplo:
la cuenta abs(di-TAM-1) no estaba bien expresada, la forma correcta era
abs(di-(TAM-1))