[2021][Simulacro][Problema 2] Posible Solución

[2021][Simulacro][Problema 2] Posible Solución

de Alexis Alfonso -
Número de respuestas: 0

Buenas, dado que este ejercicio no lo pude hacer dentro de los 30 min y me quedó

una solución que me dejó bastante duda, la comparto para compararla con algún otro.


void main( ) {

  char dato_inicio;

   char dato_actual;

   char entrada;

   char salida;

  int contador = 0;

  boolean fin_paquete;

  while (true) {

    fin_paquete = false;

    while (! fin_paquete) {

        if (contador == 0) {

          entrada = IN(entrada_bits)

          if (entrada & 0x02) {

            dato_inicio = entrada & 0x01;

            contador++;
          }

        }
        entrada = IN(entrada_bits);

        if (entrada & 0x02) {

            dato_actual = entrada & 0x01;

            if (dato_actual == dato_inicio) {

              contador++;

           } else {

              fin_paquete = true;

          }

       }

    } // end while

    if (dato_inicio & 0x01) { // paquete de 1s

      salida = contador | 0x0080

    } else { // paquete de 0s

      salida = contador & 0xFFEF

   }

   OUT(salida_rle, salida);

   dato_inicio = dato_actual;

   contador = 1;

}